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