summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatti Bickel <mabi@gentoo.org>2011-01-05 11:23:16 +0000
committerMatti Bickel <mabi@gentoo.org>2011-01-05 11:23:16 +0000
commit67da5350a8b3d66c305d8fcdecf99e4387e6c994 (patch)
tree8713194c44cc79f80a6919f911228537779e7c7a /dev-lang
parentFixed Qt4 issue, bug #349859. Fixed gtk issue, bug #350207. These patches are... (diff)
downloadhistorical-67da5350a8b3d66c305d8fcdecf99e4387e6c994.tar.gz
historical-67da5350a8b3d66c305d8fcdecf99e4387e6c994.tar.bz2
historical-67da5350a8b3d66c305d8fcdecf99e4387e6c994.zip
now includes new suhosin patch, mhash is usable again, interbase/firebird configure fixed, now includes a warning about stale config dirs
Package-Manager: portage-2.2.0_alpha11/cvs/Linux x86_64
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/php/ChangeLog12
-rw-r--r--dev-lang/php/Manifest11
-rw-r--r--dev-lang/php/files/eblits/pkg_postinst-v2.eblit13
-rw-r--r--dev-lang/php/files/eblits/src_configure-v2.eblit15
-rw-r--r--dev-lang/php/files/eblits/src_prepare-v2.eblit7
-rw-r--r--dev-lang/php/php-5.2.16-r1.ebuild341
-rw-r--r--dev-lang/php/php-5.3.4-r1.ebuild353
7 files changed, 737 insertions, 15 deletions
diff --git a/dev-lang/php/ChangeLog b/dev-lang/php/ChangeLog
index 3c40de406db9..98573448fd1d 100644
--- a/dev-lang/php/ChangeLog
+++ b/dev-lang/php/ChangeLog
@@ -1,6 +1,16 @@
# 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.453 2011/01/02 17:52:04 klausman Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.454 2011/01/05 11:23:16 mabi Exp $
+
+*php-5.3.4-r1 (05 Jan 2011)
+*php-5.2.16-r1 (05 Jan 2011)
+
+ 05 Jan 2011; Matti Bickel <mabi@gentoo.org>
+ files/eblits/pkg_postinst-v2.eblit, +php-5.2.16-r1.ebuild,
+ files/eblits/src_configure-v2.eblit, +php-5.3.4-r1.ebuild,
+ files/eblits/src_prepare-v2.eblit:
+ now includes new suhosin patch, mhash is usable again, interbase/firebird
+ configure fixed, now includes a warning about stale config dirs
02 Jan 2011; Tobias Klausmann <klausman@gentoo.org> php-5.2.16.ebuild:
Stable on alpha, bug #340807
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 94fd3e28c772..ded0e51c9048 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -6,18 +6,18 @@ AUX 70_mod_php5_concurr.conf-apache2-r1 376 RMD160 4f7de5c0784b6191450b5c1a7de7a
AUX eblits/common-v1.eblit 379 RMD160 60b526e9a736553f6e4883c9fb9525464192bde2 SHA1 97c4e1c9475d73227f26cbef80640f43d838af6f SHA256 65c909a6d0501a6746518f539c4a4021426469cbf20b2a212fb0d60b48da5362
AUX eblits/common-v2.eblit 379 RMD160 595fd6c6be1e0ac15012ea78497a4d2c287c6754 SHA1 98e28261e32bda53c7dfef88def615f633af7c44 SHA256 8c15442b04b0216342ef6f2b8565cb3510f6850fe67745d5697861e2f7759194
AUX eblits/pkg_postinst-v1.eblit 2402 RMD160 2d02fb26a6ad1424fe1ca4060fc97e5ecca6c0a2 SHA1 17a1e4f9db1035759a5ca1feb32e0ead088f563a SHA256 a2c493c8f50558872a3adb76c8ac24d23e9cf34e09610959be4836202ee73aa9
-AUX eblits/pkg_postinst-v2.eblit 1817 RMD160 bf26782ac846213e62c5db3430cb0669b1f13b1c SHA1 3d348f736fffe5f9f83ec0eb41030c7ffa84417e SHA256 235b53c9bc865a856d3022b7952756ebe95e9c96bda4cf2ead0eac53a1d97eb8
+AUX eblits/pkg_postinst-v2.eblit 2093 RMD160 bf707d07b7bc7014f27da38a1b830f908f6c0de8 SHA1 3b5f9e22b16f55eccd4b59f5211ee389159099e3 SHA256 c5c1ef0cc0286553669f3748d4a7883a9e3fc3e149d28ad6c7aeb7e4bb4f40ff
AUX eblits/pkg_setup-v1.eblit 777 RMD160 aa63e7ab1bae34feffbbfaae902f11c6e797ba9d SHA1 f7334a4750b1a1bb2f24021dff884733a88ac347 SHA256 2613f51ee9e3a258dbab38ff2df724f2971a50a5ad8c097cb5a4e3744df5fc8a
AUX eblits/pkg_setup-v2.eblit 527 RMD160 c8700795e0c3a38538622a02d2dd7d5a34438783 SHA1 affda60b6e4501fb2bc0d50f6d63b6bc78cd6205 SHA256 f7dca5b41844d87cbbcf06d3f46952d892ff0edf58a8b0fc7ba79459180596b5
AUX eblits/src_compile-v1.eblit 1283 RMD160 83fbb374e2dfaa9d164e6b32b57c268ed06bf519 SHA1 09124cbc9008bfb72eb24cd24b2319d22df52c2c SHA256 5ec76ae24304c5f803a615a98394c219018da1b1ce2018f92f6ac8c5becf6c99
AUX eblits/src_configure-v1.eblit 10979 RMD160 c20ce6476380cf1b355f1c957f8e0bfdf166e220 SHA1 bd2f51283e01bf838bbb1946a9879ac337c6e90c SHA256 dc769b7c5846248fdd5d1a930a3e9b614d550bfcc78f09ecd1c08607796f0206
-AUX eblits/src_configure-v2.eblit 10697 RMD160 0140baa81d913d2e2c280b5e4d961fea16ce164f SHA1 8f8a3aac4b030765b6a7346d72699229a1d602a7 SHA256 ede45f7c7a9849baebdc662cc159184c0a2c59150c14292e3814bcdd7889884c
+AUX eblits/src_configure-v2.eblit 10855 RMD160 27c70744216912e79707c6861bc7d00a379d690a SHA1 7629d985421b756aa57bcce51d378ff14db675c8 SHA256 cd3002b6c9bd91dc9d7471e416cc631247fb2ad9d7b68981b26a3f83f84c916a
AUX eblits/src_configure-v52.eblit 11017 RMD160 4a804e4b021d2454c81c33644a744b72eec1e65d SHA1 f30392f1727592ad5de79934042d9d0b09c4ba41 SHA256 784ec5482362cc8f0725ca30a186e08958d7e8e752a238af043cfa8c7a68ed85
AUX eblits/src_configure-v521.eblit 10844 RMD160 90513f59b5f17d680004d3e74581d9eedc8af490 SHA1 a369e2cf7816799f7e2bead8b6eccc2115d0ecdc SHA256 ad875ca45e9ad975c0d7a3cbedc27c5035aa048d7aa935221a15e47cbca63c3d
AUX eblits/src_install-v1.eblit 5146 RMD160 24127823735939101dcb00585a5ed69adedffed2 SHA1 36ab2648abaae12d1a86c97db82cd2ea86497b2d SHA256 3bddd375764b0ed00cb30e65036c67f96c56ea0ebfd70bcdc61b7465d1500d36
AUX eblits/src_install-v2.eblit 4986 RMD160 b5f409b505212d20058c6ba9e817a67878bef20e SHA1 31253a50f89f7a082bae99a3f47e435610cd1c69 SHA256 22a135acec8b7cc0f5521f2354617471e245b2300e99b39768e8785dee10c4ee
AUX eblits/src_prepare-v1.eblit 2616 RMD160 ccff64d09cc90ada1ea5d1311457cf9a05f12f8e SHA1 7db40d0ca7ef01e5b61962f261511803f768f1bc SHA256 915b9755a37f7670f6e436fe5072dae8f5e6b437ccdfbff835e26bb2f9d22b1e
-AUX eblits/src_prepare-v2.eblit 2511 RMD160 57fee4b49be5082480b8a2501310389d94c37932 SHA1 c80992fb834053d941fae06defd3eb84f2def5e9 SHA256 124f7cabc3fbbb82e4331410878b8f6c8c2a98991c5a5bd1a07938a3b809e0b0
+AUX eblits/src_prepare-v2.eblit 2604 RMD160 379dbca3e2ae8c1f09f608220ec9c98d099cb792 SHA1 42afae4e07633535ecea49817f5badd559f10ff1 SHA256 fe7534260fb81a012b8021b5d555756ce8733ad192bf51cedd94f12963811790
AUX eblits/src_test-v1.eblit 1530 RMD160 10031a5128dab729106c6fbfe4e899b1583818cb SHA1 0f1abf995913c2c381e2496b8670ea4f6e97964b SHA256 67501925cfdaf9043e4985d0f1c797e62fb42bf47e6863b5ffdecb104888e82c
AUX php-5.2.10-pdo_dblib.patch 559 RMD160 062604e291113b2bb86044b5eeffb72fad210fbc SHA1 d59d26e6557dac86e582e1a6ed7bb4795cf150c6 SHA256 0548d63d7379cd19f7ade6ca1222b1b577f684b142ff6b0e8e23742b1f7f9794
AUX php-5.2.12-libpng14.patch 222 RMD160 d63bd712d077d9606a02d6620c7084bca7197c01 SHA1 a25a47386d625a47698094fc4825208c6ec8f2a4 SHA256 af94a9c2a104dcb037aa059dd46b6f534adb939ea44ad4cb9e3a0a7c49b64fab
@@ -37,9 +37,12 @@ DIST php-patchset-5.3.3-r2.tar.bz2 9796 RMD160 6620cae9768e6a2c415ad6ed1fe9d5665
DIST php-patchset-5.3.4-r0.tar.bz2 9482 RMD160 cf9325dd713a381a24d51447c2479358e7277d56 SHA1 f55d024e83343041d46715e5a48c5de88643afd1 SHA256 05c04f9b15efd12f3596a2013c51932b6d61d358705dbdc2d50ce38b71b69ab0
DIST suhosin-patch-5.2.14-0.9.7.patch.gz 23057 RMD160 bc7790cd36dc4101322684b754db3ca2d4385ba6 SHA1 0a12d3589f9c26dc7d6b6452ef7987b2e6527a30 SHA256 bd03ade44673f7e6fa116d746350f16c60be7170d6c41816a2d51faaeb5a31ae
DIST suhosin-patch-5.3.3-0.9.10.patch.gz 41298 RMD160 8dcd8b51ea0357b6cc51e70e495e18f341c62f7c SHA1 76675242cfdeff763767900213346af622002490 SHA256 f48489ff7d3fd3fc30429f7349f181c84caf2e03e672eb2d2b55b46adf6f602c
+DIST suhosin-patch-5.3.4-0.9.10.patch.gz 41092 RMD160 e5105397a9e41997ad11d2a0be01c7e3c9d06c6e SHA1 a2ab4bd03a329ec56a1f8b99e12e59f1838e0da6 SHA256 6c920803f6a9f43881c7d8a938716cb572c2f43181fe5cd71f7bfb486825fddf
EBUILD php-5.2.14.ebuild 9164 RMD160 893778d74f25ee5a0f1310be970499152102c7f6 SHA1 4f82548143854bcb759eda79a040b40d160408c3 SHA256 0c91e2a72176d103d377f328af20f759fd087ebb00e761b28d3fc372dfb09a59
+EBUILD php-5.2.16-r1.ebuild 9733 RMD160 80df9fa055ff51006099673692f1dc8dd778a378 SHA1 a2a0d6b1bc45af09e42d283f7f74a8ece6702ecf SHA256 af8f97b0b5d9ab2cfde0ac2f1f15fc7bae5a41d85587664a2f183a3fd20a9226
EBUILD php-5.2.16.ebuild 9735 RMD160 114bb0cbf4b7d85dc7f6dc76b90788d51c34e42d SHA1 ca30cf694a93eb2fcac277a1df8ea6858f911def SHA256 95397e84f43159d8ad71eb2a8975da119135077a6a326d57db36ef6859e75669
EBUILD php-5.3.3-r1.ebuild 9488 RMD160 c5bd926dcd856115535169df97eb8d66259c5922 SHA1 09a053a1c289aaeafddd85d97a57e2c8dcc728c6 SHA256 1204b3f0899e4bf721afd4aa4f2993d04281b62b433249692e8866b22d0cc9cf
+EBUILD php-5.3.4-r1.ebuild 9886 RMD160 4643786658457aee7c83c9688053b06ba1f217f7 SHA1 d028ae7759c2be43c76ba31d28e9a2fbf0532f8f SHA256 08ebd2f13d366ac5942a4a6dad75b641219f32413da901b5bf6ea9270982a9cf
EBUILD php-5.3.4.ebuild 9862 RMD160 bb8726cb710456db7b73f6ce15ca24793c852596 SHA1 1adbb8fd61c4d4045b939a6a7e8ee0680ef70263 SHA256 4e997822e06369996ea5596c97b7d60591a1522f6e82f2c2d37fc9ec4d36e9e5
-MISC ChangeLog 77439 RMD160 eb27ce0e1d484493ca5fff0bbcca2f301170ce40 SHA1 a741e62c73324bbcf12dba99c30547d3af92c585 SHA256 54a5fadc82e362811a55c5deb8379d63168b443b2551660867b0ceaad4dcf3ee
+MISC ChangeLog 77841 RMD160 679fef3aad3f4dc3db27e85f960fc3672060487e SHA1 5d9520f4ec3b34a25841f3bb4e1de2680cbd0f11 SHA256 aa7712058f44fae2158d8af372f5824516a445ff01aeb66b902f0e0ab1ab8138
MISC metadata.xml 2090 RMD160 5e8fc242c6035f8f3f12bd2ce2f77a5621398ac5 SHA1 3726febbe532141d65abccd6d6573ece6a3682c7 SHA256 0ba00cbf8509c6d9d21bf5d92759b32d5259051b4ed044fed71a4164460c65d8
diff --git a/dev-lang/php/files/eblits/pkg_postinst-v2.eblit b/dev-lang/php/files/eblits/pkg_postinst-v2.eblit
index ef18d3f59939..b54c609c90ba 100644
--- a/dev-lang/php/files/eblits/pkg_postinst-v2.eblit
+++ b/dev-lang/php/files/eblits/pkg_postinst-v2.eblit
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/pkg_postinst-v2.eblit,v 1.8 2010/11/22 11:53:15 olemarkus Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/pkg_postinst-v2.eblit,v 1.9 2011/01/05 11:23:16 mabi Exp $
eblit-php-pkg_postinst() {
# Output some general info to the user
@@ -28,8 +28,6 @@ eblit-php-pkg_postinst() {
fi
done
-
-
ewarn "You may have to recompile third-party extensions now"
ewarn "(includes every dev-php5/pecl-* package and probably others in that category)"
ewarn "Make sure that PHP_TARGETS in /etc/make.conf includes php${SLOT/./-} in order"
@@ -44,6 +42,13 @@ eblit-php-pkg_postinst() {
ewarn "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
ewarn "'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/\$SAPI-php${SLOT}"
+ fi
ewarn
ewarn "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
ewarn "http://www.gentoo.org/proj/en/php/php-guide.xml"
diff --git a/dev-lang/php/files/eblits/src_configure-v2.eblit b/dev-lang/php/files/eblits/src_configure-v2.eblit
index 843c0479b194..ab098329578e 100644
--- a/dev-lang/php/files/eblits/src_configure-v2.eblit
+++ b/dev-lang/php/files/eblits/src_configure-v2.eblit
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_configure-v2.eblit,v 1.4 2010/12/21 09:09:17 mabi Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_configure-v2.eblit,v 1.5 2011/01/05 11:23:16 mabi Exp $
eblit-php-src_configure() {
PHP_DESTDIR="/usr/$(get_libdir)/php${SLOT}"
@@ -35,6 +35,7 @@ eblit-php-src_configure() {
phpconfutils_extension_with "gettext" "nls" 1
phpconfutils_extension_with "gmp" "gmp" 1
phpconfutils_extension_disable "hash" "hash" 0
+ phpconfutils_extension_with "mhash" "mhash" 0
phpconfutils_extension_without "iconv" "iconv" 0
phpconfutils_extension_enable "intl" "intl" 1
phpconfutils_extension_disable "ipv6" "ipv6" 0
@@ -113,8 +114,14 @@ eblit-php-src_configure() {
phpconfutils_extension_with "imap-ssl" "ssl" 0
fi
- phpconfutils_extension_with "interbase" "interbase" 0 "/opt"
- phpconfutils_extension_with "interbase" "firebird" 0 "/usr"
+ # Interbase/firebird support
+ if use interbase ; then
+ phpconfutils_extension_with "interbase" "interbase" 0 "/opt"
+ fi
+
+ if use firebird ; then
+ phpconfutils_extension_with "interbase" "firebird" 0 "/usr"
+ fi
# LDAP support
if use ldap ; then
diff --git a/dev-lang/php/files/eblits/src_prepare-v2.eblit b/dev-lang/php/files/eblits/src_prepare-v2.eblit
index 53112f7b7bc7..b6bd72eed963 100644
--- a/dev-lang/php/files/eblits/src_prepare-v2.eblit
+++ b/dev-lang/php/files/eblits/src_prepare-v2.eblit
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_prepare-v2.eblit,v 1.2 2010/12/19 14:24:49 mabi Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_prepare-v2.eblit,v 1.3 2011/01/05 11:23:16 mabi Exp $
eblit-php-src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
@@ -47,8 +47,11 @@ eblit-php-src_prepare() {
if use suhosin ; then
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
fi
+ else
+ ewarn "Please note that this version of PHP does not yet come with a suhosin patch"
fi
+
# rebuild the whole autotools stuff as we are heavily patching it
# (suhosin, fastbuild, ...)
diff --git a/dev-lang/php/php-5.2.16-r1.ebuild b/dev-lang/php/php-5.2.16-r1.ebuild
new file mode 100644
index 000000000000..998923e5bf6b
--- /dev/null
+++ b/dev-lang/php/php-5.2.16-r1.ebuild
@@ -0,0 +1,341 @@
+# 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.2.16-r1.ebuild,v 1.1 2011/01/05 11:23:16 mabi Exp $
+
+EAPI=2
+
+PHPCONFUTILS_MISSING_DEPS="adabas birdstep db2 dbmaker empress empress-bcs esoob
+interbase msql oci8 sapdb solid"
+
+inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use phpconfutils php-common-r1 libtool
+
+#SUHOSIN_VERSION="$PV-0.9.7"
+SUHOSIN_VERSION=""
+EXPECTED_TEST_FAILURES=""
+
+KEYWORDS="~amd64 ~arm ~hppa ~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}"
+ ;;
+ "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"
+PHP_P="${PN}-${PHP_PV}"
+PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
+
+PHP_PATCHSET="0"
+PHP_PATCHSET_URI="
+ $(php_get_uri gentoo "php-patchset-${PV}-r${PHP_PATCHSET}.tar.bz2")"
+
+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, Apache2 and embed SAPIs."
+HOMEPAGE="http://php.net/"
+LICENSE="PHP-3"
+
+# We can build the following SAPIs in the given order
+SAPIS="cli cgi embed apache2"
+
+# Gentoo-specific, common features
+IUSE="kolab"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads force-cgi-redirect discard-path"
+
+IUSE="${IUSE} adabas bcmath berkdb birdstep bzip2 calendar cdb cjk
+ crypt +ctype curl curlwrappers db2 dbase dbmaker debug doc empress
+ empress-bcs esoob exif fdftk frontbase +filter firebird
+ flatfile ftp gd gd-external gdbm gmp +hash +iconv imap inifile
+ interbase iodbc ipv6 +json kerberos ldap ldap-sasl libedit
+ mcve mhash msql mssql mysql mysqli ncurses nls oci8
+ oci8-instant-client odbc pcntl +pcre pdo pic +posix postgres qdbm
+ readline recode reflection sapdb +session sharedext sharedmem
+ +simplexml snmp soap sockets solid spell spl sqlite ssl suhosin
+ sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+ xml xmlreader xmlwriter xmlrpc xpm xsl yaz zip zlib"
+
+# Enable suhosin if available
+[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
+
+DEPEND=">=app-admin/eselect-php-0.6.2
+ pcre? ( >=dev-libs/libpcre-7.9[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? (
+ >=media-libs/jpeg-6b
+ 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 )
+ esoob? ( >=dev-db/unixODBC-1.8.13 )
+ exif? ( !gd? ( !gd-external? (
+ >=media-libs/jpeg-6b
+ media-libs/libpng
+ sys-libs/zlib
+ ) ) )
+ fdftk? ( app-text/fdftk )
+ firebird? ( dev-db/firebird )
+ gd? ( >=media-libs/jpeg-6b 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 )
+ 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 ) )
+ mhash? ( app-crypt/mhash )
+ mssql? ( dev-db/freetds[mssql] )
+ mysql? ( virtual/mysql )
+ mysqli? ( >=virtual/mysql-4.1 )
+ ncurses? ( sys-libs/ncurses )
+ 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* ) )
+ 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? (
+ >=media-libs/jpeg-6b media-libs/libpng sys-libs/zlib ) )
+ )
+ 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
+ >=media-libs/jpeg-6b
+ 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}"
+RDEPEND="${DEPEND}
+ truetype? ( || ( $php[gd] $php[gd-external] ) )
+ cjk? ( || ( $php[gd] $php[gd-external] ) )
+ exif? ( || ( $php[gd] $php[gd-external] ) )
+
+ xpm? ( $php[gd] )
+ gd? ( $php[zlib,-gd-external] )
+ gd-external? ( $php[-gd] )
+ simplexml? ( $php[xml] )
+ soap? ( $php[xml] )
+ wddx? ( $php[xml] )
+ xmlrpc? ( || ( $php[xml] $php[iconv] ) )
+ xmlreader? ( $php[xml] )
+ xsl? ( $php[xml] )
+ ldap-sasl? ( $php[ldap,-oci8] )
+ suhosin? ( $php[unicode] )
+ adabas? ( $php[odbc] )
+ birdstep? ( $php[odbc] )
+ dbmaker? ( $php[odbc] )
+ empress-bcs? ( $php[empress] )
+ empress? ( $php[odbc] )
+ esoob? ( $php[odbc] )
+ db2? ( $php[odbc] )
+ sapdb? ( $php[odbc] )
+ solid? ( $php[odbc] )
+ kolab? ( $php[imap] )
+
+ oci8? ( $php[-oci8-instant-client,-ldap-sasl] )
+ oci8-instant-client? ( $php[-oci8] )
+
+ qdbm? ( $php[-gdbm] )
+ readline? ( $php[-libedit] )
+ recode? ( $php[-imap,-mysql,-mysqli] )
+ firebird? ( $php[-interbase] )
+ sharedmem? ( $php[-threads] )
+
+ !cli? ( !cgi? ( !apache2? ( !embed? ( $php[cli] ) ) ) )
+
+ filter? ( !dev-php${PHP_MV}/pecl-filter )
+ json? ( !dev-php${PHP_MV}/pecl-json )
+ zip? ( !dev-php${PHP_MV}/pecl-zip )"
+
+[[ -n $SUHOSIN_VERSION ]] && DEPEND="${DEPEND} suhosin? ( $php[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 )
+ suhosin? ( dev-php${PHP_MV}/suhosin )
+ mcve? ( dev-php${PHP_MV}/pecl-mcve )
+ yaz? ( dev-php${PHP_MV}/pecl-yaz )"
+
+[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
+
+# Portage doesn't support setting PROVIDE based on the USE flags that
+# have been enabled, so we have to PROVIDE everything for now and hope
+# for the best
+PROVIDE="virtual/php"
+
+SLOT="$(get_version_component_range 1-2)"
+S="${WORKDIR}/${PHP_P}"
+
+# Allow users to install production version if they want to
+# PHP 5.2 has other filenames for prod and dev versions
+
+case "${PHP_INI_VERSION}" in
+ production)
+ PHP_INI_UPSTREAM="php.ini-recommended"
+ ;;
+ development)
+ PHP_INI_UPSTREAM="php.ini-dist"
+ ;;
+ *)
+ PHP_INI_VERSION="development"
+ PHP_INI_UPSTREAM="php.ini-dist"
+ ;;
+esac
+
+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 v2 ; }
+src_configure() { eblit-run src_configure v521 ; }
+src_compile() { eblit-run src_compile v1 ; }
+src_install() { eblit-run src_install v2 ; }
+src_test() { eblit-run src_test v1 ; }
+pkg_postinst() { eblit-run pkg_postinst v2 ; }
diff --git a/dev-lang/php/php-5.3.4-r1.ebuild b/dev-lang/php/php-5.3.4-r1.ebuild
new file mode 100644
index 000000000000..03bdfe8bd0c5
--- /dev/null
+++ b/dev-lang/php/php-5.3.4-r1.ebuild
@@ -0,0 +1,353 @@
+# 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.4-r1.ebuild,v 1.1 2011/01/05 11:23:16 mabi Exp $
+
+EAPI=2
+
+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="${PV}-0.9.10"
+FPM_VERSION="builtin"
+EXPECTED_TEST_FAILURES=""
+
+KEYWORDS="~amd64 ~arm ~hppa ~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"
+PHP_P="${PN}-${PHP_PV}"
+
+PHP_PATCHSET_LOC="gentoo"
+
+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")"
+
+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="cli cgi fpm embed 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-7.9[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 )
+ fpm? ( >=dev-libs/libevent-1.4.12 )
+ 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 )
+ 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* ) )
+ sqlite3? ( =dev-db/sqlite-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? ( !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}"
+RDEPEND="${DEPEND}
+ truetype? ( || ( $php[gd] $php[gd-external] ) )
+ cjk? ( || ( $php[gd] $php[gd-external] ) )
+ exif? ( || ( $php[gd] $php[gd-external] ) )
+
+ xpm? ( $php[gd] )
+ gd? ( $php[zlib,-gd-external] )
+ gd-external? ( $php[-gd] )
+ simplexml? ( $php[xml] )
+ soap? ( $php[xml] )
+ wddx? ( $php[xml] )
+ xmlrpc? ( || ( $php[xml] $php[iconv] ) )
+ xmlreader? ( $php[xml] )
+ xsl? ( $php[xml] )
+ ldap-sasl? ( $php[ldap,-oci8] )
+ adabas? ( $php[odbc] )
+ birdstep? ( $php[odbc] )
+ dbmaker? ( $php[odbc] )
+ empress-bcs? ( $php[empress] )
+ empress? ( $php[odbc] )
+ esoob? ( $php[odbc] )
+ db2? ( $php[odbc] )
+ sapdb? ( $php[odbc] )
+ solid? ( $php[odbc] )
+ kolab? ( $php[imap] )
+ mhash? ( $php[hash] )
+ phar? ( $php[hash] )
+ mysqlnd? ( || (
+ $php[mysql]
+ $php[mysqli]
+ $php[pdo]
+ ) )
+
+ oci8? ( $php[-oci8-instant-client,-ldap-sasl] )
+ oci8-instant-client? ( $php[-oci8] )
+
+ qdbm? ( $php[-gdbm] )
+ readline? ( $php[-libedit] )
+ recode? ( $php[-imap,-mysql,-mysqli] )
+ firebird? ( $php[-interbase] )
+ sharedmem? ( $php[-threads] )
+
+ !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( $php[cli] ) ) ) ) )
+
+ enchant? ( !dev-php${PHP_MV}/pecl-enchant )
+ fileinfo? ( !<dev-php${PHP_MV}/pecl-fileinfo-1.0.4-r2 )
+ filter? ( !dev-php${PHP_MV}/pecl-filter )
+ json? ( !dev-php${PHP_MV}/pecl-json )
+ phar? ( !dev-php${PHP_MV}/pecl-phar )
+ zip? ( !dev-php${PHP_MV}/pecl-zip )"
+
+[[ -n $SUHOSIN_VERSION ]] && DEPEND="${DEPEND} 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 )"
+
+[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
+
+# Portage doesn't support setting PROVIDE based on the USE flags that
+# have been enabled, so we have to PROVIDE everything for now and hope
+# for the best
+PROVIDE="virtual/php"
+
+# 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 v2 ; }
+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 ; }
+pkg_postinst() { eblit-run pkg_postinst v2 ; }