Bump of the release candidates
authorOle Markus With <olemarkus@gentoo.org>
Fri, 25 Nov 2011 09:10:47 +0000 (09:10 +0000)
committerOle Markus With <olemarkus@gentoo.org>
Fri, 25 Nov 2011 09:10:47 +0000 (09:10 +0000)
Package-Manager: portage-2.2.0_alpha71/cvs/Linux x86_64

dev-lang/php/ChangeLog
dev-lang/php/Manifest
dev-lang/php/php-5.3.9_rc2.ebuild [new file with mode: 0644]
dev-lang/php/php-5.4.0_rc2.ebuild [new file with mode: 0644]

index 184804eed306511d0d815df9f15b5842dd83a8af..c795de7d203fcd0f6fed53215ba3807133628170 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-lang/php
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.522 2011/11/18 08:41:13 olemarkus Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.523 2011/11/25 09:10:47 olemarkus Exp $
+
+*php-5.4.0_rc2 (25 Nov 2011)
+*php-5.3.9_rc2 (25 Nov 2011)
+
+  25 Nov 2011; Ole Markus With <olemarkus@gentoo.org> +php-5.3.9_rc2.ebuild,
+  +php-5.4.0_rc2.ebuild:
+  Bump of the release candidates
 
   18 Nov 2011; Ole Markus With <olemarkus@gentoo.org> files/php-fpm.init:
   Fixed init script for multislotting. Bug 390307. Thanks to Guillaume
index e5a321395e7e684f4ea776372ec244a39931f93f..480093bdf44b819501692660a6791dbf48433246 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX 20php5-envd 145 RMD160 8c81fb7dc1d1ddf16fd956d748514db3bcb27603 SHA1 f1cef57c0def8e2c5422aaf136f40b4ff47801d2 SHA256 efaae9e6ae5f7010e073c2ab6d8a9dda009f0707c7d7b0c027e142c94f7041a4
 AUX 70_mod_php5.conf-apache2 348 RMD160 9f3f49a52ebf92c2650501c5ceb6f95ce4bb2e76 SHA1 62992e793446b4a9a64900d1ecba7bae06873382 SHA256 5bb8a45570582b4389a7d3feea0398e1c13ed4ced96e559b9406ed8c965dea8c
 AUX eblits/common-v1.eblit 379 RMD160 60b526e9a736553f6e4883c9fb9525464192bde2 SHA1 97c4e1c9475d73227f26cbef80640f43d838af6f SHA256 65c909a6d0501a6746518f539c4a4021426469cbf20b2a212fb0d60b48da5362
@@ -23,16 +26,33 @@ AUX php5-ldvs 22 RMD160 5846dab2745b68a88175dd4e72d0b8cf4756dd46 SHA1 592398c925
 DIST php-5.2.17.tar.bz2 9092312 RMD160 567fa8d718b93fb83a89494c83a8bec224ac99e9 SHA1 d68f3b09f766990d815a3c4c63c157db8dab8095 SHA256 e81beb13ec242ab700e56f366e9da52fd6cf18961d155b23304ca870e53f116c
 DIST php-5.3.8.tar.bz2 11190060 RMD160 f18a18e2dfd7ea7885760eec2a05b3c4a15ad9db SHA1 8f29029e092f262876bfdd2ce56f6867e2b74b85 SHA256 a1dd06fd5593e97d9a5bd9818d6501d28d3ee8f09b83f0ec78f7cdfc060f3ea2
 DIST php-5.3.9RC1.tar.bz2 11230477 RMD160 d00734de38b5cc2e719f5f80ac609e4362f6dfad SHA1 34306d0a7926a21ba15ee29ab37bbab44633b3fa SHA256 6d76af052c1575765d9bf03d8963415d437209fd790f74d85b523799f1dd718d
+DIST php-5.3.9RC2.tar.bz2 11415643 RMD160 2051cd223e30b49c93cd4282c4f4c51b45909547 SHA1 6699803c03f789cf9d311a9a0daab9d14515d5be SHA256 aac16a868056d2a19cb44b5b5732efb974a30dadc000d729c6374f3208005634
 DIST php-5.4.0RC1.tar.bz2 11321722 RMD160 4cae98d1d388bf18d70cd3041d0c314ac4788c69 SHA1 dc7fafeffb2039947bcbccf54fd811f66e46b558 SHA256 98f71de2d474c975326fd8452058f741843fe3b7db601f4788ed327adcc7a781
+DIST php-5.4.0RC2.tar.bz2 11797774 RMD160 5000f30470119ed2c3d9924c69aa8ce2b4f47f71 SHA1 96c2beaf3df65ad950e5206c709bb8e4e4e41c45 SHA256 1fd66dd2e34235d35d6521160e4dea44dd0bf01b0893e6f4a5b3b18706ff0845
 DIST php-patchset-5.2.17-r0.tar.bz2 8369 RMD160 544af4eb2de8e4478e675810f18a5b494b59709b SHA1 7b3c56437b435f60f72f7af08112e77c01e2f827 SHA256 fb159a02faf5120dd9bc620bd3f3094735f181aa6893273bb7dd29771b8b23b2
 DIST php-patchset-5.3.8-r0.tar.bz2 7518 RMD160 3b9fc4063202b0a83b76a8c0f5bcfeb2ab358a50 SHA1 8b20057a68c9f6f4554ab96a884e874707fcd2e5 SHA256 a4677d75648529ccec61fc0edaa2684ad72c0b15bc81dc0770a6cbc927337686
 DIST php-patchset-5.3.9_rc1-r0.tar.bz2 7522 RMD160 4bf3d9bb26d86858ab26be0aa0466eaef4001553 SHA1 cd0dd6704b0c0b04cc1c78027efdfbcc5a9d182c SHA256 95863c23bd9a72013729dcdd005dc585ad5b3d689082503a3702f20df514362f
+DIST php-patchset-5.3.9_rc2-r0.tar.bz2 7515 RMD160 c3aca464d04df468fc8aaf6237be49bd891822b8 SHA1 228617dba2801397a5b51ca66fc9c90cf224a768 SHA256 afa2d477c630c2bdd2c3cd5eec24d7eb3e3a7cfd9819b4f4f328c1aad5335612
 DIST php-patchset-5.4.0_rc1-r0.tar.bz2 6001 RMD160 0200e6ada41e471a30bfddeeb166d3254a9e2856 SHA1 3b1f71255db1c003f452c2fe41f93284a50967c4 SHA256 06834d624ce6269aa8005a28ccc0e55b2e8d500af57e4392e641978d5993a3ea
+DIST php-patchset-5.4.0_rc2-r0.tar.bz2 6001 RMD160 0200e6ada41e471a30bfddeeb166d3254a9e2856 SHA1 3b1f71255db1c003f452c2fe41f93284a50967c4 SHA256 06834d624ce6269aa8005a28ccc0e55b2e8d500af57e4392e641978d5993a3ea
 DIST suhosin-patch-5.2.16-0.9.7.patch.gz 23069 RMD160 b28b70faf136b3e04c5b483da0f4c2279378f43a SHA1 fec10b2b81582d06bb0d0a96ea55c525afc8ab29 SHA256 aae115a318d80b3f32cedf876e7a8e4b932febb1b0c743c0b398003ebe122f91
 DIST suhosin-patch-5.3.7-0.9.10.patch.gz 41175 RMD160 19f789bf49a5fed2cd88b199fd8ac5d1ffa9bdc8 SHA1 3c38e873584b8f9e325a813cc9b197a342595099 SHA256 0a0dac0e4343596f2bfcef27dcf7180524b78bb1d2d2ca878370a7d0f8313d26
 EBUILD php-5.2.17.ebuild 9357 RMD160 0b58506aa7df24546ecbcf8fce42a6ce7f5cc2f2 SHA1 7d4055e988d1cc7ac4932ce82543bcece76a4ba5 SHA256 8c9f0ba52b7e8297b0ecdbcc1ad5bde40e5d4d602cb70ed2f5d0262032cc393b
 EBUILD php-5.3.8.ebuild 9601 RMD160 82879062916c7e796f872e8627bedf79bf912a0e SHA1 05d6bae0984a63b8e958cd2fae30b4dccc5e7664 SHA256 6a9dc8758b2b219d854c6af51d3245ffdfd6ed732f0a2f7e7c80b32fde09ca0d
 EBUILD php-5.3.9_rc1.ebuild 11665 RMD160 bd460ad19d1b84e6cc630c1e1410fb0dd925f788 SHA1 438bdd1d05f86d3d9eaef8ae6a0f97e9630b60f2 SHA256 4d1621135856512b6f426f8724cd32e4ad063bf0d1f5b8790dc5cb63b6fbac5a
+EBUILD php-5.3.9_rc2.ebuild 11665 RMD160 563d90227f056c652cf253d9e27871f5d8d31848 SHA1 c4d35d26b093eb755eea718f5ef8f1a7c0d57b51 SHA256 46161ffab07a39f26b4e7aa889a755ad4b2e3c5b17ff9dc2588f67358df77bf9
 EBUILD php-5.4.0_rc1.ebuild 8579 RMD160 35d43804cf6af0af3b14c47824b08b98b25a4118 SHA1 3f32b99e456ef6577079f0b57d923dbf9de4481c SHA256 4ae41e327bc363abd7b9ffb4c869256b661fc4a21a8beb18015bec9150609267
-MISC ChangeLog 89104 RMD160 4cb3ab31793d81ddd240737b5ec43f6e0a4b2f07 SHA1 35516dbbb8a50b35568511972df3bb287be61a72 SHA256 6651cb887b4e6e9a995393d7499b1af50bc6809c3e9e39a93285f831278eaf2d
+EBUILD php-5.4.0_rc2.ebuild 8579 RMD160 8a1b5ca093cdf2ead9c4b38dc77ccf5257dfe17f SHA1 5b7de2434874f855149fae69aff0c238257c6a7c SHA256 3a7415d6255b02f4d46e90f5a9e14d16da3b25b3d159df92e3b419b99931554b
+MISC ChangeLog 89299 RMD160 1c0bd8eeea710f49d1e6502d81f3cf26cb99169c SHA1 309085ce7368ee1b713498f954e9b58ee5245225 SHA256 5a6b03fa983fb2ccebcdbf7a07604f078b5b999f6a15bfb67e49e7d1adc44e6e
 MISC metadata.xml 2075 RMD160 e2eb44e39169dc2ff8e099d670a222e7102b1aea SHA1 9cebbc373dc8441aa0374132a3b5d87df6d37ffc SHA256 3d8bc9305be300ef7ef92d18ba5476927ec90a5b6d43c2408936229590ff5ac5
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iQEcBAEBAgAGBQJOz1yOAAoJEGurSuXEqSv1bvMIAI7sNXpy5ddOiBEiGZmP0AWW
+nlEEae+WNZm6Xgw0nUK4gRp0PZ5kFekrm1F2N9nz82OUs3/PJxBpNqi0PnOx3TFU
+DZWaPnOH+W7M/FGjlIgqzjraS5wo1kdEXHPHnjVMlMp/8K1xGorxkPwJnHGXDp+c
+cfaMaT1UGk6qjHVC+wvGDWfdcHYOik5J37CFXSId6w1khSCHmVpAF/GJq16avzmO
+r/+nd1ICU45hUD7XngcDrbsvDHaFWdZGEzA8WzpBSlqxLRIGqb1YWqy9SKRns6n2
+awaZNbjlfFkWIbCIGB2uu2khLW4xFAWnVcj8EXY7h/kcmc6zyXsDU6RMQePQazU=
+=dZPo
+-----END PGP SIGNATURE-----
diff --git a/dev-lang/php/php-5.3.9_rc2.ebuild b/dev-lang/php/php-5.3.9_rc2.ebuild
new file mode 100644 (file)
index 0000000..b68741c
--- /dev/null
@@ -0,0 +1,414 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.3.9_rc2.ebuild,v 1.1 2011/11/25 09:10:47 olemarkus Exp $
+
+EAPI=4
+
+PHPCONFUTILS_MISSING_DEPS="adabas birdstep db2 dbmaker empress empress-bcs esoob interbase oci8 sapdb solid"
+
+inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use phpconfutils php-common-r1 libtool
+
+SUHOSIN_VERSION="5.3.7-0.9.10"
+FPM_VERSION="builtin"
+EXPECTED_TEST_FAILURES=""
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+function php_get_uri ()
+{
+       case "${1}" in
+               "php-pre")
+                       echo "http://downloads.php.net/johannes/${2}"
+               ;;
+               "php")
+                       echo "http://www.php.net/distributions/${2}"
+               ;;
+               "suhosin")
+                       echo "http://download.suhosin.org/${2}"
+               ;;
+               "olemarkus")
+                       echo "http://olemarkus.org/~olemarkus/gentoo/${2}"
+               ;;
+               "gentoo")
+                       echo "mirror://gentoo/${2}"
+               ;;
+               *)
+                       die "unhandled case in php_get_uri"
+               ;;
+       esac
+}
+
+PHP_MV="$(get_major_version)"
+
+# alias, so we can handle different types of releases (finals, rcs, alphas,
+# betas, ...) w/o changing the whole ebuild
+PHP_PV="${PV/_rc/RC}"
+PHP_RELEASE="php-pre"
+PHP_P="${PN}-${PHP_PV}"
+
+PHP_PATCHSET_LOC="olemarkus"
+
+PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
+
+PHP_PATCHSET="0"
+PHP_PATCHSET_URI="
+       $(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-${PV}-r${PHP_PATCHSET}.tar.bz2")"
+
+PHP_FPM_INIT_VER="4"
+PHP_FPM_CONF_VER="1"
+
+if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
+       # in some cases we use our own suhosin patch (very recent version,
+       # patch conflicts, etc.)
+       SUHOSIN_TYPE="gentoo"
+else
+       SUHOSIN_TYPE="suhosin"
+fi
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+       SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch";
+       SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
+fi
+
+SRC_URI="
+       ${PHP_SRC_URI}
+       ${PHP_PATCHSET_URI}"
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+       SRC_URI="${SRC_URI}
+               suhosin? ( ${SUHOSIN_URI} )"
+fi
+
+DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs."
+HOMEPAGE="http://php.net/"
+LICENSE="PHP-3"
+
+SLOT="$(get_version_component_range 1-2)"
+S="${WORKDIR}/${PHP_P}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2"
+
+# Gentoo-specific, common features
+IUSE="kolab"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+       ${SAPIS/cli/+cli}
+       threads"
+
+IUSE="${IUSE} adabas bcmath berkdb birdstep bzip2 calendar cdb cjk
+       crypt +ctype curl curlwrappers db2 dbmaker debug doc empress
+       empress-bcs enchant esoob exif frontbase +fileinfo +filter firebird
+       flatfile ftp gd gd-external gdbm gmp +hash +iconv imap inifile
+       interbase intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
+       mssql mysql mysqlnd mysqli nls oci8
+       oci8-instant-client odbc pcntl pdo +phar pic +posix postgres qdbm
+       readline recode sapdb +session sharedext sharedmem
+       +simplexml snmp soap sockets solid spell sqlite sqlite3 ssl
+       sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+       +xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
+
+# Enable suhosin if available
+[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
+
+DEPEND="!dev-lang/php:5
+       >=app-admin/eselect-php-0.6.2
+       >=dev-libs/libpcre-8.12[unicode]
+       adabas? ( >=dev-db/unixODBC-1.8.13 )
+       apache2? ( www-servers/apache[threads=] )
+       berkdb? ( =sys-libs/db-4* )
+       birdstep? ( >=dev-db/unixODBC-1.8.13 )
+       bzip2? ( app-arch/bzip2 )
+       cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+       cjk? ( !gd? ( !gd-external? (
+               virtual/jpeg
+               media-libs/libpng
+               sys-libs/zlib
+       ) ) )
+       crypt? ( >=dev-libs/libmcrypt-2.4 )
+       curl? ( >=net-misc/curl-7.10.5 )
+       db2? ( >=dev-db/unixODBC-1.8.13 )
+       dbmaker? ( >=dev-db/unixODBC-1.8.13 )
+       empress? ( >=dev-db/unixODBC-1.8.13 )
+       empress-bcs? ( >=dev-db/unixODBC-1.8.13 )
+       enchant? ( app-text/enchant )
+       esoob? ( >=dev-db/unixODBC-1.8.13 )
+       exif? ( !gd? ( !gd-external? (
+               virtual/jpeg
+               media-libs/libpng
+               sys-libs/zlib
+       ) ) )
+       firebird? ( dev-db/firebird )
+       gd? ( virtual/jpeg media-libs/libpng sys-libs/zlib )
+       gd-external? ( media-libs/gd )
+       gdbm? ( >=sys-libs/gdbm-1.8.0 )
+       gmp? ( >=dev-libs/gmp-4.1.2 )
+       iconv? ( virtual/libiconv )
+       imap? ( virtual/imap-c-client[ssl=] )
+       intl? ( dev-libs/icu )
+       iodbc? ( dev-db/libiodbc )
+       kerberos? ( virtual/krb5 )
+       kolab? ( >=net-libs/c-client-2004g-r1 )
+       ldap? ( !oci8? ( >=net-nds/openldap-1.2.11 ) )
+       ldap-sasl? ( !oci8? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) )
+       libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+       mssql? ( dev-db/freetds[mssql] )
+       !mysqlnd? (
+               mysql? ( virtual/mysql )
+               mysqli? ( >=virtual/mysql-4.1 )
+       )
+       nls? ( sys-devel/gettext )
+       oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+       odbc? ( >=dev-db/unixODBC-1.8.13 )
+       postgres? ( dev-db/postgresql-base )
+       qdbm? ( dev-db/qdbm )
+       readline? ( sys-libs/readline )
+       recode? ( app-text/recode )
+       sapdb? ( >=dev-db/unixODBC-1.8.13 )
+       sharedmem? ( dev-libs/mm )
+       simplexml? ( >=dev-libs/libxml2-2.6.8 )
+       snmp? ( >=net-analyzer/net-snmp-5.2 )
+       soap? ( >=dev-libs/libxml2-2.6.8 )
+       solid? ( >=dev-db/unixODBC-1.8.13 )
+       spell? ( >=app-text/aspell-0.50 )
+       sqlite? ( =dev-db/sqlite-2* pdo? ( >=dev-db/sqlite-3.7.7.1 ) )
+       sqlite3? ( >=dev-db/sqlite-3.7.7.1 )
+       ssl? ( >=dev-libs/openssl-0.9.7 )
+       sybase-ct? ( dev-db/freetds )
+       tidy? ( app-text/htmltidy )
+       truetype? (
+               =media-libs/freetype-2*
+               >=media-libs/t1lib-5.0.0
+               !gd? ( !gd-external? (
+                       virtual/jpeg media-libs/libpng sys-libs/zlib ) )
+       )
+       unicode? ( dev-libs/oniguruma )
+       wddx? ( >=dev-libs/libxml2-2.6.8 )
+       xml? ( >=dev-libs/libxml2-2.6.8 )
+       xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+       xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+       xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+       xpm? (
+               x11-libs/libXpm
+               virtual/jpeg
+               media-libs/libpng sys-libs/zlib
+       )
+       xsl? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+       zip? ( sys-libs/zlib )
+       zlib? ( sys-libs/zlib )
+       virtual/mta
+"
+
+php="=${CATEGORY}/${PF}"
+
+REQUIRED_USE="
+       truetype? ( || ( gd gd-external ) )
+       cjk? ( || ( gd gd-external ) )
+       exif? ( || ( gd gd-external ) )
+
+       xpm? ( gd )
+       gd? ( zlib !gd-external )
+       gd-external? ( !gd )
+       simplexml? ( xml )
+       soap? ( xml )
+       wddx? ( xml )
+       xmlrpc? ( || ( xml iconv ) )
+       xmlreader? ( xml )
+       xsl? ( xml )
+       ldap-sasl? ( ldap !oci8 )
+       adabas? ( odbc )
+       birdstep? ( odbc )
+       dbmaker? ( odbc )
+       empress-bcs? ( empress )
+       empress? ( odbc )
+       esoob? ( odbc )
+       db2? ( odbc )
+       sapdb? ( odbc )
+       solid? ( odbc )
+       kolab? ( imap )
+       mhash? ( hash )
+       phar? ( hash )
+       mysqlnd? ( || (
+               mysql
+               mysqli
+               pdo
+       ) )
+
+       oci8? ( !oci8-instant-client !ldap-sasl )
+       oci8-instant-client? ( !oci8 )
+
+       qdbm? ( !gdbm )
+       readline? ( !libedit )
+       recode? ( !imap !mysql !mysqli )
+       firebird? ( !interbase )
+       sharedmem? ( !threads )
+
+       !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
+
+DEPEND="${DEPEND}
+       enchant? ( !dev-php5/pecl-enchant )
+       fileinfo? ( !<dev-php5/pecl-fileinfo-1.0.4-r2 )
+       filter? ( !dev-php5/pecl-filter )
+       json? ( !dev-php5/pecl-json )
+       phar? ( !dev-php5/pecl-phar )
+       zip? ( !dev-php5/pecl-zip )"
+
+[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? (
+=${CATEGORY}/${PN}-${SLOT}*[unicode] )"
+
+RDEPEND="${DEPEND}"
+
+DEPEND="${DEPEND}
+       sys-devel/flex
+       >=sys-devel/m4-1.4.3
+       >=sys-devel/libtool-1.5.18"
+
+# They are in PDEPEND because we need PHP installed first!
+PDEPEND="doc? ( app-doc/php-docs )"
+
+# No longer depend on the extension. The suhosin USE flag only installs the
+# patch
+#[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
+
+# Allow users to install production version if they want to
+
+case "${PHP_INI_VERSION}" in
+       production|development)
+               ;;
+       *)
+               PHP_INI_VERSION="development"
+               ;;
+esac
+
+PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
+PHP_INI_FILE="php.ini"
+
+want_apache
+
+# eblit-core
+# Usage: <function> [version] [eval]
+# Main eblit engine
+eblit-core() {
+       [[ -z $FILESDIR ]] && FILESDIR="$(dirname $EBUILD)/files"
+       local e v func=$1 ver=$2 eval_=$3
+       for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+               e="${FILESDIR}/eblits/${func}${v}.eblit"
+               if [[ -e ${e} ]] ; then
+                       . "${e}"
+                       [[ ${eval_} == 1 ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
+                       return 0
+               fi
+       done
+       return 1
+}
+
+# eblit-include
+# Usage: [--skip] <function> [version]
+# Includes an "eblit" -- a chunk of common code among ebuilds in a given
+# package so that its functions can be sourced and utilized within the
+# ebuild.
+eblit-include() {
+       local skipable=false r=0
+       [[ $1 == "--skip" ]] && skipable=true && shift
+       [[ $1 == pkg_* ]] && skipable=true
+
+       [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
+       eblit-core $1 $2
+       r="$?"
+       ${skipable} && return 0
+       [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe
+# Usage: <function>
+# Runs a function if it is defined in an eblit
+eblit-run-maybe() {
+       [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run
+# Usage: <function> [version]
+# Runs a function defined in an eblit
+eblit-run() {
+       eblit-include --skip common "${*:2}"
+       eblit-include "$@"
+       eblit-run-maybe eblit-$1-pre
+       eblit-${PN}-$1
+       eblit-run-maybe eblit-$1-post
+}
+
+# eblit-pkg
+# Usage: <phase> [version]
+# Includes the given functions AND evals them so they're included in the binpkgs
+eblit-pkg() {
+       [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
+       eblit-core $1 $2 1
+}
+
+eblit-pkg pkg_setup v2
+
+src_prepare() { eblit-run src_prepare v3 ; }
+src_configure() { eblit-run src_configure v2 ; }
+src_compile() { eblit-run src_compile v1 ; }
+src_install() { eblit-run src_install v2 ; }
+src_test() { eblit-run src_test v1 ; }
+
+#Do not use eblit for this because it will not get sourced when installing from
+#binary package (bug #380845)
+pkg_postinst() {
+       # Output some general info to the user
+       if use apache2 ; then
+               APACHE2_MOD_DEFINE="PHP5"
+               APACHE2_MOD_CONF="70_mod_php5"
+               apache-module_pkg_postinst
+       fi
+
+       # Create the symlinks for php
+       for m in ${SAPIS}; do
+               [[ ${m} == 'embed' ]] && continue;
+               if use $m ; then
+                       local ci=$(eselect php show $m)
+                       if [[ -z $ci ]]; then
+                               eselect php set $m php${SLOT}
+                               einfo "Switched ${m} to use php:${SLOT}"
+                               einfo
+                       elif [[ $ci != "php${SLOT}" ]] ; then
+                               elog "To switch $m to use php:${SLOT}, run"
+                               elog "    eselect php set $m php${SLOT}"
+                               elog
+                       fi
+               fi
+       done
+
+       elog "Make sure that PHP_TARGETS in /etc/make.conf includes php${SLOT/./-} in order"
+       elog "to compile extensions for the ${SLOT} ABI"
+       elog
+       if ! use readline && use cli ; then
+               ewarn "Note that in order to use php interactivly, you need to enable"
+               ewarn "the readline USE flag or php -a will hang"
+       fi
+       elog
+       elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
+       elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
+       elog "'production' or 'development' in /etc/make.conf"
+       ewarn "Both versions of php.ini can be found in /usr/share/doc/${PF}"
+
+       # check for not yet migrated old style config dirs
+       ls "${ROOT}"/etc/php/*-php5 &>/dev/null
+       if [[ $? -eq 0 ]]; then
+               ewarn "Make sure to migrate your config files, starting with php-5.3.4 and php-5.2.16 config"
+               ewarn "files are now kept at ${ROOT}etc/php/{apache2,cli,cgi,fpm}-php5.x"
+       fi
+       elog
+       elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
+       elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
+       elog
+
+       if ( [[ -z SUHOSIN_VERSION ]] && use suhosin && version_is_at_least 5.3.6_rc1 ) ; then
+               ewarn "The suhosin USE flag now only installs the suhosin patch!"
+               ewarn "If you want the suhosin extension, make sure you install"
+               ewarn " dev-php5/suhosin"
+               ewarn
+       fi
+}
diff --git a/dev-lang/php/php-5.4.0_rc2.ebuild b/dev-lang/php/php-5.4.0_rc2.ebuild
new file mode 100644 (file)
index 0000000..ef1089f
--- /dev/null
@@ -0,0 +1,332 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.4.0_rc2.ebuild,v 1.1 2011/11/25 09:10:47 olemarkus Exp $
+
+EAPI=4
+
+inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool
+
+SUHOSIN_VERSION=""
+FPM_VERSION="builtin"
+EXPECTED_TEST_FAILURES=""
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+function php_get_uri ()
+{
+       case "${1}" in
+               "php-stas")
+                       echo "http://downloads.php.net/stas/${2}"
+               ;;
+               "php-pre")
+                       echo "http://downloads.php.net/johannes/${2}"
+               ;;
+               "php")
+                       echo "http://www.php.net/distributions/${2}"
+               ;;
+               "suhosin")
+                       echo "http://download.suhosin.org/${2}"
+               ;;
+               "olemarkus")
+                       echo "http://olemarkus.org/~olemarkus/gentoo/${2}"
+               ;;
+               "gentoo")
+                       echo "mirror://gentoo/${2}"
+               ;;
+               *)
+                       die "unhandled case in php_get_uri"
+               ;;
+       esac
+}
+
+PHP_MV="$(get_major_version)"
+
+# alias, so we can handle different types of releases (finals, rcs, alphas,
+# betas, ...) w/o changing the whole ebuild
+PHP_PV="${PV/_rc/RC}"
+PHP_PV="${PHP_PV/_alpha/alpha}"
+PHP_PV="${PHP_PV/_beta/beta}"
+PHP_RELEASE="php-stas"
+PHP_P="${PN}-${PHP_PV}"
+
+PHP_PATCHSET_LOC="olemarkus"
+
+PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
+
+PHP_PATCHSET="0"
+PHP_PATCHSET_URI="
+       $(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-${PV}-r${PHP_PATCHSET}.tar.bz2")"
+
+PHP_FPM_INIT_VER="4"
+PHP_FPM_CONF_VER="1"
+
+if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
+       # in some cases we use our own suhosin patch (very recent version,
+       # patch conflicts, etc.)
+       SUHOSIN_TYPE="gentoo"
+else
+       SUHOSIN_TYPE="suhosin"
+fi
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+       SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch";
+       SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
+fi
+
+SRC_URI="
+       ${PHP_SRC_URI}
+       ${PHP_PATCHSET_URI}"
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+       SRC_URI="${SRC_URI}
+               suhosin? ( ${SUHOSIN_URI} )"
+fi
+
+DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs."
+HOMEPAGE="http://php.net/"
+LICENSE="PHP-3"
+
+SLOT="$(get_version_component_range 1-2)"
+S="${WORKDIR}/${PHP_P}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2"
+
+# Gentoo-specific, common features
+IUSE="kolab"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+       ${SAPIS/cli/+cli}
+       threads"
+
+IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
+       crypt +ctype curl curlwrappers debug doc
+       enchant exif frontbase +fileinfo +filter firebird
+       flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+       intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
+       mssql mysql mysqlnd mysqli nls
+       oci8-instant-client odbc pcntl pdo +phar pic +posix postgres qdbm
+       readline recode +session sharedmem
+       +simplexml snmp soap sockets spell sqlite3 ssl
+       sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+       xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
+
+# Enable suhosin if available
+[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
+
+DEPEND="!dev-lang/php:5
+       >=app-admin/eselect-php-0.6.2
+       >=dev-libs/libpcre-8.12[unicode]
+       apache2? ( www-servers/apache[threads=] )
+       berkdb? ( =sys-libs/db-4* )
+       bzip2? ( app-arch/bzip2 )
+       cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+       cjk? ( !gd? (
+               virtual/jpeg
+               media-libs/libpng
+               sys-libs/zlib
+       ) )
+       crypt? ( >=dev-libs/libmcrypt-2.4 )
+       curl? ( >=net-misc/curl-7.10.5 )
+       enchant? ( app-text/enchant )
+       exif? ( !gd? (
+               virtual/jpeg
+               media-libs/libpng
+               sys-libs/zlib
+       ) )
+       firebird? ( dev-db/firebird )
+       gd? ( virtual/jpeg media-libs/libpng sys-libs/zlib )
+       gdbm? ( >=sys-libs/gdbm-1.8.0 )
+       gmp? ( >=dev-libs/gmp-4.1.2 )
+       iconv? ( virtual/libiconv )
+       imap? ( virtual/imap-c-client[ssl=] )
+       intl? ( dev-libs/icu )
+       iodbc? ( dev-db/libiodbc )
+       kerberos? ( virtual/krb5 )
+       kolab? ( >=net-libs/c-client-2004g-r1 )
+       ldap? ( >=net-nds/openldap-1.2.11 )
+       ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+       libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+       mssql? ( dev-db/freetds[mssql] )
+       !mysqlnd? (
+               mysql? ( virtual/mysql )
+               mysqli? ( >=virtual/mysql-4.1 )
+       )
+       nls? ( sys-devel/gettext )
+       oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+       odbc? ( >=dev-db/unixODBC-1.8.13 )
+       postgres? ( dev-db/postgresql-base )
+       qdbm? ( dev-db/qdbm )
+       readline? ( sys-libs/readline )
+       recode? ( app-text/recode )
+       sharedmem? ( dev-libs/mm )
+       simplexml? ( >=dev-libs/libxml2-2.6.8 )
+       snmp? ( >=net-analyzer/net-snmp-5.2 )
+       soap? ( >=dev-libs/libxml2-2.6.8 )
+       spell? ( >=app-text/aspell-0.50 )
+       sqlite3? ( >=dev-db/sqlite-3.7.6.3 )
+       ssl? ( >=dev-libs/openssl-0.9.7 )
+       sybase-ct? ( dev-db/freetds )
+       tidy? ( app-text/htmltidy )
+       truetype? (
+               =media-libs/freetype-2*
+               >=media-libs/t1lib-5.0.0
+               !gd? (
+                       virtual/jpeg media-libs/libpng sys-libs/zlib )
+       )
+       unicode? ( dev-libs/oniguruma )
+       wddx? ( >=dev-libs/libxml2-2.6.8 )
+       xml? ( >=dev-libs/libxml2-2.6.8 )
+       xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+       xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+       xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+       xpm? (
+               x11-libs/libXpm
+               virtual/jpeg
+               media-libs/libpng sys-libs/zlib
+       )
+       xsl? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+       zip? ( sys-libs/zlib )
+       zlib? ( sys-libs/zlib )
+       virtual/mta
+"
+
+php="=${CATEGORY}/${PF}"
+
+REQUIRED_USE="
+       truetype? ( gd )
+       cjk? ( gd )
+       exif? ( gd )
+
+       xpm? ( gd )
+       gd? ( zlib )
+       simplexml? ( xml )
+       soap? ( xml )
+       wddx? ( xml )
+       xmlrpc? ( || ( xml iconv ) )
+       xmlreader? ( xml )
+       xsl? ( xml )
+       ldap-sasl? ( ldap )
+       kolab? ( imap )
+       mhash? ( hash )
+       phar? ( hash )
+       mysqlnd? ( || (
+               mysql
+               mysqli
+               pdo
+       ) )
+
+       qdbm? ( !gdbm )
+       readline? ( !libedit )
+       recode? ( !imap !mysql !mysqli )
+       sharedmem? ( !threads )
+
+       !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
+
+DEPEND="${DEPEND}
+       enchant? ( !dev-php5/pecl-enchant )
+       fileinfo? ( !<dev-php5/pecl-fileinfo-1.0.4-r2 )
+       filter? ( !dev-php5/pecl-filter )
+       json? ( !dev-php5/pecl-json )
+       phar? ( !dev-php5/pecl-phar )
+       zip? ( !dev-php5/pecl-zip )"
+
+[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? (
+=${CATEGORY}/${PN}-${SLOT}*[unicode] )"
+
+DEPEND="${DEPEND}
+       sys-devel/flex
+       >=sys-devel/m4-1.4.3
+       >=sys-devel/libtool-1.5.18"
+
+# They are in PDEPEND because we need PHP installed first!
+PDEPEND="doc? ( app-doc/php-docs )"
+
+# No longer depend on the extension. The suhosin USE flag only installs the
+# patch
+#[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
+
+# Allow users to install production version if they want to
+
+case "${PHP_INI_VERSION}" in
+       production|development)
+               ;;
+       *)
+               PHP_INI_VERSION="development"
+               ;;
+esac
+
+PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
+PHP_INI_FILE="php.ini"
+
+want_apache
+
+# eblit-core
+# Usage: <function> [version] [eval]
+# Main eblit engine
+eblit-core() {
+       [[ -z $FILESDIR ]] && FILESDIR="$(dirname $EBUILD)/files"
+       local e v func=$1 ver=$2 eval_=$3
+       for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+               e="${FILESDIR}/eblits/${func}${v}.eblit"
+               if [[ -e ${e} ]] ; then
+                       . "${e}"
+                       [[ ${eval_} == 1 ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
+                       return 0
+               fi
+       done
+       return 1
+}
+
+# eblit-include
+# Usage: [--skip] <function> [version]
+# Includes an "eblit" -- a chunk of common code among ebuilds in a given
+# package so that its functions can be sourced and utilized within the
+# ebuild.
+eblit-include() {
+       local skipable=false r=0
+       [[ $1 == "--skip" ]] && skipable=true && shift
+       [[ $1 == pkg_* ]] && skipable=true
+
+       [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
+       eblit-core $1 $2
+       r="$?"
+       ${skipable} && return 0
+       [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe
+# Usage: <function>
+# Runs a function if it is defined in an eblit
+eblit-run-maybe() {
+       [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run
+# Usage: <function> [version]
+# Runs a function defined in an eblit
+eblit-run() {
+       eblit-include --skip common v2
+       eblit-include "$@"
+       eblit-run-maybe eblit-$1-pre
+       eblit-${PN}-$1
+       eblit-run-maybe eblit-$1-post
+}
+
+# eblit-pkg
+# Usage: <phase> [version]
+# Includes the given functions AND evals them so they're included in the binpkgs
+eblit-pkg() {
+       [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
+       eblit-core $1 $2 1
+}
+
+eblit-pkg pkg_setup v3
+
+src_prepare() { eblit-run src_prepare v4 ; }
+src_configure() { eblit-run src_configure v3 ; }
+src_compile() { eblit-run src_compile v2 ; }
+src_install() { eblit-run src_install v3 ; }
+src_test() { eblit-run src_test v1 ; }
+pkg_postinst() { eblit-run pkg_postinst v2 ; }