| 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.3 |
| 5 | TERMUX_PKG_SHA256=6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a |
| 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 | } |