X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/46c859b5b136606152aecf4cdb7826fff4767915..f653115e039d4d39ec3e33f57e6f0b0acbc769eb:/packages/php/build.sh diff --git a/packages/php/build.sh b/packages/php/build.sh index bdb6e5f8..64d029f9 100644 --- a/packages/php/build.sh +++ b/packages/php/build.sh @@ -1,38 +1,68 @@ -TERMUX_PKG_HOMEPAGE=http://php.net/ +TERMUX_PKG_HOMEPAGE=https://php.net TERMUX_PKG_DESCRIPTION="Server-side, HTML-embedded scripting language" -TERMUX_PKG_VERSION=5.6.19 -TERMUX_PKG_BUILD_REVISION=1 -TERMUX_PKG_SRCURL=http://php.net/get/php-${TERMUX_PKG_VERSION}.tar.xz/from/this/mirror -TERMUX_PKG_NO_SRC_CACHE=yes # Caching with filename does not work for 'mirror' +TERMUX_PKG_VERSION=7.1.5 +TERMUX_PKG_SRCURL=http://www.php.net/distributions/php-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=d149a3c396c45611f5dc6bf14be190f464897145a76a8e5851cf18ff7094f6ac # Build native php for phar to build (see pear-Makefile.frag.patch): TERMUX_PKG_HOSTBUILD=true -TERMUX_PKG_FOLDERNAME=php-${TERMUX_PKG_VERSION} -TERMUX_PKG_DEPENDS="libandroid-glob, libxml2, liblzma, openssl, pcre" -# http://php.net/manual/en/libxml.installation.php -# "If configure cannot find xml2-config in the directory specified by --with-libxml-dir, -# then it'll continue on and check the default locations." -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-libxml-dir=$TERMUX_PREFIX" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-openssl=$TERMUX_PREFIX" -# http://php.net/manual/en/pcre.installation.php: pcre always enabled, use platform library: -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-pcre-regex=$TERMUX_PREFIX" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-iconv=$TERMUX_PREFIX" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-zlib" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-zip" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_func_res_nsearch=no" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --mandir=$TERMUX_PREFIX/share/man" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-sockets" - -LDFLAGS+=" -landroid-glob" +# Build the native php without xml support as we only need phar: +TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS="--disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear" +TERMUX_PKG_DEPENDS="libandroid-glob, libxml2, liblzma, openssl, pcre, libbz2, libcrypt, libcurl, libgd, readline, freetype" +TERMUX_PKG_RM_AFTER_INSTALL="php/php/fpm" +TERMUX_PKG_CLANG=no + +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +ac_cv_func_res_nsearch=no +--enable-bcmath +--enable-calendar +--enable-exif +--enable-gd-native-ttf=$TERMUX_PREFIX +--enable-mbstring +--enable-opcache +--enable-pcntl +--enable-sockets +--enable-zip +--mandir=$TERMUX_PREFIX/share/man +--with-bz2=$TERMUX_PREFIX +--with-curl=$TERMUX_PREFIX +--with-freetype-dir=$TERMUX_PREFIX +--with-gd=$TERMUX_PREFIX +--with-iconv=$TERMUX_PREFIX +--with-libxml-dir=$TERMUX_PREFIX +--with-openssl=$TERMUX_PREFIX +--with-pcre-regex=$TERMUX_PREFIX +--with-png-dir=$TERMUX_PREFIX +--with-readline=$TERMUX_PREFIX +--with-zlib +--with-pgsql=shared,$TERMUX_PREFIX +--with-pdo-pgsql=shared,$TERMUX_PREFIX +--enable-fpm +--sbindir=$TERMUX_PREFIX/bin +" termux_step_pre_configure () { + LDFLAGS+=" -landroid-glob -llog" + export PATH=$PATH:$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/ export NATIVE_PHP_EXECUTABLE=$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/php # Run autoconf since we have patched config.m4 files. - cd $TERMUX_PKG_SRCDIR autoconf + + export EXTENSION_DIR=$TERMUX_PREFIX/lib/php } termux_step_post_configure () { - perl -p -i -e 's/#define HAVE_RES_NSEARCH 1//' $TERMUX_PKG_BUILDDIR/main/php_config.h + # Avoid src/ext/gd/gd.c trying to include : + sed -i 's/#define HAVE_GD_XPM 1//' $TERMUX_PKG_BUILDDIR/main/php_config.h + # Avoid src/ext/standard/dns.c trying to use struct __res_state: + sed -i 's/#define HAVE_RES_NSEARCH 1//' $TERMUX_PKG_BUILDDIR/main/php_config.h +} + +termux_step_post_make_install () { + 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/ + + sed -i 's/SED=.*/SED=sed/' $TERMUX_PREFIX/bin/phpize }