Subject: [alpine-aports] [PATCH] testing/php7: Change arch to all, add extension loading order, add iconv extension

From: Valery Kartel <[email-masked]>
Date: Mon, 4 Apr 2016 22:02:20 +0300

---

- fix arch with adding --with-pic
- add extension ini-file prefix to resolve loading order
- Add Stuart Cardall's patch http://patchwork.alpinelinux.org/patch/1842/
  to enable php7-iconv extension
---
 testing/php7/APKBUILD            | 38 +++++++++++++++++++++++---------------
 testing/php7/libintl-iconv.patch | 10 ++++++++++
 2 files changed, 33 insertions(+), 15 deletions(-)
 create mode 100644 testing/php7/libintl-iconv.patch

diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
index 046dd65..f6d8918 100644
--- a/testing/php7/APKBUILD
+++ b/testing/php7/APKBUILD
@@ -3,10 +3,10 @@
 pkgname=php7
 _pkgreal=php
 pkgver=7.0.5
-pkgrel=0
+pkgrel=1
 pkgdesc="The PHP language runtime engine - 7th branch"
 url="http://www.php.net/"
-arch="x86_64 armhf"
+arch="all"
 license="PHP-3"
 options="textrels"
 depends="$pkgname-common"
@@ -16,7 +16,7 @@ makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-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 paxmark
+	readline-dev mhash-dev paxmark gettext-dev
 "
 
 subpackages="$pkgname-dev $pkgname-doc
@@ -35,6 +35,7 @@ subpackages="$pkgname-dev $pkgname-doc
 	$pkgname-gd
 	$pkgname-gettext
 	$pkgname-gmp
+	$pkgname-iconv
 	$pkgname-imap
 	$pkgname-intl
 	$pkgname-json
@@ -87,6 +88,7 @@ source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
 	includedir.patch
 	pid_log.patch
 	fix-crypt.patch
+	libintl-iconv.patch
 	"
 
 _apiver="20151012"
@@ -120,6 +122,7 @@ _build() {
 		--sysconfdir=/etc/$pkgname \
 		--localstatedir=/var \
 		--with-layout=GNU \
+		--with-pic \
 		--with-pear=/usr/share/$pkgname \
 		--with-config-file-path=/etc/$pkgname \
 		--with-config-file-scan-dir=/etc/$pkgname/conf.d \
@@ -142,6 +145,7 @@ _build() {
 		--with-gettext=shared \
 		--with-gmp=shared \
 		--with-mhash=shared \
+		--with-iconv=shared \
 		--with-imap=shared --with-imap-ssl \
 		--enable-intl=shared --with-icu-dir=/usr \
 		--enable-json=shared \
@@ -323,23 +327,23 @@ common() {
 
 _mv_ext() {
 	local ext=$1
-	local ini=$ext.ini
-	local dir=/usr/lib/$pkgname/modules
+	local elo=00
 	local prefix=
 	pkgdesc="PHP7 extension: $ext"
 
-	# extension dependencies
-	[ -n "${2-}" ] && depends=$2
+	# extension dependencies and loading order
+	if [ -n "${2-}" ]; then
+		depends=$2
+		elo=01
+	fi
 
-	# work around dependency issue
-	# https://bugs.alpinelinux.org/issues/1848
-	[ "$ext" = "wddx" ] && ini=xml_$ext.ini
+	# extension prefix
+	[ "$1" = "opcache" ] && prefix="zend_"
 
 	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
+	echo "${prefix}extension=${ext}.so" > "$subpkgdir"/etc/$pkgname/conf.d/${elo}_${ext}.ini
 }
 
 bcmath()	{ _mv_ext bcmath; }
@@ -355,6 +359,7 @@ ftp()		{ _mv_ext ftp; }
 gd()		{ _mv_ext gd; }
 gettext()	{ _mv_ext gettext; }
 gmp()		{ _mv_ext gmp; }
+iconv()		{ _mv_ext iconv; }
 imap()		{ _mv_ext imap; }
 intl()		{ _mv_ext intl; }
 json()		{ _mv_ext json; }
@@ -408,7 +413,8 @@ a340f27e83ed4482d2fbb98658ef71cb  php7-fpm.initd
 66f0037a029f9eed2b31d2e1d50f1860  tidy-buffio.patch
 d872e633c9b33c3c9f629dd2edd2e5c5  includedir.patch
 6ba762ab7a105163b8e5b3913deae109  pid_log.patch
-7f12fabdd1494e1c994cadd167e401d8  fix-crypt.patch"
+7f12fabdd1494e1c994cadd167e401d8  fix-crypt.patch
+9d9c28c99a874d9fc7b597c30a84126c  libintl-iconv.patch"
 sha256sums="2c09af7fe64537ea795f098b9b542ead407ef83f7cdc65b3787115ccbbb51de9  php-7.0.5.tar.bz2
 eca59e8b0498c1c93b35f9a5109ae56d0cda9d94822727d689371ccad31b3615  php7-fpm.initd
 6e4406f21b69085714cdb9d9a67c08e27a1c737ab353f9813cb2fc268352d2c6  php7-fpm.logrotate
@@ -417,7 +423,8 @@ f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab  install-pear.p
 5dc8f32e5e2b1cd6317ada5a5adb9b5f0802ed6e0dbe065d7bfcc0f55d47e0d5  tidy-buffio.patch
 ea74966a23b1b54548ee35e9ccc2fc8d2b7c2285c385c44d6b23d9e2f25ea1a7  includedir.patch
 0cca8729c64682387a8c44ed74f0966da697f2817152d8d05bb25bedc7eaafec  pid_log.patch
-ffc10d325be398a5560fe9265e89f056ef2eba27981c98300be30bbc2f18a4ec  fix-crypt.patch"
+ffc10d325be398a5560fe9265e89f056ef2eba27981c98300be30bbc2f18a4ec  fix-crypt.patch
+c7098accd0df9fb523e451f205b95708c81417364acdbb0bb9b506225e770f0f  libintl-iconv.patch"
 sha512sums="13d6dcd339211b22761586f2804c7470634e00b36e5e0b7bcf5188c017f950cbf49a2d4dd41047a7d44c70ed9474097a7290fc84ee3c26532e2ad8a2cbe706d7  php-7.0.5.tar.bz2
 89076ab8e170a8f886b88bb30aa3e6a6b4463155a18ea53485cc9e3898c81afa3d01fb8403d28a45dc1680f09c645c2d81d8272bc8b9c7ced41e59b0ba226216  php7-fpm.initd
 cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691  php7-fpm.logrotate
@@ -426,4 +433,5 @@ f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c93976
 6894c9cba7752a3406e774d9efc0e058c37433493c1c20101e9563bf247c112157a67e306b06b9517b0422eca521f543d637a6cbd2cea7639e43f13d773b3d2b  tidy-buffio.patch
 199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b  includedir.patch
 82231c7b27b4d044272857dc713674884715ed8e36e54be06faa5d2a949ba4bca597628958a9c5683ec51c36e05a00f6be811c7e95112b0314c98528f584a8d6  pid_log.patch
-b4badb1850bf99210498d6e27136ee275379b5c39c52904b292aed204d5c95a845ed53db7dd56856121b3019ffefc7632419f9b2c45f431165ec0b5c5cbe974d  fix-crypt.patch"
+b4badb1850bf99210498d6e27136ee275379b5c39c52904b292aed204d5c95a845ed53db7dd56856121b3019ffefc7632419f9b2c45f431165ec0b5c5cbe974d  fix-crypt.patch
+5f25d89e78a0cba8c360f3c45eae1014b2aa0d23ebce801a7763b537c29f308b351253eac7cc5ae9455acb3550089397bc11c22e5489ac99b7d1a78f3c2ec596  libintl-iconv.patch"
diff --git a/testing/php7/libintl-iconv.patch b/testing/php7/libintl-iconv.patch
new file mode 100644
index 0000000..c9238d6
--- /dev/null
+++ b/testing/php7/libintl-iconv.patch
@@ -0,0 +1,10 @@
+--- a/ext/standard/string.c
++++ b/ext/standard/string.c
+@@ -23,6 +23,7 @@
+ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
+
+ #include <stdio.h>
++#include <libintl.h>
+ #include "php.h"
+ #include "php_rand.h"
+ #include "php_string.h"
-- 
2.8.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---