diff options
Diffstat (limited to 'testing/php7/APKBUILD')
-rw-r--r-- | testing/php7/APKBUILD | 445 |
1 files changed, 445 insertions, 0 deletions
diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD new file mode 100644 index 0000000000..0b69648b52 --- /dev/null +++ b/testing/php7/APKBUILD @@ -0,0 +1,445 @@ +# Contributor: Valery Kartel <valery.kartel@gmail.com> +# Maintainer: Valery Kartel <valery.kartel@gmail.com> +pkgname=php7 +pkgver=7.1.3 +pkgrel=0 +_apiver=20160303 +_compat=7.1 +_suffix=${pkgname#php} +_pkgreal=${pkgname%$_suffix} +pkgdesc="The PHP$_suffix language runtime engine" +url="http://www.php.net/" +arch="all" +license="PHP-3" +options="!check" +depends="$pkgname-config" +depends_dev="$pkgname" +replaces="$_pkgreal $_pkgreal-cli $_pkgreal$_compat $_pkgreal$_compat-cli" +provides="$replaces $pkgname-cli" +makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-dev bzip2-dev zlib-dev + aspell-dev enchant-dev expat-dev pcre-dev curl-dev gmp-dev icu-dev imap-dev gd-dev + libical-dev libressl-dev openldap-dev net-snmp-dev db-dev krb5-dev gdbm-dev sqlite-dev + freetds-dev postgresql-dev unixodbc-dev freetype-dev tidyhtml-dev libwebp-dev + libpng-dev libjpeg-turbo-dev libmcrypt-dev recode-dev libedit-dev gettext-dev + " +source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2 + $pkgname-module.conf + $pkgname-fpm.logrotate + $pkgname-fpm.initd + $pkgname-fpm.patch + $pkgname-includedir.patch + install-pear.patch + " +# unimplemented extensions: com_dotnet interbase oci8 pdo_firebird pdo_oci +_extension_dir=/usr/lib/$pkgname +_extension_conf=/etc/$pkgname/conf.d +_extensions="bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo ftp gd gettext gmp iconv imap:1 + intl json ldap mbstring mcrypt mysqli:1 mysqlnd odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql + pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell recode session shmop snmp soap sockets + sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib + " +for _extension in $_extensions; do + [ -z "${_extension##*:*}" ] && eval _index_${_extension%:*}=${_extension#*:} + subpackages="$subpackages $pkgname-${_extension%:*}:_extension" +done +_prefix_opcache="zend_" +_pkgdesc_opcache="Zend OPcache" +_depends_mysqlnd="$pkgname-openssl" +subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-apache2 $pkgname-phpdbg + $pkgname-litespeed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch $pkgname-pecl::noarch + $pkgname-phar-utils:_phar:noarch $subpackages $pkgname-config::noarch" +builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$builddir" + + sed "$(($(grep -n 'Pool Definitions' sapi/fpm/php-fpm.conf.in | cut -d: -f1)+3)),\$d" \ + -i sapi/fpm/php-fpm.conf.in && \ + echo include=@php_fpm_sysconfdir@/php-fpm.d/*.conf >> \ + sapi/fpm/php-fpm.conf.in + + default_prepare || return 1 + update_config_sub || return 1 + + local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h) + if [ "$vapi" != "$_apiver" ]; then + error "Upstreram API version is now $vapi. Expecting $_apiver" + error "After updating _apiver, all 3rd-party extensions must be rebuilt" + return 1 + fi + + autoconf +} + +# Notes to ./configure parameters +# recode and imap are defined in build function because can't build together +# --with-libgd -- do not swith to system-wide libgd - runtime bugs. +# --with-xmlrpc -- do not swith to system-wide xmlrpc - build errors. + +_build() { + ./configure \ + EXTENSION_DIR=$_extension_dir \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --program-suffix=$_suffix \ + --libdir=$_extension_dir \ + --datadir=/usr/share/$pkgname \ + --sysconfdir=/etc/$pkgname \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-pic \ + --with-pear=/usr/share/pear \ + --with-config-file-path=/etc/$pkgname \ + --with-config-file-scan-dir=$_extension_conf \ + --disable-short-tags \ + --without-readline \ + --with-libedit \ + --enable-bcmath=shared \ + --with-bz2=shared \ + --enable-calendar=shared \ + --enable-ctype=shared \ + --with-curl=shared \ + --enable-dba=shared \ + --with-gdbm \ + --with-db4 \ + --enable-dom=shared \ + --with-libxml-dir \ + --with-enchant=shared \ + --enable-exif=shared \ + --enable-fileinfo=shared \ + --enable-ftp=shared \ + --with-openssl-dir \ + --with-gd=shared \ + --with-jpeg-dir \ + --with-png-dir \ + --with-webp-dir \ + --with-xpm-dir=no \ + --with-freetype-dir \ + --enable-gd-native-ttf \ + --disable-gd-jis-conv \ + --with-gettext=shared \ + --with-gmp=shared \ + --with-iconv=shared \ + --enable-intl=shared \ + --with-icu-dir=/usr \ + --enable-json=shared \ + --enable-libxml=shared \ + --with-libxml-dir \ + --with-libexpat-dir \ + --with-ldap=shared \ + --with-ldap-sasl \ + --enable-mbstring=shared \ + --enable-mbregex \ + --with-mcrypt=shared \ + --with-mysqli=shared,mysqlnd \ + CFLAGS=-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT \ + --enable-mysqlnd=shared \ + --with-zlib-dir \ + --enable-opcache=shared \ + --with-openssl=shared \ + --with-kerberos \ + --with-system-ciphers \ + --enable-pcntl=shared \ + --with-pcre-regex=/usr \ + --with-pcre-dir \ + --enable-pdo=shared \ + --with-pdo-dblib=shared \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-pgsql=shared \ + --with-pdo-sqlite=shared,/usr \ + --with-pgsql=shared \ + --enable-phar=shared \ + --enable-posix=shared \ + --with-pspell=shared \ + --enable-session=shared \ + --enable-shmop=shared \ + --with-snmp=shared \ + --enable-soap=shared \ + --enable-sockets=shared \ + --with-sqlite3=shared,/usr \ + --enable-sysvmsg=shared \ + --enable-sysvsem=shared \ + --enable-sysvshm=shared \ + --with-tidy=shared \ + --with-unixODBC=shared,/usr \ + --enable-wddx=shared \ + --enable-xml=shared \ + --enable-xmlreader=shared \ + --with-xmlrpc=shared \ + --enable-xmlwriter=shared \ + --with-xsl=shared \ + --enable-zip=shared \ + --with-libzip \ + --with-zlib=shared \ + --with-zlib-dir \ + $@ || return 1 + make +} + +build() { + cd "$builddir" + # build phpdbg + _build --enable-phpdbg \ + --enable-phpdbg-webhelper \ + --disable-cgi \ + --disable-cli \ + || return 1 + # build apache2 module + recode extension + _build --disable-phpdbg \ + --disable-cgi \ + --disable-cli \ + --with-apxs2 \ + --with-recode=shared \ + || return 1 + mv libs/lib$_pkgreal*.so sapi/apache2handler/ + # build all other + imap extension + _build --disable-phpdbg \ + --enable-fpm \ + --enable-embed \ + --with-litespeed \ + --with-imap=shared \ + --with-imap-ssl \ + || return 1 +} + +package() { + pkgdesc="$pkgdesc (command line interface)" + make -C "$builddir" INSTALL_ROOT="$pkgdir" install || return 1 + + ln -sf /usr/bin/php$_suffix "$pkgdir"/usr/bin/php + rm -fr "$pkgdir"/.[[:alpha:]]* +} + +dev() { + provides="$_pkgreal-dev $_pkgreal$_compat-dev" + replaces=$provides + default_dev || return 1 + + mkdir -p "$subpkgdir"/usr/bin \ + "$subpkgdir"/$_extension_dir || return 1 + + local file + for file in php-config phpize; do + mv "$pkgdir"/usr/bin/$file$_suffix \ + "$subpkgdir"/usr/bin/ || return 1 + ln -sf /usr/bin/$file$_suffix "$subpkgdir"/usr/bin/$file + done + + mv "$pkgdir"/$_extension_dir/build "$subpkgdir"/$_extension_dir +} + +doc() { + provides= + replaces= + default_doc || return 1 + install_if="docs $pkgname-config=$pkgver-r$pkgrel" + + cd "$builddir" + local file + for file in $(ls CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*); do + install -Dm644 $file "$subpkgdir"/usr/share/doc/$pkgname/$file || return 1 + done +} + +apache2() { + provides="$_pkgreal-apache2 $_pkgreal$_compat-apache2" + replaces= + pkgdesc="$pkgdesc (apache2 module)" + depends="$pkgname-config apache2" + + mkdir -p "$subpkgdir"/usr/lib/apache2 || return 1 + cp "$builddir"/sapi/apache2handler/lib$_pkgreal*.so \ + "$subpkgdir"/usr/lib/apache2/mod_$pkgname.so || return 1 + + install -Dm644 "$srcdir"/$pkgname-module.conf \ + "$subpkgdir"/etc/apache2/conf.d/$pkgname-module.conf +} + +phpdbg() { + provides="$_pkgreal-phpdbg $_pkgreal$_compat-phpdbg" + replaces=$provides + pkgdesc="$pkgdesc (interactive debugger)" + depends="$pkgname-config" + + install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \ + "$subpkgdir"/usr/bin/phpdbg$_suffix || return 1 + ln -sf /usr/bin/phpdbg$_suffix "$subpkgdir"/usr/bin/phpdbg +} + +libs() { + provides="$_pkgreal-libs $_pkgreal$_compat-libs" + replaces= + pkgdesc="$pkgdesc (embedded library)" + depends="$pkgname-config" + + mkdir -p "$subpkgdir"/usr/lib || return 1 + mv "$pkgdir"/usr/lib/lib$_pkgreal*.so \ + "$subpkgdir"/usr/lib/lib$pkgname.so || return 1 +} + +litespeed() { + provides="$_pkgreal-litespeed $_pkgreal$_compat-litespeed" + replaces=$provides + pkgdesc="$pkgdesc (litespeed)" + depends="$pkgname-config" + + mkdir -p "$subpkgdir"/usr/bin || return 1 + mv "$pkgdir"/usr/bin/lsphp \ + "$subpkgdir"/usr/bin/lsphp$_suffix || return 1 + ln -sf /usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin/lsphp +} + +cgi() { + provides="$_pkgreal-cgi $_pkgreal$_compat-cgi" + replaces=$provides + pkgdesc="$pkgdesc (common gateway interface)" + depends="$pkgname-config" + + mkdir -p "$subpkgdir"/usr/bin || return 1 + mv "$pkgdir"/usr/bin/php-cgi$_suffix \ + "$subpkgdir"/usr/bin/ || return 1 + ln -sf /usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi +} + +fpm() { + provides="$_pkgreal-fpm $_pkgreal$_compat-fpm" + replaces= + pkgdesc="$pkgdesc (fastcgi process manager)" + depends="$pkgname-config" + + mkdir -p "$subpkgdir"/usr/share \ + "$subpkgdir"/etc/$pkgname \ + "$subpkgdir"/var/log/$pkgname || return 1 + + mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ || return 1 + mv "$pkgdir"/usr/share/$pkgname \ + "$subpkgdir"/usr/share/ || return 1 + mv "$pkgdir"/etc/$pkgname/php-fpm* \ + "$subpkgdir"/etc/$pkgname/ || return 1 + + local file; + for file in php-fpm.conf php-fpm.d/www.conf; do + mv "$subpkgdir"/etc/$pkgname/$file.default \ + "$subpkgdir"/etc/$pkgname/$file || return 1 + done + + install -Dm755 "$srcdir"/$pkgname-fpm.initd \ + "$subpkgdir"/etc/init.d/$_pkgreal-fpm$_suffix || return 1 + install -Dm644 "$srcdir"/$pkgname-fpm.logrotate \ + "$subpkgdir"/etc/logrotate.d/$_pkgreal-fpm$_suffix || return 1 +} + +pear() { + provides="$_pkgreal-pear $_pkgreal$_compat-pear" + replaces=$provides + pkgdesc="$pkgdesc (php extension and application repository)" + depends="$pkgname $pkgname-xml" + + mkdir -p "$subpkgdir"/usr/bin \ + "$subpkgdir"/etc/$pkgname || return 1 + + mv "$pkgdir"/etc/$pkgname/pear.conf \ + "$subpkgdir"/etc/$pkgname/ || return 1 + + mv "$pkgdir"/usr/share \ + "$subpkgdir"/usr/ || return 1 + + sed -e "s/\$INCARG/\$INCARG -d extension=xml.so/" \ + -i "$pkgdir"/usr/bin/pecl || return 1 + + local file + for file in pear peardev pecl; do + mv "$pkgdir"/usr/bin/$file \ + "$subpkgdir"/usr/bin/$file$_suffix || return 1 + sed -e "s:/usr/bin/php:/usr/bin/php$_suffix:g" \ + -i "$subpkgdir"/usr/bin/$file$_suffix || return 1 + ln -sf /usr/bin/$file$_suffix \ + "$subpkgdir"/usr/bin/$file || return 1 + done +} + +pecl() { + provides="$_pkgreal-pecl $_pkgreal$_compat-pecl" + replaces= + pkgdesc="$pkgdesc (php extension community library)" + depends="$pkgname-pear $pkgname-dev autoconf gcc make musl-dev" + mkdir -p "$subpkgdir" +} + +config() { + provides="phpapi$_apiver" + replaces= + depends= + pkgdesc="$pkgdesc (common config)" + + mkdir -p "$subpkgdir"/$_extension_conf || return 1 + + install -Dm644 "$builddir"/php.ini-production \ + "$subpkgdir"/etc/$pkgname/php.ini || return 1 + + # exit with an error if some modules were not in subpackages + rmdir "$pkgdir"/$_extension_dir || return 1 + rm -fr "$pkgdir"/etc "$pkgdir"/var "$pkgdir"/usr/lib +} + +_phar() { + provides="$_pkgreal-phar-utils $_pkgreal$_compat-phar-utils" + replaces=$provides + pkgdesc="$pkgdesc (archive script)" + depends="$pkgname $pkgname-phar" + + mkdir -p "$subpkgdir"/usr/bin || return 1 + + rm "$pkgdir"/usr/bin/phar || return 1 + mv "$pkgdir"/usr/bin/phar.phar \ + "$subpkgdir"/usr/bin/phar.phar$_suffix || return 1 + + local file + for file in phar$_suffix phar phar.phar; do + ln -sf /usr/bin/phar.phar$_suffix \ + "$subpkgdir"/usr/bin/$file || return 1 + done +} + +_extension() { + local dep deps + local name=${subpkgname#$pkgname-} + local index=$(eval echo \${_index_$name:-0}) + provides="$_pkgreal-$name $_pkgreal$_compat-$name" + replaces= + depends=$(eval echo \$_depends_$name) + + pkgdesc=$(eval echo \$_pkgdesc_$name) + : ${pkgdesc:=$(head -n1 "$builddir"/ext/$name/CREDITS)} + pkgdesc="PHP$_suffix extension: ${pkgdesc:-$name}" + + [ -f "$builddir"/ext/$name/config.w32 ] && \ + deps=$(grep -o "_DEP('$name'.*" "$builddir"/ext/$name/config.w32 | sed "s/[',);]//g") + [ -f "$builddir"/ext/$name/config.m4 ] && \ + deps="$deps $(grep -o "_DEP($name,.*" "$builddir"/ext/$name/config.m4 | sed "s/[,)]//g")" + for dep in $(echo -e ${deps//[[:space:]]/\\n} | sort -u); do + [ -z "${_extensions##*$dep*}" ] && depends="$depends $pkgname-$dep" + done + + index=$(($(echo $depends | wc -w)+$index)) + depends="$pkgname-config phpapi$_apiver $depends" + + mkdir -p "$subpkgdir"/$_extension_dir \ + "$subpkgdir"/$_extension_conf || return 1 + + mv "$pkgdir"/$_extension_dir/$name.so \ + "$subpkgdir"/$_extension_dir || return 1 + + echo $(eval echo \$_prefix_$name)extension=$name.so > \ + "$subpkgdir"/$_extension_conf/$(printf %02d $index)_$name.ini +} + +sha512sums="90dd06348d5884a2bb4a22ab80bb4f50e603751a1787096f447762fe00e5b4f36deafda045ecf6345883d9f4b711755a854a2e7043f27702acfe78ade90b42d9 php-7.1.3.tar.bz2 +fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daebd48eed78b045dc051ced69fbf1f11efc7ad81d884a639a99 php7-module.conf +cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate +d91a915d00b8a25565b0ef87d5788ec40eb02b7890ab72df8cea49693311645c97ce2eed6f706a12704c7818102daee7ba2c42ee814c61bb29f90e464e3bb17f php7-fpm.initd +a4c35446745ab0ac806de801f0651fc5d2c98cf60063c3c2d3963a84f1c71ef78e09b7650c08e7231be0fdb93c0c255de38894d7f0e4f4c5a190d17f1a6bc476 php7-fpm.patch +199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b php7-includedir.patch +f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch" |