~alpine/aports

testing/php7: new aport v1 PROPOSED

Valery Kartel: 1
 testing/php7: new aport

 6 files changed, 513 insertions(+), 0 deletions(-)
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>:
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/aports/patches/2284/mbox | git am -3
Learn more about email & git

[alpine-aports] [PATCH] testing/php7: new aport Export this patch

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: