diff options
Diffstat (limited to 'testing/php7/APKBUILD')
-rw-r--r-- | testing/php7/APKBUILD | 414 |
1 files changed, 414 insertions, 0 deletions
diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD new file mode 100644 index 0000000000..9114ea4a4d --- /dev/null +++ b/testing/php7/APKBUILD @@ -0,0 +1,414 @@ +# Contributor: Valery Kartel <valery.kartel@gmail.com> +# Maintainer: Valery Kartel <valery.kartel@gmail.com> +pkgname=php7 +_pkgreal=php +pkgver=7.0.3 +pkgrel=0 +pkgdesc="The PHP language runtime engine - 7th branch" +url="http://www.php.net/" +arch="all" +license="PHP-3" +options="textrels" +depends="$pkgname-common" +install= +makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-dev bzip2-dev zlib-dev + xmlrpc-epi-dev aspell-dev enchant-dev expat-dev pcre-dev curl-dev gmp-dev icu-dev imap-dev + libical-dev openssl-dev openldap-dev net-snmp-dev db-dev krb5-dev gdbm-dev sqlite-dev + freetds-dev mariadb-dev postgresql-dev unixodbc-dev freetype-dev tidyhtml-dev libxpm-dev + libpng-dev libwebp-dev libjpeg-turbo-dev libmcrypt-dev libmbfl-dev gsoap-dev recode-dev + readline-dev mhash-dev +" + +subpackages="$pkgname-dev $pkgname-doc + $pkgname-apache2 $pkgname-phpdbg $pkgname-embed $pkgname-litespeed $pkgname-cgi $pkgname-fpm + $pkgname-pear + $pkgname-bcmath + $pkgname-bz2 + $pkgname-calendar + $pkgname-ctype + $pkgname-curl:_curl + $pkgname-dba + $pkgname-dom + $pkgname-enchant + $pkgname-exif + $pkgname-ftp + $pkgname-gd + $pkgname-gettext + $pkgname-gmp + $pkgname-imap + $pkgname-intl + $pkgname-json + $pkgname-ldap + $pkgname-mbstring + $pkgname-mcrypt + $pkgname-mysqli + $pkgname-mysqlnd + $pkgname-odbc + $pkgname-opcache + $pkgname-openssl + $pkgname-pcntl + $pkgname-pdo + $pkgname-pdo_dblib + $pkgname-pdo_mysql + $pkgname-pdo_odbc + $pkgname-pdo_pgsql + $pkgname-pdo_sqlite + $pkgname-pgsql + $pkgname-phar + $pkgname-posix + $pkgname-pspell + $pkgname-readline + $pkgname-session + $pkgname-shmop + $pkgname-snmp + $pkgname-soap + $pkgname-sockets + $pkgname-sqlite3 + $pkgname-sysvmsg + $pkgname-sysvsem + $pkgname-sysvshm + $pkgname-tidy + $pkgname-wddx + $pkgname-xml + $pkgname-xmlreader + $pkgname-xmlrpc + $pkgname-xsl + $pkgname-zip + $pkgname-zlib + " +subpackages="$subpackages $pkgname-common" + +source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2 + $pkgname-fpm.initd + $pkgname-module.conf + install-pear.patch + tidy-buffio.patch + includedir.patch + " + +_apiver="20151012" +_builddir="$srcdir"/$_pkgreal-$pkgver + +prepare() { + cd "$_builddir" + update_config_sub + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + 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" + return 1 + fi + autoconf +} + +_build() { + export EXTENSION_DIR=/usr/lib/$pkgname/modules + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --program-suffix=7 \ + --libdir=/usr/lib/$pkgname \ + --datadir=/usr/share/$pkgname \ + --sysconfdir=/etc/$pkgname \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-pear=/usr/share/$pkgname \ + --with-config-file-path=/etc/$pkgname \ + --with-config-file-scan-dir=/etc/$pkgname/conf.d \ + --disable-short-tags \ + --with-openssl=shared --with-kerberos --with-system-ciphers \ + --with-pcre-regex --with-pcre-dir \ + --with-zlib=shared --with-zlib-dir \ + --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-enchant=shared \ + --enable-exif=shared \ + --enable-ftp=shared \ + --with-gd=shared --with-webp-dir=shared --with-jpeg-dir=shared --with-png-dir=shared --with-xpm-dir=shared \ + --with-freetype-dir=shared --enable-gd-native-ttf --enable-gd-jis-conv \ + --with-gettext=shared \ + --with-gmp=shared \ + --with-mhash=shared \ + --with-imap=shared --with-imap-ssl \ + --enable-intl=shared --with-icu-dir=/usr \ + --enable-json=shared \ + --enable-libxml=shared --with-libxml-dir=shared --with-libexpat-dir=shared \ + --with-ldap=shared --with-ldap-sasl \ + --enable-mbstring=shared --enable-mbregex --with-libmbfl \ + --with-mcrypt=shared \ + --with-sqlite3=shared --with-pdo-sqlite=shared \ + --with-pdo-dblib=shared \ + --with-mysqli=shared,mysqlnd --enable-mysqlnd=shared --with-pdo-mysql=shared --with-mysql-sock=/run/mysqld/mysqld.sock \ + --with-pgsql=shared --with-pdo-pgsql=shared \ + --with-unixODBC=shared,/usr -with-pdo-odbc=shared,unixODBC,/usr \ + --with-dbmaker=shared \ + --enable-opcache=shared \ + --enable-pdo=shared \ + --enable-pcntl=shared \ + --enable-posix=shared \ + --enable-phar=shared \ + --with-pspell=shared \ + --enable-session=shared \ + --enable-shmop=shared \ + --with-snmp=shared \ + --enable-soap=shared \ + --enable-sockets=shared \ + --enable-sysvmsg=shared \ + --enable-sysvsem=shared \ + --enable-sysvshm=shared \ + --with-tidy=shared \ + --enable-xml=shared \ + --enable-xmlreader=shared \ + --with-xmlrpc=shared \ + --with-xsl=shared \ + --enable-wddx=shared \ + --enable-zip=shared --with-libzip=shared \ + $@ || return 1 + sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile # see #183 (from main/php) + make || return 1 +} + +build() { + cd "$_builddir" + # phpdbg + _build --enable-phpdbg \ + --enable-phpdbg \ + --enable-phpdbg-webhelper \ + --enable-phpdbg-debug \ + --disable-cgi \ + --disable-cli \ + --with-readline \ + || return 1 + # apache2 module + _build --disable-phpdbg \ + --disable-cgi \ + --disable-cli \ + --with-apxs2 \ + --with-readline=shared \ + || return 1 + mv libs/libphp7.so sapi/apache2handler/mod_php7.so + # cgi,cli,fpm,embed,litespeed + _build --disable-phpdbg \ + --enable-fpm \ + --enable-embed \ + --with-litespeed \ + --with-readline=shared \ + || return 1 +} + +package() { + cd "$_builddir" + make -j1 INSTALL_ROOT="$pkgdir" install || return 1 + install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini + for file in pear peardev pecl; do + sed -i \ + -e "s~/usr/bin/php~/usr/bin/php7~g" \ + -e "s~PHP=php~PHP=php7~" \ + "$pkgdir"/usr/bin/$file + done + find "$pkgdir" -name '.*' | xargs rm -rf || return 1 + rmdir "$pkgdir"/var/run +} + +dev() { + default_dev + depends="$depends $pkgname $pkgname-pear" + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/$pkgname + mv "$pkgdir"/usr/bin/php-config7 "$pkgdir"/usr/bin/peardev \ + "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/lib/$pkgname/build \ + "$subpkgdir"/usr/lib/$pkgname/ +} + +doc() { + default_doc + mkdir -p "$subpkgdir"/usr/share/doc/$pkgname + for file in CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*; do + cp "$_builddir"/$file "$subpkgdir"/usr/share/doc/$pkgname/ + done +} + +apache2() { + pkgdesc="PHP Module for Apache2" + depends="$pkgname-common apache2" + install -D -m755 "$_builddir"/sapi/apache2handler/mod_php7.so \ + "$subpkgdir"/usr/lib/apache2/mod_php7.so || return 1 + install -D -m644 "$srcdir"/php7-module.conf \ + "$subpkgdir"/etc/apache2/conf.d/php7-module.conf || return 1 +} + +phpdbg() { + pkgdesc="Interactive PHP debugger" + depends="$pkgname-common" + install -Dm755 "$_builddir"/sapi/phpdbg/phpdbg \ + "$subpkgdir"/usr/bin/phpdbg7 +} + +embed() { + pkgdesc="PHP Embedded Library" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/ +} + +litespeed() { + pkgdesc="PHP LiteSpeed SAPI" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin/lsphp7 +} + +cgi() { + pkgdesc="PHP Common Gateway Interface" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/php-cgi7 "$subpkgdir"/usr/bin/ +} + +fpm() { + pkgdesc="PHP FastCGI Process Manager" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr + mv "$pkgdir"/var "$subpkgdir" + mkdir -p "$subpkgdir"/var/lib + mv "$pkgdir"/usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname + mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ + mv "$pkgdir"/etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname + for file in php-fpm.conf php-fpm.d/www.conf; do + mv "$subpkgdir"/etc/$pkgname/$file.default \ + "$subpkgdir"/etc/$pkgname/$file + done + install -D -m755 "$srcdir"/$pkgname-fpm.initd "$subpkgdir"/etc/init.d/$pkgname-fpm +} + +pear() { + arch="noarch" + pkgdesc="PHP Extension and Application Repository" + depends="$pkgname" + # "$pkgname-xml" + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/etc/$pkgname + for file in phpize7 pecl pear; do + mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/ + done + mv "$pkgdir"/etc/$pkgname/pear.conf \ + "$subpkgdir"/etc/$pkgname/ || return 1 + mv "$pkgdir"/usr/share \ + "$subpkgdir"/usr/ || return 1 +} + +common() { + arch="noarch" + pkgdesc="$pkgdesc (common config)" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ + mv "$pkgdir"/etc "$subpkgdir"/ + mkdir "$subpkgdir"/etc/$pkgname/conf.d +} + +_mv_ext() { + local ext=$1 + local ini=$ext.ini + local dir=/usr/lib/$pkgname/modules + local prefix= + pkgdesc="PHP7 extension: $ext" + + # extension dependencies + [ -n "${2-}" ] && depends=$2 + + # work around dependency issue + # https://bugs.alpinelinux.org/issues/1848 + [ "$ext" = "wddx" ] && ini=xml_$ext.ini + + mkdir -p "$subpkgdir"/usr/lib/$pkgname/modules "$subpkgdir"/etc/$pkgname/conf.d + mv "$pkgdir"/usr/lib/$pkgname/modules/${ext}.so \ + "$subpkgdir"/usr/lib/$pkgname/modules/ || return 1 + [ "$1" = "opcache" ] && prefix="zend_" + echo "${prefix}extension=${ext}.so" > "$subpkgdir"/etc/$pkgname/conf.d/$ini +} + +bcmath() { _mv_ext bcmath; } +bz2() { _mv_ext bz2; } +calendar() { _mv_ext calendar; } +ctype() { _mv_ext ctype; } +_curl() { _mv_ext curl; } +dba() { _mv_ext dba; } +dom() { _mv_ext dom $pkgname-xml; } +enchant() { _mv_ext enchant; } +exif() { _mv_ext exif; } +ftp() { _mv_ext ftp; } +gd() { _mv_ext gd; } +gettext() { _mv_ext gettext; } +gmp() { _mv_ext gmp; } +imap() { _mv_ext imap; } +intl() { _mv_ext intl; } +json() { _mv_ext json; } +ldap() { _mv_ext ldap; } +mbstring() { _mv_ext mbstring; } +mcrypt() { _mv_ext mcrypt; } +mysqli() { _mv_ext mysqli; } +mysqlnd() { _mv_ext mysqlnd; } +odbc() { _mv_ext odbc; } +opcache() { _mv_ext opcache; } +openssl() { _mv_ext openssl; } +pcntl() { _mv_ext pcntl; } +pdo() { _mv_ext pdo; } +pdo_dblib() { _mv_ext pdo_dblib $pkgname-pdo; } +pdo_mysql() { _mv_ext pdo_mysql $pkgname-pdo; } +pdo_odbc() { _mv_ext pdo_odbc $pkgname-pdo; } +pdo_pgsql() { _mv_ext pdo_pgsql $pkgname-pdo; } +pdo_sqlite() { _mv_ext pdo_sqlite $pkgname-pdo; } +pgsql() { _mv_ext pgsql; } +phar() { + _mv_ext phar $pkgname + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/phar* "$subpkgdir"/usr/bin/ + } +posix() { _mv_ext posix; } +pspell() { _mv_ext pspell; } +readline() { _mv_ext readline; } +session() { _mv_ext session; } +shmop() { _mv_ext shmop; } +snmp() { _mv_ext snmp; } +soap() { _mv_ext soap $pkgname-xml; } +sockets() { _mv_ext sockets; } +sqlite3() { _mv_ext sqlite3; } +sysvmsg() { _mv_ext sysvmsg; } +sysvsem() { _mv_ext sysvsem; } +sysvshm() { _mv_ext sysvshm; } +tidy() { _mv_ext tidy; } +wddx() { _mv_ext wddx $pkgname-xml; } +xml() { _mv_ext xml; } +xmlreader() { _mv_ext xmlreader $pkgname-dom; } +xmlrpc() { _mv_ext xmlrpc $pkgname-xml; } +xsl() { _mv_ext xsl $pkgname-dom; } +zip() { _mv_ext zip; } +zlib() { _mv_ext zlib; } + +md5sums="702e9b8e2cb704fdd50137e39f53f50b php-7.0.3.tar.bz2 +36ede43c4d4462f2d58dbb4a01b4c4d0 php7-fpm.initd +47be6cd1ed92f21579e15bf2003a709f php7-module.conf +483bc0a85c50a9a9aedbe14a19ed4526 install-pear.patch +66f0037a029f9eed2b31d2e1d50f1860 tidy-buffio.patch +d872e633c9b33c3c9f629dd2edd2e5c5 includedir.patch" +sha256sums="826823d754f09c779222a99becf9c53a4dc719dba2d777aca7807c6ca68e6fc6 php-7.0.3.tar.bz2 +84241f5cb2891b15bac5bb4aa2e7037cd50d611a1e8a228f6a42e4154aaec9e1 php7-fpm.initd +276c823ee666ea73b36d4e97174eeea05713125b61f7f8681e350453c4123143 php7-module.conf +f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab install-pear.patch +5dc8f32e5e2b1cd6317ada5a5adb9b5f0802ed6e0dbe065d7bfcc0f55d47e0d5 tidy-buffio.patch +ea74966a23b1b54548ee35e9ccc2fc8d2b7c2285c385c44d6b23d9e2f25ea1a7 includedir.patch" +sha512sums="3a7aa542f53a38499eb126c3d489bed057a5a9b8e4a8fb45a55b1080fc573646615699bd94b03c882e58554b23ac5d6e3aaf54d0b502b9d110e91e69339bd7a0 php-7.0.3.tar.bz2 +c633b7e122da9cc16cc6c5ed817f1fc0f38bd05b08265fafd31c904edb0cdc7ccb09e323f037e55ce18e9425ee3599166a194657bf6edd5884305c3c235e5ba6 php7-fpm.initd +fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daebd48eed78b045dc051ced69fbf1f11efc7ad81d884a639a99 php7-module.conf +f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch +6894c9cba7752a3406e774d9efc0e058c37433493c1c20101e9563bf247c112157a67e306b06b9517b0422eca521f543d637a6cbd2cea7639e43f13d773b3d2b tidy-buffio.patch +199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b includedir.patch" |