erlang: Update from 20.3.2 to 20.3.4
[termux-packages] / packages / postgresql / build.sh
CommitLineData
4c29be99
FF
1TERMUX_PKG_HOMEPAGE=https://www.postgresql.org
2TERMUX_PKG_DESCRIPTION="Object-relational SQL database"
f8cb5237 3TERMUX_PKG_MAINTAINER='Vishal Biswas @vishalbiswas'
9e7e5c2b 4TERMUX_PKG_VERSION=10.3
ad809ea7 5TERMUX_PKG_REVISION=2
9e7e5c2b 6TERMUX_PKG_SHA256=6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a
f8cb5237 7TERMUX_PKG_SRCURL=https://ftp.postgresql.org/pub/source/v$TERMUX_PKG_VERSION/postgresql-$TERMUX_PKG_VERSION.tar.bz2
349fd91f 8TERMUX_PKG_DEPENDS="openssl, libcrypt, readline, libandroid-shmem"
2eecb49a
FF
9# - pgac_cv_prog_cc_ldflags__Wl___as_needed: Inform that the linker supports as-needed. It's
10# not stricly necessary but avoids unnecessary linking of binaries.
11# - USE_UNNAMED_POSIX_SEMAPHORES: Avoid using System V semaphores which are disabled on Android.
b69a8220
FF
12# - ZIC=...: The zic tool is used to build the time zone database bundled with postgresql.
13# We specify a binary built in termux_step_host_build which has been patched to use symlinks
14# over hard links (which are not supported as of Android 6.0+).
15# There exists a --with-system-tzdata configure flag, but that does not work here as Android
16# uses a custom combined tzdata file.
a9508389 17TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
2eecb49a 18pgac_cv_prog_cc_ldflags__Wl___as_needed=yes
a9508389
FF
19USE_UNNAMED_POSIX_SEMAPHORES=1
20--with-openssl
b69a8220 21ZIC=$TERMUX_PKG_HOSTBUILD_DIR/src/timezone/zic
a9508389 22"
f8cb5237 23TERMUX_PKG_EXTRA_MAKE_ARGS=" -s"
2eecb49a 24TERMUX_PKG_RM_AFTER_INSTALL="lib/libecpg* bin/ecpg share/man/man1/ecpg.1"
b69a8220 25TERMUX_PKG_HOSTBUILD=yes
ad809ea7 26TERMUX_PKG_BREAKS="postgresql-contrib (<= 10.3-1)"
27TERMUX_PKG_REPLACES="postgresql-contrib (<= 10.3-1)"
b69a8220
FF
28
29termux_step_host_build() {
30 # Build a native zic binary which we have patched to
31 # use symlinks instead of hard links.
acecb62b 32 $TERMUX_PKG_SRCDIR/configure --without-readline
b69a8220
FF
33 make ./src/timezone/zic
34}
40868b30
FF
35
36termux_step_post_make_install() {
2eecb49a
FF
37 # Man pages are not installed by default:
38 make -C doc/src/sgml install-man
39
14c2d7e4
FF
40 for contrib in \
41 hstore \
42 pageinspect \
43 pgcrypto \
44 pgrowlocks \
45 pg_freespacemap \
46 pg_stat_statements\
81da923c 47 fuzzystrmatch \
14c2d7e4 48 ; do
40868b30
FF
49 (cd contrib/$contrib && make -s -j $TERMUX_MAKE_PROCESSES install)
50 done
51}
53530ad8
FF
52
53termux_step_post_massage() {
54 # Remove bin/pg_config so e.g. php doesn't try to use it, which won't
55 # work as it's a cross-compiled binary:
56 rm $TERMUX_PREFIX/bin/pg_config
57}