This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
3
2
[alpine-aports] [PATCH] testing/php7: new aport
The PHP language runtime engine - 7th branch
http://php.net/
---
testing/php7/APKBUILD | 414 ++++++++++++++++++++++++++++++++++++++++
testing/php7/includedir.patch | 41 ++++
testing/php7/install-pear.patch | 15 ++
testing/php7/php7-fpm.initd | 27 +++
testing/php7/php7-module.conf | 5 +
testing/php7/tidy-buffio.patch | 11 ++
6 files changed, 513 insertions(+)
create mode 100644 testing/php7/APKBUILD
create mode 100644 testing/php7/includedir.patch
create mode 100644 testing/php7/install-pear.patch
create mode 100644 testing/php7/php7-fpm.initd
create mode 100644 testing/php7/php7-module.conf
create mode 100644 testing/php7/tidy-buffio.patch
diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
new file mode 100644
index 0000000..9114ea4
--- /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 0000000..0e1eafe
--- /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 0000000..18747be
--- /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 0000000..c6bd71a
--- /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 0000000..cf7573b
--- /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 0000000..c15f954
--- /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
--
2.7.0
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
Hey,
Much thanks for your patch. I applied it but PHP7 doesn't seem to build
on x86 (as of now I am also not sure if it builds on armhf).
Here is the build log for x86:
http://build.alpinelinux.org/buildlogs/build-edge-x86/testing/php7/php7-7.0.3-r0.log
The relevant part probably is the following:
> Installing PEAR environment: /home/buildozer/aports/testing/php7/pkg/php7/usr/share/php7/
> PHP Warning: PHP Startup: Unable to load dynamic library '/home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so' - Error loading shared library /home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so: Permission denied in Unknown on line 0
> [PEAR] xml extension is required
> /home/buildozer/aports/testing/php7/src/php-7.0.3/build/shtool install -c ext/phar/phar.phar /home/buildozer/aports/testing/php7/pkg/php7/usr/bin
> ln -s -f phar.phar /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/phar
> Installing PDO headers: /home/buildozer/aports/testing/php7/pkg/php7/usr/include/php7/ext/pdo/
> sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pear: No such file or directory
> sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/peardev: No such file or directory
> sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pecl: No such file or directory
Would you be interested in fixing this?
On 08.02.16, Valery Kartel wrote:
> The PHP language runtime engine - 7th branch
> http://php.net/
> ---
> testing/php7/APKBUILD | 414 ++++++++++++++++++++++++++++++++++++++++
> testing/php7/includedir.patch | 41 ++++
> testing/php7/install-pear.patch | 15 ++
> testing/php7/php7-fpm.initd | 27 +++
> testing/php7/php7-module.conf | 5 +
> testing/php7/tidy-buffio.patch | 11 ++
> 6 files changed, 513 insertions(+)
> create mode 100644 testing/php7/APKBUILD
> create mode 100644 testing/php7/includedir.patch
> create mode 100644 testing/php7/install-pear.patch
> create mode 100644 testing/php7/php7-fpm.initd
> create mode 100644 testing/php7/php7-module.conf
> create mode 100644 testing/php7/tidy-buffio.patch
>
> diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
> new file mode 100644
> index 0000000..9114ea4
> --- /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 0000000..0e1eafe
> --- /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 0000000..18747be
> --- /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 0000000..c6bd71a
> --- /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 0000000..cf7573b
> --- /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 0000000..c15f954
> --- /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
> --
> 2.7.0
>
>
>
> ---
> Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
> Help: alpine-aports+help@lists.alpinelinux.org
> ---
>
Sören.
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
Hm, it's strange, because my development virtual machine is x86. (Alpine
vanilla 4.1.15 i686)
As I see, you have troubles with permissions.
:: Error loading shared library
/home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so:
Permission denied in Unknown on line 0
It's not a build bug. It's something wrong with owners/access modes on your
build system.
As far as I know 'abuild rootpkg' made all things from root. So abuild have
full access to filesystem on this step.
10 лют. 2016 16:00 "Sören Tempel" <soeren@soeren-tempel.net> пише:
> Hey,
>
> Much thanks for your patch. I applied it but PHP7 doesn't seem to build
> on x86 (as of now I am also not sure if it builds on armhf).
>
> Here is the build log for x86:
>
>
> http://build.alpinelinux.org/buildlogs/build-edge-x86/testing/php7/php7-7.0.3-r0.log
>
> The relevant part probably is the following:
>
> > Installing PEAR environment:
> /home/buildozer/aports/testing/php7/pkg/php7/usr/share/php7/
> > PHP Warning: PHP Startup: Unable to load dynamic library
> '/home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so' - Error
> loading shared library
> /home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so:
> Permission denied in Unknown on line 0
> > [PEAR] xml extension is required
> > /home/buildozer/aports/testing/php7/src/php-7.0.3/build/shtool install
> -c ext/phar/phar.phar /home/buildozer/aports/testing/php7/pkg/php7/usr/bin
> > ln -s -f phar.phar
> /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/phar
> > Installing PDO headers:
> /home/buildozer/aports/testing/php7/pkg/php7/usr/include/php7/ext/pdo/
> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pear: No such
> file or directory
> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/peardev: No
> such file or directory
> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pecl: No such
> file or directory
>
> Would you be interested in fixing this?
>
> On 08.02.16, Valery Kartel wrote:
> > The PHP language runtime engine - 7th branch
> > http://php.net/
> > ---
> > testing/php7/APKBUILD | 414
> ++++++++++++++++++++++++++++++++++++++++
> > testing/php7/includedir.patch | 41 ++++
> > testing/php7/install-pear.patch | 15 ++
> > testing/php7/php7-fpm.initd | 27 +++
> > testing/php7/php7-module.conf | 5 +
> > testing/php7/tidy-buffio.patch | 11 ++
> > 6 files changed, 513 insertions(+)
> > create mode 100644 testing/php7/APKBUILD
> > create mode 100644 testing/php7/includedir.patch
> > create mode 100644 testing/php7/install-pear.patch
> > create mode 100644 testing/php7/php7-fpm.initd
> > create mode 100644 testing/php7/php7-module.conf
> > create mode 100644 testing/php7/tidy-buffio.patch
> >
> > diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
> > new file mode 100644
> > index 0000000..9114ea4
> > --- /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 0000000..0e1eafe
> > --- /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 0000000..18747be
> > --- /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 0000000..c6bd71a
> > --- /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 0000000..cf7573b
> > --- /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 0000000..c15f954
> > --- /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
> > --
> > 2.7.0
> >
> >
> >
> > ---
> > Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
> > Help: alpine-aports+help@lists.alpinelinux.org
> > ---
> >
>
> Sören.
>
Hey,
I just commit a fix for php7 mysql-related extensions.
And also I change arch to "all" because it does not want to build on my x86.
Do you have any success with php7 building on your x86 ?
2016-02-10 18:26 GMT+02:00 Valery Kartel <valery.kartel@gmail.com>:
> Hm, it's strange, because my development virtual machine is x86. (Alpine
> vanilla 4.1.15 i686)
> As I see, you have troubles with permissions.
> :: Error loading shared library
> /home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so:
> Permission denied in Unknown on line 0
>
> It's not a build bug. It's something wrong with owners/access modes on
> your build system.
>
> As far as I know 'abuild rootpkg' made all things from root. So abuild
> have full access to filesystem on this step.
> 10 лют. 2016 16:00 "Sören Tempel" <soeren@soeren-tempel.net> пише:
>
> Hey,
>>
>> Much thanks for your patch. I applied it but PHP7 doesn't seem to build
>> on x86 (as of now I am also not sure if it builds on armhf).
>>
>> Here is the build log for x86:
>>
>>
>> http://build.alpinelinux.org/buildlogs/build-edge-x86/testing/php7/php7-7.0.3-r0.log
>>
>> The relevant part probably is the following:
>>
>> > Installing PEAR environment:
>> /home/buildozer/aports/testing/php7/pkg/php7/usr/share/php7/
>> > PHP Warning: PHP Startup: Unable to load dynamic library
>> '/home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so' - Error
>> loading shared library
>> /home/buildozer/aports/testing/php7/src/php-7.0.3/modules/xml.so:
>> Permission denied in Unknown on line 0
>> > [PEAR] xml extension is required
>> > /home/buildozer/aports/testing/php7/src/php-7.0.3/build/shtool install
>> -c ext/phar/phar.phar /home/buildozer/aports/testing/php7/pkg/php7/usr/bin
>> > ln -s -f phar.phar
>> /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/phar
>> > Installing PDO headers:
>> /home/buildozer/aports/testing/php7/pkg/php7/usr/include/php7/ext/pdo/
>> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pear: No such
>> file or directory
>> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/peardev: No
>> such file or directory
>> > sed: /home/buildozer/aports/testing/php7/pkg/php7/usr/bin/pecl: No such
>> file or directory
>>
>> Would you be interested in fixing this?
>>
>> On 08.02.16, Valery Kartel wrote:
>> > The PHP language runtime engine - 7th branch
>> > http://php.net/
>> > ---
>> > testing/php7/APKBUILD | 414
>> ++++++++++++++++++++++++++++++++++++++++
>> > testing/php7/includedir.patch | 41 ++++
>> > testing/php7/install-pear.patch | 15 ++
>> > testing/php7/php7-fpm.initd | 27 +++
>> > testing/php7/php7-module.conf | 5 +
>> > testing/php7/tidy-buffio.patch | 11 ++
>> > 6 files changed, 513 insertions(+)
>> > create mode 100644 testing/php7/APKBUILD
>> > create mode 100644 testing/php7/includedir.patch
>> > create mode 100644 testing/php7/install-pear.patch
>> > create mode 100644 testing/php7/php7-fpm.initd
>> > create mode 100644 testing/php7/php7-module.conf
>> > create mode 100644 testing/php7/tidy-buffio.patch
>> >
>> > diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
>> > new file mode 100644
>> > index 0000000..9114ea4
>> > --- /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 0000000..0e1eafe
>> > --- /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 0000000..18747be
>> > --- /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 0000000..c6bd71a
>> > --- /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 0000000..cf7573b
>> > --- /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 0000000..c15f954
>> > --- /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
>> > --
>> > 2.7.0
>> >
>> >
>> >
>> > ---
>> > Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
>> > Help: alpine-aports+help@lists.alpinelinux.org
>> > ---
>> >
>>
>> Sören.
>>
>