2016-12-10 03:16:20 +01:00
|
|
|
TERMUX_PKG_HOMEPAGE=https://php.net
|
2015-11-10 23:39:00 +01:00
|
|
|
TERMUX_PKG_DESCRIPTION="Server-side, HTML-embedded scripting language"
|
2021-05-03 14:14:37 +02:00
|
|
|
TERMUX_PKG_LICENSE="PHP-3.01"
|
2021-05-04 15:53:50 +02:00
|
|
|
TERMUX_PKG_LICENSE_FILE=LICENSE
|
2020-12-20 14:16:34 +01:00
|
|
|
TERMUX_PKG_MAINTAINER="@termux"
|
2021-11-26 07:57:52 +01:00
|
|
|
TERMUX_PKG_VERSION=8.1.0
|
2021-11-26 13:57:22 +01:00
|
|
|
TERMUX_PKG_REVISION=2
|
2020-04-14 21:54:54 +02:00
|
|
|
TERMUX_PKG_SRCURL=https://github.com/php/php-src/archive/php-${TERMUX_PKG_VERSION}.tar.gz
|
2021-11-26 07:57:52 +01:00
|
|
|
TERMUX_PKG_SHA256=b5aecb953f8938fb7435709d620cd9946df7cd53459a4abc27ef4e64a1fa7eb9
|
2015-12-22 11:37:56 +01:00
|
|
|
# Build native php for phar to build (see pear-Makefile.frag.patch):
|
|
|
|
TERMUX_PKG_HOSTBUILD=true
|
2016-05-23 23:05:55 +02:00
|
|
|
# Build the native php without xml support as we only need phar:
|
2019-12-30 01:17:09 +01:00
|
|
|
TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS="--disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --disable-sqlite3 --without-libxml --without-sqlite3 --without-pdo-sqlite"
|
2021-11-26 01:02:30 +01:00
|
|
|
TERMUX_PKG_DEPENDS="freetype, libandroid-glob, libandroid-support, libbz2, libcrypt, libcurl, libgd, libgmp, libiconv, liblzma, libresolv-wrapper, libsqlite, libxml2, libxslt, libzip, oniguruma, openssl, pcre2, readline, zlib, libicu, libffi, tidy, zstd"
|
2019-07-20 10:42:33 +02:00
|
|
|
TERMUX_PKG_CONFLICTS="php-mysql, php-dev"
|
|
|
|
TERMUX_PKG_REPLACES="php-mysql, php-dev"
|
2017-03-26 00:22:48 +01:00
|
|
|
TERMUX_PKG_RM_AFTER_INSTALL="php/php/fpm"
|
2021-10-13 13:21:55 +02:00
|
|
|
TERMUX_PKG_SERVICE_SCRIPT=("php-fpm" "mkdir -p $TERMUX_ANDROID_HOME/.php\nif [ -f \"$TERMUX_ANDROID_HOME/.php/php-fpm.conf\" ]; then CONFIG=\"$TERMUX_ANDROID_HOME/.php/php-fpm.conf\"; else CONFIG=\"$TERMUX_PREFIX/etc/php-fpm.conf\"; fi\nexec php-fpm -F -y \$CONFIG -c ~/.php/php.ini 2>&1")
|
2016-10-03 16:05:51 +02:00
|
|
|
|
2017-02-20 02:57:27 +01:00
|
|
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
|
|
|
ac_cv_func_res_nsearch=no
|
|
|
|
--enable-bcmath
|
|
|
|
--enable-calendar
|
|
|
|
--enable-exif
|
|
|
|
--enable-mbstring
|
|
|
|
--enable-opcache
|
|
|
|
--enable-pcntl
|
|
|
|
--enable-sockets
|
|
|
|
--mandir=$TERMUX_PREFIX/share/man
|
|
|
|
--with-bz2=$TERMUX_PREFIX
|
|
|
|
--with-curl=$TERMUX_PREFIX
|
|
|
|
--with-openssl=$TERMUX_PREFIX
|
|
|
|
--with-readline=$TERMUX_PREFIX
|
2021-11-19 06:46:52 +01:00
|
|
|
--with-sodium=shared,$TERMUX_PREFIX
|
2019-12-30 21:55:33 +01:00
|
|
|
--with-iconv-dir=$TERMUX_PREFIX
|
2017-02-20 02:57:27 +01:00
|
|
|
--with-zlib
|
2017-03-26 00:52:38 +01:00
|
|
|
--with-pgsql=shared,$TERMUX_PREFIX
|
|
|
|
--with-pdo-pgsql=shared,$TERMUX_PREFIX
|
2017-12-07 05:10:10 +01:00
|
|
|
--with-mysqli=mysqlnd
|
|
|
|
--with-pdo-mysql=mysqlnd
|
2017-11-07 17:45:16 +01:00
|
|
|
--with-mysql-sock=$TERMUX_PREFIX/tmp/mysqld.sock
|
2019-03-18 01:02:19 +01:00
|
|
|
--with-apxs2=$TERMUX_PKG_TMPDIR/apxs-wrapper.sh
|
2019-05-23 01:41:49 +02:00
|
|
|
--with-iconv=$TERMUX_PREFIX
|
2017-03-26 00:22:48 +01:00
|
|
|
--enable-fpm
|
2019-12-30 21:55:33 +01:00
|
|
|
--enable-gd
|
|
|
|
--with-external-gd
|
2019-12-30 01:17:09 +01:00
|
|
|
--with-external-pcre
|
2019-12-31 13:25:15 +01:00
|
|
|
--with-zip
|
2020-01-03 18:05:40 +01:00
|
|
|
--with-xsl
|
2020-01-03 18:25:51 +01:00
|
|
|
--with-gmp
|
2020-07-18 05:14:16 +02:00
|
|
|
--with-ffi
|
2020-11-21 08:40:12 +01:00
|
|
|
--with-tidy=$TERMUX_PREFIX
|
2020-01-03 18:25:51 +01:00
|
|
|
--enable-intl
|
2017-03-26 00:22:48 +01:00
|
|
|
--sbindir=$TERMUX_PREFIX/bin
|
2017-02-20 02:57:27 +01:00
|
|
|
"
|
2015-11-10 23:39:00 +01:00
|
|
|
|
2020-04-14 22:57:16 +02:00
|
|
|
termux_step_host_build() {
|
2020-04-14 23:29:23 +02:00
|
|
|
(cd "$TERMUX_PKG_SRCDIR" && ./buildconf --force)
|
2020-04-14 22:57:16 +02:00
|
|
|
"$TERMUX_PKG_SRCDIR/configure" ${TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS}
|
|
|
|
make -j "$TERMUX_MAKE_PROCESSES"
|
2020-04-14 22:17:44 +02:00
|
|
|
}
|
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_pre_configure() {
|
2021-11-26 01:02:30 +01:00
|
|
|
LDFLAGS+=" -lresolv_wrapper -landroid-glob -llog $($CC -print-libgcc-file-name)"
|
2016-09-04 00:15:47 +02:00
|
|
|
|
2015-12-24 08:50:23 +01:00
|
|
|
export PATH=$PATH:$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/
|
2015-12-22 11:37:56 +01:00
|
|
|
export NATIVE_PHP_EXECUTABLE=$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/php
|
2021-11-04 16:05:27 +01:00
|
|
|
export NATIVE_MINILUA_EXECUTABLE=$TERMUX_PKG_HOSTBUILD_DIR/ext/opcache/minilua
|
2019-12-30 01:17:09 +01:00
|
|
|
if [ "$TERMUX_ARCH" = "aarch64" ]; then
|
|
|
|
CFLAGS+=" -march=armv8-a+crc"
|
|
|
|
CXXFLAGS+=" -march=armv8-a+crc"
|
|
|
|
fi
|
2020-04-14 22:57:16 +02:00
|
|
|
# Regenerate configure again since we have patched config.m4 files.
|
|
|
|
./buildconf --force
|
2017-03-26 00:22:48 +01:00
|
|
|
|
|
|
|
export EXTENSION_DIR=$TERMUX_PREFIX/lib/php
|
2019-03-18 01:02:19 +01:00
|
|
|
|
|
|
|
# Use a wrapper since bin/apxs has the Termux shebang:
|
|
|
|
echo "perl $TERMUX_PREFIX/bin/apxs \$@" > $TERMUX_PKG_TMPDIR/apxs-wrapper.sh
|
|
|
|
chmod +x $TERMUX_PKG_TMPDIR/apxs-wrapper.sh
|
|
|
|
cat $TERMUX_PKG_TMPDIR/apxs-wrapper.sh
|
2015-11-10 23:39:00 +01:00
|
|
|
}
|
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_post_configure() {
|
2016-10-03 16:05:51 +02:00
|
|
|
# Avoid src/ext/gd/gd.c trying to include <X11/xpm.h>:
|
2017-04-18 12:58:11 +02:00
|
|
|
sed -i 's/#define HAVE_GD_XPM 1//' $TERMUX_PKG_BUILDDIR/main/php_config.h
|
2016-10-03 16:05:51 +02:00
|
|
|
# Avoid src/ext/standard/dns.c trying to use struct __res_state:
|
2017-04-18 12:58:11 +02:00
|
|
|
sed -i 's/#define HAVE_RES_NSEARCH 1//' $TERMUX_PKG_BUILDDIR/main/php_config.h
|
2015-11-10 23:39:00 +01:00
|
|
|
}
|
2017-03-26 00:22:48 +01:00
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_post_make_install() {
|
2017-03-26 00:22:48 +01:00
|
|
|
mkdir -p $TERMUX_PREFIX/etc/php-fpm.d
|
|
|
|
cp sapi/fpm/php-fpm.conf $TERMUX_PREFIX/etc/
|
|
|
|
cp sapi/fpm/www.conf $TERMUX_PREFIX/etc/php-fpm.d/
|
2017-04-18 12:58:11 +02:00
|
|
|
|
2021-11-22 22:56:44 +01:00
|
|
|
docdir=$TERMUX_PREFIX/share/doc/php
|
|
|
|
mkdir -p $docdir
|
|
|
|
for suffix in development production; do
|
|
|
|
cp $TERMUX_PKG_SRCDIR/php.ini-$suffix $docdir/
|
|
|
|
done
|
|
|
|
|
2017-04-18 12:58:11 +02:00
|
|
|
sed -i 's/SED=.*/SED=sed/' $TERMUX_PREFIX/bin/phpize
|
2017-03-26 00:22:48 +01:00
|
|
|
}
|