~alpine/aports

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

Details
Message ID
<1454954874-9969-1-git-send-email-valery.kartel@gmail.com>
Sender timestamp
1454954874
DKIM signature
missing
Download raw message
Patch: +513 -0
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
---
Details
Message ID
<20160210140031.GA32648@francium.lan>
In-Reply-To
<1454954874-9969-1-git-send-email-valery.kartel@gmail.com> (view parent)
Sender timestamp
1455112831
DKIM signature
missing
Download raw message
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
---
Details
Message ID
<CAKTwcDP3PgL1hyJ4yYVsWeeQyE4E9pXCXobsn01XEKinWeqRTA@mail.gmail.com>
In-Reply-To
<20160210140031.GA32648@francium.lan> (view parent)
Sender timestamp
1455121584
DKIM signature
missing
Download raw message
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.
>
Details
Message ID
<CAKTwcDNueVLV_vGBoGDJNSgZKvq0NHCFq2eAsqODdWRYYiLTPQ@mail.gmail.com>
In-Reply-To
<CAKTwcDP3PgL1hyJ4yYVsWeeQyE4E9pXCXobsn01XEKinWeqRTA@mail.gmail.com> (view parent)
Sender timestamp
1456138805
DKIM signature
missing
Download raw message
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.
>>
>
Reply to thread Export thread (mbox)