aboutsummaryrefslogtreecommitdiffstats
path: root/testing/php
diff options
context:
space:
mode:
Diffstat (limited to 'testing/php')
-rw-r--r--testing/php/APKBUILD234
-rw-r--r--testing/php/gd-info-segfault.patch26
-rw-r--r--testing/php/php.post-upgrade11
3 files changed, 271 insertions, 0 deletions
diff --git a/testing/php/APKBUILD b/testing/php/APKBUILD
new file mode 100644
index 0000000000..6d9724953f
--- /dev/null
+++ b/testing/php/APKBUILD
@@ -0,0 +1,234 @@
+# Contributor: Carlo Landmeter <clandmeter at gmail>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=php
+pkgver=5.3.0
+_suhosinver=${pkgver}-0.9.8-BETA-1
+pkgrel=2
+pkgdesc="The PHP language runtime engine"
+url="http://www.php.net/"
+license="PHP-3"
+depends=
+install="$pkgname.post-upgrade"
+makedepends="pcre-dev libxml2-dev libiconv-dev openssl-dev zlib-dev bzip2-dev
+ curl-dev libpng-dev jpeg-dev freetype-dev libmcrypt-dev mysql-dev
+ sqlite-dev libtool libltdl postgresql-dev db-dev unixodbc-dev icu-dev
+ gd-dev gmp-dev gettext-dev imap-dev aspell-dev
+ net-snmp-dev libxslt-dev cyrus-sasl-dev openldap-dev pkgconfig
+ libgcrypt-dev"
+subpackages="$pkgname-dev $pkgname-doc
+ $pkgname-bcmath
+ $pkgname-bz2
+ $pkgname-calendar
+ $pkgname-curl
+ $pkgname-dba
+ $pkgname-exif
+ $pkgname-ftp
+ $pkgname-gd
+ $pkgname-gettext
+ $pkgname-gmp
+ $pkgname-iconv
+ $pkgname-imap
+ $pkgname-intl
+ $pkgname-json
+ $pkgname-ldap
+ $pkgname-mcrypt
+ $pkgname-mysql
+ $pkgname-mysqli
+ $pkgname-odbc
+ $pkgname-openssl
+ $pkgname-pdo
+ $pkgname-pdo_mysql
+ $pkgname-pdo_odbc
+ $pkgname-pdo_pgsql
+ $pkgname-pdo_sqlite
+ $pkgname-pgsql
+ $pkgname-phar
+ $pkgname-posix
+ $pkgname-pspell
+ $pkgname-shmop
+ $pkgname-snmp
+ $pkgname-soap
+ $pkgname-sockets
+ $pkgname-sqlite
+ $pkgname-sqlite3
+ $pkgname-sysvmsg
+ $pkgname-sysvsem
+ $pkgname-sysvshm
+ $pkgname-xml
+ $pkgname-xmlrpc
+ $pkgname-xsl
+ $pkgname-zip
+ $pkgname-zlib
+ "
+
+source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2
+ http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz
+ gd-info-segfault.patch
+ "
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # apply suhosin patch
+ gunzip -c ${srcdir}/suhosin-patch-${_suhosinver}.patch.gz \
+ | patch -p1 || return 1
+
+ # fix gd segfault; http://bugs.php.net/bug.php?id=49193
+ patch -p0 -i ${srcdir}/gd-info-segfault.patch || return 1
+
+ phpextensions="--enable-bcmath=shared \
+ --enable-calendar=shared \
+ --enable-dba=shared \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --enable-gd-native-ttf \
+ --enable-intl=shared \
+ --enable-json=shared \
+ --enable-mbregex \
+ --enable-mbstring \
+ --enable-pdo=shared \
+ --enable-phar=shared \
+ --enable-posix=shared \
+ --enable-session \
+ --enable-shmop=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --enable-sqlite-utf8 \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --enable-xml=shared \
+ --enable-zip=shared \
+ --with-bz2=shared \
+ --with-curl=shared \
+ --with-db4=shared \
+ --with-freetype-dir=shared,/usr \
+ --with-gd=shared,/usr \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --with-icu-dir=/usr \
+ --with-imap-ssl=shared \
+ --with-imap=shared \
+ --with-jpeg-dir=shared,/usr \
+ --with-ldap=shared \
+ --with-mcrypt=shared \
+ --with-mysql-sock=/tmp/mysql.sock \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-odbc=shared,unixODBC,/usr \
+ --with-pdo-pgsql=shared \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pgsql=shared \
+ --with-png-dir=shared,/usr \
+ --with-pspell=shared \
+ --with-regex=php \
+ --with-snmp=shared \
+ --with-sqlite3=shared,/usr \
+ --with-sqlite=shared \
+ --with-unixODBC=shared,/usr \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --with-zlib=shared \
+ --without-db1 \
+ --without-db2 \
+ --without-db3 \
+ --without-qdbm \
+ "
+# --with-enchant=shared,/usr \
+# --with-tidy=shared \
+ ./configure --build=${CHOST:-i486-alpine-linux-uclibc} \
+ --prefix=/usr \
+ --sysconfdir=/etc/php \
+ --with-layout=GNU \
+ --with-config-file-path=/etc/php \
+ --with-config-file-scan-dir=/etc/php/conf.d \
+ --enable-inline-optimization \
+ --disable-debug \
+ --disable-rpath \
+ --disable-static \
+ --enable-shared \
+ --mandir=/usr/share/man \
+ --enable-fastcgi \
+ --enable-cgi \
+ --disable-cli \
+ --enable-discard-path \
+ --enable-force-cgi-redirect \
+ --with-pic \
+ $phpextensions
+
+ make || return 1
+ make -j1 INSTALL_ROOT="$pkgdir" install || return 1
+ install -D -m644 php.ini-production "$pkgdir"/etc/php/php.ini
+}
+
+_mv_mod() {
+ pkgdesc="$1 php extension"
+ local d=usr/lib/php/20090626
+ mkdir -p "$subpkgdir/$d"
+ mv "$pkgdir/$d/${1}.so" "$subpkgdir/$d/" || return 1
+ install -d "$subpkgdir"/etc/php/conf.d
+ echo "extension=${1}.so" > "$subpkgdir"/etc/php/conf.d/${1}.ini
+ return 0
+}
+
+bcmath() { _mv_mod bcmath; }
+bz2() { _mv_mod bz2; }
+calendar() { _mv_mod calendar; }
+curl() { _mv_mod curl; }
+dba() { _mv_mod dba; }
+#enchant() { _mv_mod enchant; }
+exif() { _mv_mod exif; }
+ftp() { _mv_mod ftp; }
+gd() { _mv_mod gd; }
+gettext() { _mv_mod gettext; }
+gmp() { _mv_mod gmp; }
+iconv() { _mv_mod iconv; }
+imap() { _mv_mod imap; }
+intl() { _mv_mod intl; }
+json() { _mv_mod json; }
+ldap() { _mv_mod ldap; }
+mcrypt() { _mv_mod mcrypt; }
+mysql() { _mv_mod mysql; }
+mysqli() { _mv_mod mysqli; }
+odbc() { _mv_mod odbc; }
+openssl() { _mv_mod openssl; }
+pdo() { _mv_mod pdo; }
+pdo_mysql() { _mv_mod pdo_mysql; }
+pdo_odbc() { _mv_mod pdo_odbc; }
+pdo_pgsql() { _mv_mod pdo_pgsql; }
+pdo_sqlite() { _mv_mod pdo_sqlite; }
+phar() { _mv_mod phar; }
+posix() { _mv_mod posix; }
+pgsql() { _mv_mod pgsql; }
+pspell() { _mv_mod pspell; }
+#session() { _mv_mod session; }
+shmop() { _mv_mod shmop; }
+snmp() { _mv_mod snmp; }
+soap() { _mv_mod soap; }
+sockets() { _mv_mod sockets; }
+sqlite() { _mv_mod sqlite; }
+sqlite3() { _mv_mod sqlite3; }
+sysvmsg() { _mv_mod sysvmsg; }
+sysvsem() { _mv_mod sysvsem; }
+sysvshm() { _mv_mod sysvshm; }
+xml() { _mv_mod xml; }
+xmlrpc() { _mv_mod xmlrpc; }
+xsl() { _mv_mod xsl; }
+zip() { _mv_mod zip; }
+zlib() { _mv_mod zlib; }
+
+# devleoper package
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/lib/php/ "$subpkgdir"/usr/bin/
+ mv "$pkgdir"/usr/lib/php/build "$subpkgdir"/usr/lib/php/
+ mv "$pkgdir"/usr/bin/phpize "$subpkgdir"/usr/bin/
+}
+
+md5sums="846760cd655c98dfd86d6d97c3d964b0 php-5.3.0.tar.bz2
+62dc36545b86bf86e44ada1fccc17d0a suhosin-patch-5.3.0-0.9.8-BETA-1.patch.gz
+1c1a50aae7207b12d27bdecd8967e7ce gd-info-segfault.patch"
diff --git a/testing/php/gd-info-segfault.patch b/testing/php/gd-info-segfault.patch
new file mode 100644
index 0000000000..846a19ef74
--- /dev/null
+++ b/testing/php/gd-info-segfault.patch
@@ -0,0 +1,26 @@
+Index: ext/gd/libgd/gd_compat.c
+===================================================================
+--- ext/gd/libgd/gd_compat.c (Revision 286947)
++++ ext/gd/libgd/gd_compat.c (Revision 286948)
+@@ -14,7 +14,7 @@
+ return JPEG_LIB_VERSION;
+ }
+
+-int gdJpegGetVersionString()
++const char * gdJpegGetVersionString()
+ {
+ switch(JPEG_LIB_VERSION) {
+ case 62:
+Index: ext/gd/libgd/gd_compat.h
+===================================================================
+--- ext/gd/libgd/gd_compat.h (Revision 286947)
++++ ext/gd/libgd/gd_compat.h (Revision 286948)
+@@ -8,7 +8,7 @@
+ #endif
+
+ const char * gdPngGetVersionString();
+-int gdJpegGetVersionString();
++const char * gdJpegGetVersionString();
+ int gdJpegGetVersionInt();
+ int overflow2(int a, int b);
+
diff --git a/testing/php/php.post-upgrade b/testing/php/php.post-upgrade
new file mode 100644
index 0000000000..98c959958c
--- /dev/null
+++ b/testing/php/php.post-upgrade
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+new=$1
+old=$2
+
+if [ "$(apk version -t $old 5.3)" = "<" ]; then
+ echo "*"
+ echo "* Please see migration notes here: http://php.net/migration53"
+ echo "*"
+fi
+