summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xssn.at>2009-11-19 21:05:13 +0100
committerFlorian Pritz <bluewind@xssn.at>2009-11-26 18:03:07 +0100
commit2284cc46e1fa85d5a8fbfc80a0b052b2c07b9e5b (patch)
tree89e84ca30bbc30b808b8a1750b9cdef0305d0aa0
parent7155de6730bac6549b53cb08b746581d5ce4fa50 (diff)
downloadaur-packages-2284cc46e1fa85d5a8fbfc80a0b052b2c07b9e5b.tar.gz
aur-packages-2284cc46e1fa85d5a8fbfc80a0b052b2c07b9e5b.tar.xz
add php
Signed-off-by: Florian Pritz <bluewind@xssn.at>
-rw-r--r--php/PKGBUILD324
-rw-r--r--php/apache.conf9
-rw-r--r--php/db-configure.patch51
-rw-r--r--php/gd-info-segfault.patch26
-rw-r--r--php/php.ini.patch120
5 files changed, 530 insertions, 0 deletions
diff --git a/php/PKGBUILD b/php/PKGBUILD
new file mode 100644
index 0000000..79806a9
--- /dev/null
+++ b/php/PKGBUILD
@@ -0,0 +1,324 @@
+# $Id$
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+pkgbase=php
+pkgname=('php'
+ 'php-cgi'
+ 'php-apache'
+ 'php-pear'
+ 'php-curl'
+ 'php-enchant'
+ 'php-gd'
+ 'php-gmp'
+ 'php-intl'
+ 'php-ldap'
+ 'php-mcrypt'
+ 'php-odbc'
+ 'php-pgsql'
+ 'php-pspell'
+ 'php-snmp'
+ 'php-sqlite'
+ 'php-tidy'
+ 'php-xsl')
+pkgver=5.3.0
+pkgrel=3
+_suhosinver=${pkgver}-0.9.8-BETA-1
+arch=('i686' 'x86_64')
+license=('PHP')
+url='http://www.php.net'
+makedepends=('apache' 'imap' 'postgresql-libs' 'mysql' 'libldap' 'postfix'
+ 'sqlite3' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file'
+ 'libmcrypt' 'tidyhtml' 'aspell' 'libtool' 'gd' 'icu'
+ 'curl' 'libxslt' 'openssl' 'bzip2' 'db' 'gmp')
+options=('!makeflags')
+source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.bz2"
+ "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz"
+ 'php.ini.patch' 'apache.conf' 'db-configure.patch' 'gd-info-segfault.patch')
+md5sums=('846760cd655c98dfd86d6d97c3d964b0'
+ '62dc36545b86bf86e44ada1fccc17d0a'
+ '67c63d2c8a976a333bbd2216cdd60413'
+ '96ca078be6729b665be8a865535a97bf'
+ '45ecb6fb0aadfd3462097e3bab951aa5'
+ '1c1a50aae7207b12d27bdecd8967e7ce')
+
+build() {
+ phpconfig="--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 \
+ --without-pear \
+ "
+
+ 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 \
+ --enable-zip=shared \
+ --with-bz2=shared \
+ --with-curl=shared \
+ --with-db4=shared \
+ --with-enchant=shared,/usr \
+ --with-freetype-dir=shared,/usr \
+ --with-gd=shared,/usr \
+ --with-gdbm=shared \
+ --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-tidy=shared \
+ --with-unixODBC=shared,/usr \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --with-zlib \
+ --without-db2 \
+ --without-db3 \
+ "
+
+ EXTENSION_DIR=/usr/lib/php/modules
+ export EXTENSION_DIR
+ PEAR_INSTALLDIR=/usr/share/pear
+ export PEAR_INSTALLDIR
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ # avoid linking against old db version
+ patch -p0 -i ${srcdir}/db-configure.patch || return 1
+
+ # apply suhosin patch
+ patch -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch || return 1
+
+ # adjust paths
+ patch -p0 -i ${srcdir}/php.ini.patch || return 1
+
+ # fix gd segfault; http://bugs.php.net/bug.php?id=49193
+ patch -p0 -i ${srcdir}/gd-info-segfault.patch || return 1
+
+ # php
+ mkdir ${srcdir}/build-php
+ cd ${srcdir}/build-php
+ ln -s ../${pkgbase}-${pkgver}/configure
+ ./configure --srcdir=../${pkgbase}-${pkgver} \
+ ${phpconfig} \
+ --disable-cgi \
+ --with-readline \
+ --enable-pcntl \
+ ${phpextensions} || return 1
+ make || return 1
+
+ # cgi and fcgi
+ # reuse the previous run; this will save us a lot of time
+ cp -a ${srcdir}/build-php ${srcdir}/build-cgi
+ cd ${srcdir}/build-cgi
+ ./configure --srcdir=../${pkgbase}-${pkgver} \
+ ${phpconfig} \
+ --enable-cgi \
+ --disable-cli \
+ ${phpextensions} || return 1
+ make || return 1
+
+ # apache
+ cp -a ${srcdir}/build-php ${srcdir}/build-apache
+ cd ${srcdir}/build-apache
+ ./configure --srcdir=../${pkgbase}-${pkgver} \
+ ${phpconfig} \
+ --with-apxs2 \
+ --disable-cli \
+ ${phpextensions} || return 1
+ make || return 1
+
+ # pear
+ cp -a ${srcdir}/build-php ${srcdir}/build-pear
+ cd ${srcdir}/build-pear
+ ./configure --srcdir=../${pkgbase}-${pkgver} \
+ ${phpconfig} \
+ --disable-cgi \
+ --with-readline \
+ --enable-pcntl \
+ --with-pear \
+ ${phpextensions} || return 1
+ make || return 1
+}
+
+package_php() {
+ pkgdesc='An HTML-embedded scripting language'
+ depends=('pcre' 'libxml2' 'bzip2' 'openssl')
+ replaces=('php-fileinfo')
+ provides=('php-fileinfo')
+ conflicts=('php-fileinfo')
+ backup=('etc/php/php.ini')
+
+ cd ${srcdir}/build-php
+ make INSTALL_ROOT=${pkgdir} install || return 1
+ install -d -m755 ${pkgdir}/usr/share/pear
+ # fix broken link
+ ln -sf phar.phar $pkgdir/usr/bin/phar
+ # install php.ini
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
+ install -d -m755 ${pkgdir}/etc/php/conf.d/
+
+ # remove static modules
+ rm -f ${pkgdir}/usr/lib/php/modules/*.a
+ # remove modules provided by sub packages
+ rm -f ${pkgdir}/usr/lib/php/modules/{curl,enchant,gd,gmp,intl,ldap,mcrypt,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
+}
+
+package_php-cgi() {
+ pkgdesc='CGI and FCGI SAPI for PHP'
+ depends=('php' 'pcre' 'libxml2')
+
+ install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
+}
+
+package_php-apache() {
+ pkgdesc='Apache SAPI for PHP'
+ depends=('php' 'apache' 'pcre' 'libxml2')
+ backup=('etc/httpd/conf/extra/php5_module.conf')
+
+ install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
+ install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
+}
+
+package_php-pear() {
+ pkgdesc='PHP Extension and Application Repository'
+ depends=('php' 'bash')
+ backup=("etc/php/pear.conf")
+
+ cd ${srcdir}/build-pear
+ make install-pear INSTALL_ROOT=${pkgdir}
+ for i in $(find ${pkgdir}/ -name '.*'); do
+ [ -e $i ] && rm -rf $i
+ done
+}
+
+package_php-curl() {
+ depends=('php' 'curl')
+ pkgdesc="curl module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/curl.so ${pkgdir}/usr/lib/php/modules/curl.so
+}
+
+package_php-enchant() {
+ depends=('php' 'enchant')
+ pkgdesc="enchant module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
+}
+
+package_php-gd() {
+ depends=('php' 'gd')
+ pkgdesc="gd module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
+}
+
+package_php-gmp() {
+ depends=('php' 'gmp')
+ pkgdesc="gmp module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/gmp.so ${pkgdir}/usr/lib/php/modules/gmp.so
+}
+
+package_php-intl() {
+ depends=('php' 'icu')
+ pkgdesc="intl module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
+}
+
+package_php-ldap() {
+ depends=('php' 'libldap')
+ pkgdesc="ldap module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
+}
+
+package_php-mcrypt() {
+ depends=('php' 'libmcrypt' 'libtool')
+ pkgdesc="mcrypt module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
+}
+
+package_php-odbc() {
+ depends=('php' 'unixodbc')
+ pkgdesc="ODBC modules for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
+}
+
+package_php-pgsql() {
+ depends=('php' 'postgresql-libs')
+ pkgdesc="PostgreSQL modules for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
+}
+
+package_php-pspell() {
+ depends=('php' 'aspell')
+ pkgdesc="pspell module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
+}
+
+package_php-snmp() {
+ depends=('php' 'net-snmp')
+ pkgdesc="snmp module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
+}
+
+package_php-sqlite() {
+ depends=('php' 'sqlite3')
+ pkgdesc="sqlite3 module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
+}
+
+package_php-tidy() {
+ depends=('php' 'tidyhtml')
+ pkgdesc="tidy module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
+}
+
+package_php-xsl() {
+ depends=('php' 'libxslt')
+ pkgdesc="xsl module for PHP"
+ install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
+}
diff --git a/php/apache.conf b/php/apache.conf
new file mode 100644
index 0000000..86344c8
--- /dev/null
+++ b/php/apache.conf
@@ -0,0 +1,9 @@
+# Required modules: dir_module, php5_module
+
+<IfModule dir_module>
+ <IfModule php5_module>
+ DirectoryIndex index.php index.html
+ AddHandler application/x-httpd-php .php
+ AddHandler application/x-httpd-php-source .phps
+ </IfModule>
+</IfModule> \ No newline at end of file
diff --git a/php/db-configure.patch b/php/db-configure.patch
new file mode 100644
index 0000000..1d2c818
--- /dev/null
+++ b/php/db-configure.patch
@@ -0,0 +1,51 @@
+--- configure.orig 2009-06-29 17:46:18.000000000 +0200
++++ configure 2009-08-14 08:34:52.000000000 +0200
+@@ -29088,43 +29088,15 @@
+
+ unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT
+
+- dbdp="/usr/local/BerkeleyDB.4."
+- for i in $PHP_DB4 ${dbdp}6 ${dbdp}5 ${dbdp}4 ${dbdp}3 ${dbdp}2 ${dbdp}1 ${dbdp}0 /usr/local /usr; do
+- if test -f "$i/db4/db.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/db4/db.h
+- break
+- elif test -f "$i/include/db4.6/db.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db4.6/db.h
+- break
+- elif test -f "$i/include/db4.5/db.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db4.5/db.h
+- break
+- elif test -f "$i/include/db4/db.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db4/db.h
+- break
+- elif test -f "$i/include/db/db4.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db/db4.h
+- break
+- elif test -f "$i/include/db4.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db4.h
+- break
+- elif test -f "$i/include/db.h"; then
+- THIS_PREFIX=$i
+- THIS_INCLUDE=$i/include/db.h
+- break
+- fi
+- done
++ if test -f "/usr/include/db.h"; then
++ THIS_PREFIX=/usr
++ THIS_INCLUDE=/usr/include/db.h
++ fi
+
+ if test -z "$THIS_INCLUDE"; then
+ { echo "configure: error: DBA: Could not find necessary header file(s)." 1>&2; exit 1; }
+ fi
+- for LIB in db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db; do
++ for LIB in db; do
+ if test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.a || test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.$SHLIB_SUFFIX_NAME; then
+ lib_found="";
+
diff --git a/php/gd-info-segfault.patch b/php/gd-info-segfault.patch
new file mode 100644
index 0000000..846a19e
--- /dev/null
+++ b/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/php/php.ini.patch b/php/php.ini.patch
new file mode 100644
index 0000000..cd91d50
--- /dev/null
+++ b/php/php.ini.patch
@@ -0,0 +1,120 @@
+--- php.ini-production 2009-06-30 01:05:38.000000000 +0200
++++ php.ini 2009-06-30 01:02:15.000000000 +0200
+@@ -376,7 +376,7 @@
+ ; or per-virtualhost web server configuration file. This directive is
+ ; *NOT* affected by whether Safe Mode is turned On or Off.
+ ; http://php.net/open-basedir
+-;open_basedir =
++open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/
+
+ ; This directive allows you to disable certain functions for security reasons.
+ ; It receives a comma-delimited list of function names. This directive is
+@@ -785,7 +785,7 @@
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:/usr/share/pear"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -808,7 +808,7 @@
+
+ ; Directory in which the loadable extensions (modules) reside.
+ ; http://php.net/extension-dir
+-; extension_dir = "./"
++extension_dir = "/usr/lib/php/modules/"
+ ; On windows:
+ ; extension_dir = "ext"
+
+@@ -945,47 +945,49 @@
+ ; extension folders as well as the separate PECL DLL download (PHP 5).
+ ; Be sure to appropriately set the extension_dir directive.
+ ;
+-;extension=php_bz2.dll
+-;extension=php_curl.dll
+-;extension=php_dba.dll
+-;extension=php_exif.dll
+-;extension=php_fileinfo.dll
+-;extension=php_gd2.dll
+-;extension=php_gettext.dll
+-;extension=php_gmp.dll
+-;extension=php_intl.dll
+-;extension=php_imap.dll
+-;extension=php_interbase.dll
+-;extension=php_ldap.dll
+-;extension=php_mbstring.dll
+-;extension=php_ming.dll
+-;extension=php_mssql.dll
+-;extension=php_mysql.dll
+-;extension=php_mysqli.dll
+-;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
+-;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
+-;extension=php_openssl.dll
+-;extension=php_pdo_firebird.dll
+-;extension=php_pdo_mssql.dll
+-;extension=php_pdo_mysql.dll
+-;extension=php_pdo_oci.dll
+-;extension=php_pdo_odbc.dll
+-;extension=php_pdo_pgsql.dll
+-;extension=php_pdo_sqlite.dll
+-;extension=php_pgsql.dll
+-;extension=php_phar.dll
+-;extension=php_pspell.dll
+-;extension=php_shmop.dll
+-;extension=php_snmp.dll
+-;extension=php_soap.dll
+-;extension=php_sockets.dll
+-;extension=php_sqlite.dll
+-;extension=php_sqlite3.dll
+-;extension=php_sybase_ct.dll
+-;extension=php_tidy.dll
+-;extension=php_xmlrpc.dll
+-;extension=php_xsl.dll
+-;extension=php_zip.dll
++;extension=bcmath.so
++;extension=bz2.so
++;extension=calendar.so
++;extension=curl.so
++;extension=dba.so
++;extension=enchant.so
++;extension=exif.so
++;extension=ftp.so
++;extension=gd.so
++extension=gettext.so
++;extension=gmp.so
++;extension=iconv.so
++;extension=imap.so
++;extension=intl.so
++;extension=json.so
++;extension=ldap.so
++;extension=mcrypt.so
++;extension=mysql.so
++;extension=mysqli.so
++;extension=odbc.so
++;extension=openssl.so
++;extension=pdo.so
++;extension=pdo_mysql.so
++;extension=pdo_odbc.so
++;extension=pdo_pgsql.so
++;extension=pdo_sqlite.so
++;extension=pgsql.so
++;extension=phar.so
++;extension=posix.so
++;extension=pspell.so
++;extension=shmop.so
++;extension=snmp.so
++;extension=soap.so
++;extension=sockets.so
++;extension=sqlite.so
++;extension=sqlite3.so
++;extension=sysvmsg.so
++;extension=sysvsem.so
++;extension=sysvshm.so
++;extension=tidy.so
++;extension=xmlrpc.so
++;extension=xsl.so
++;extension=zip.so
+
+ ;;;;;;;;;;;;;;;;;;;
+ ; Module Settings ;