Commit | Line | Data |
---|---|---|
4c29be99 FF |
1 | TERMUX_PKG_HOMEPAGE=https://www.postgresql.org |
2 | TERMUX_PKG_DESCRIPTION="Object-relational SQL database" | |
f8cb5237 | 3 | TERMUX_PKG_MAINTAINER='Vishal Biswas @vishalbiswas' |
295241d4 | 4 | TERMUX_PKG_VERSION=9.6.3 |
f8cb5237 | 5 | TERMUX_PKG_SRCURL=https://ftp.postgresql.org/pub/source/v$TERMUX_PKG_VERSION/postgresql-$TERMUX_PKG_VERSION.tar.bz2 |
295241d4 | 6 | TERMUX_PKG_SHA256=1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6 |
349fd91f | 7 | TERMUX_PKG_DEPENDS="openssl, libcrypt, readline, libandroid-shmem" |
2eecb49a FF |
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. | |
b69a8220 FF |
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. | |
a9508389 | 16 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" |
2eecb49a | 17 | pgac_cv_prog_cc_ldflags__Wl___as_needed=yes |
a9508389 FF |
18 | USE_UNNAMED_POSIX_SEMAPHORES=1 |
19 | --with-openssl | |
b69a8220 | 20 | ZIC=$TERMUX_PKG_HOSTBUILD_DIR/src/timezone/zic |
a9508389 | 21 | " |
f8cb5237 | 22 | TERMUX_PKG_EXTRA_MAKE_ARGS=" -s" |
2eecb49a | 23 | TERMUX_PKG_RM_AFTER_INSTALL="lib/libecpg* bin/ecpg share/man/man1/ecpg.1" |
b69a8220 FF |
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. | |
acecb62b | 29 | $TERMUX_PKG_SRCDIR/configure --without-readline |
b69a8220 FF |
30 | make ./src/timezone/zic |
31 | } | |
40868b30 FF |
32 | |
33 | termux_step_post_make_install() { | |
2eecb49a FF |
34 | # Man pages are not installed by default: |
35 | make -C doc/src/sgml install-man | |
36 | ||
37 | # Sync with postgresql-contrib.subpackage.sh: | |
14c2d7e4 FF |
38 | for contrib in \ |
39 | hstore \ | |
40 | pageinspect \ | |
41 | pgcrypto \ | |
42 | pgrowlocks \ | |
43 | pg_freespacemap \ | |
44 | pg_stat_statements\ | |
45 | ; do | |
40868b30 FF |
46 | (cd contrib/$contrib && make -s -j $TERMUX_MAKE_PROCESSES install) |
47 | done | |
48 | } | |
53530ad8 FF |
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 | } |