diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2016-02-08 20:07:54 +0200 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2016-02-10 12:48:54 +0100 |
commit | 9db98a17fabead3bbf63f1c407aa8728c7d163b8 (patch) | |
tree | 6e4aa3a47314496304c094036d00d28f7d87f01b /testing/php7 | |
parent | 69660a2252bcd3d6877446ba4605ef58acb696fc (diff) | |
download | aports-9db98a17fabead3bbf63f1c407aa8728c7d163b8.tar.bz2 aports-9db98a17fabead3bbf63f1c407aa8728c7d163b8.tar.xz |
testing/php7: new aport
The PHP language runtime engine - 7th branch
http://php.net/
Diffstat (limited to 'testing/php7')
-rw-r--r-- | testing/php7/APKBUILD | 414 | ||||
-rw-r--r-- | testing/php7/includedir.patch | 41 | ||||
-rw-r--r-- | testing/php7/install-pear.patch | 15 | ||||
-rw-r--r-- | testing/php7/php7-fpm.initd | 27 | ||||
-rw-r--r-- | testing/php7/php7-module.conf | 5 | ||||
-rw-r--r-- | testing/php7/tidy-buffio.patch | 11 |
6 files changed, 513 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" diff --git a/testing/php7/includedir.patch b/testing/php7/includedir.patch new file mode 100644 index 0000000000..0e1eafe83d --- /dev/null +++ b/testing/php7/includedir.patch @@ -0,0 +1,41 @@ +--- a/scripts/Makefile.frag ++++ b/scripts/Makefile.frag +@@ -3,7 +3,7 @@ + # Build environment install + # + +-phpincludedir = $(includedir)/php ++phpincludedir = $(includedir)/php7 + phpbuilddir = $(libdir)/build + + BUILD_FILES = \ +--- a/ext/pdo/Makefile.frag ++++ b/ext/pdo/Makefile.frag +@@ -1,4 +1,4 @@ +-phpincludedir=$(prefix)/include/php ++phpincludedir=$(prefix)/include/php7 + + PDO_HEADER_FILES= \ + php_pdo.h \ +--- a/scripts/php-config.in ++++ b/scripts/php-config.in +@@ -6,7 +6,7 @@ + exec_prefix="@exec_prefix@" + version="@PHP_VERSION@" + vernum="@PHP_VERSION_ID@" +-include_dir="@includedir@/php" ++include_dir="@includedir@/php7" + includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib" + ldflags="@PHP_LDFLAGS@" + libs="@EXTRA_LIBS@" +--- a/scripts/phpize.in ++++ b/scripts/phpize.in +@@ -5,7 +5,7 @@ + datarootdir='@datarootdir@' + exec_prefix="`eval echo @exec_prefix@`" + phpdir="`eval echo @libdir@`/build" +-includedir="`eval echo @includedir@`/php" ++includedir="`eval echo @includedir@`/php7" + builddir="`pwd`" + SED="@SED@" + diff --git a/testing/php7/install-pear.patch b/testing/php7/install-pear.patch new file mode 100644 index 0000000000..18747be94b --- /dev/null +++ b/testing/php7/install-pear.patch @@ -0,0 +1,15 @@ +--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000 ++++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000 +@@ -2,8 +2,11 @@ + + peardir=$(PEAR_INSTALLDIR) + ++# help the built php to find xml extension so we can install pear ++PEAR_INSTALL_XML_FLAGS = -d extension_dir="$(top_builddir)/modules" -d extension=xml.so ++ + # Skip all php.ini files altogether +-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 ++PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS) + + WGET = `which wget 2>/dev/null` + FETCH = `which fetch 2>/dev/null` diff --git a/testing/php7/php7-fpm.initd b/testing/php7/php7-fpm.initd new file mode 100644 index 0000000000..c6bd71a69a --- /dev/null +++ b/testing/php7/php7-fpm.initd @@ -0,0 +1,27 @@ +#!/sbin/openrc-run + +name="PHP7 FastCGI Process Manager" +cfgfile="/etc/php7/php-fpm.conf" +pidfile="/var/run/php-fpm7.pid" +command="/usr/sbin/php-fpm7" +command_args="--fpm-config $cfgfile --pid $pidfile" +required_files="$cfgfile" + +extra_started_commands="reload" + +depend() { + need net + before apache2 lighttpd nginx +} + +start_pre() { + ebegin + $command $command_args -t 2>/dev/null + eend $? +} + +reload() { + ebegin "Reloading $name" + start-stop-daemon --signal USR2 --pidfile $pidfile + eend $? +} diff --git a/testing/php7/php7-module.conf b/testing/php7/php7-module.conf new file mode 100644 index 0000000000..cf7573bb10 --- /dev/null +++ b/testing/php7/php7-module.conf @@ -0,0 +1,5 @@ +LoadModule php7_module modules/mod_php7.so + +DirectoryIndex index.php index.html +AddHandler application/x-httpd-php .php +AddHandler application/x-httpd-php-source .phps diff --git a/testing/php7/tidy-buffio.patch b/testing/php7/tidy-buffio.patch new file mode 100644 index 0000000000..c15f9540a4 --- /dev/null +++ b/testing/php7/tidy-buffio.patch @@ -0,0 +1,11 @@ +--- a/ext/tidy/tidy.c ++++ b/ext/tidy/tidy.c +@@ -31,7 +31,7 @@ + #include "ext/standard/info.h" + + #include "tidy.h" +-#include "buffio.h" ++#include "tidybuffio.h" + + /* compatibility with older versions of libtidy */ + #ifndef TIDY_CALL |