diff options
author | Ole Markus With <olemarkus@gentoo.org> | 2011-02-18 09:18:38 +0000 |
---|---|---|
committer | Ole Markus With <olemarkus@gentoo.org> | 2011-02-18 09:18:38 +0000 |
commit | 0076ce635bd11d31f3c79434933b37f9647f7332 (patch) | |
tree | 5bc12702d786487e6076b3dfc995d159542f2dbf /dev-lang | |
parent | also provide xinitrc (diff) | |
download | historical-0076ce635bd11d31f3c79434933b37f9647f7332.tar.gz historical-0076ce635bd11d31f3c79434933b37f9647f7332.tar.bz2 historical-0076ce635bd11d31f3c79434933b37f9647f7332.zip |
Added an ebuild for 5.3.6 RC1
The suhosin USE flag no longer installs the extension, only the suhosin
patch
Package-Manager: portage-2.1.9.25/cvs/Linux i686
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/php/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lang/php/Manifest | 9 | ||||
-rw-r--r-- | dev-lang/php/files/eblits/pkg_postinst-v2.eblit | 34 | ||||
-rw-r--r-- | dev-lang/php/metadata.xml | 1 | ||||
-rw-r--r-- | dev-lang/php/php-5.3.6_rc1.ebuild | 355 |
5 files changed, 392 insertions, 17 deletions
diff --git a/dev-lang/php/ChangeLog b/dev-lang/php/ChangeLog index 6a99180d0fac..fe8198ef5434 100644 --- a/dev-lang/php/ChangeLog +++ b/dev-lang/php/ChangeLog @@ -1,6 +1,14 @@ # 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.468 2011/01/30 16:00:34 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.469 2011/02/18 09:18:37 olemarkus Exp $ + + 17 Feb 2011; Ole Markus With <olemarkus@gentoo.org> +php-5.3.6_rc1.ebuild, + metadata.xml: + Added an ebuild for 5.3.6 RC1 + The suhosin USE flag no longer installs the extension, only the suhosin + patch + +*php-5.3.6_rc1 (17 Feb 2011) 30 Jan 2011; Raúl Porcel <armin76@gentoo.org> php-5.2.16.ebuild, php-5.2.17.ebuild, php-5.3.3-r1.ebuild, php-5.3.4.ebuild, php-5.3.5.ebuild, diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 703233bf605c..9a6095ab5a90 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -6,7 +6,7 @@ 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 2406 RMD160 3a01007b2e98d210aca1f9925b31e04251416a0b SHA1 06da28413cdfe111946e53b3ace75fe32561eac5 SHA256 2cad6bf864ea0ad9464642ad9f0fa0e90262771edb2a588cd48ef54d7848e729 -AUX eblits/pkg_postinst-v2.eblit 2113 RMD160 7ae76ef2cafbc10dee8e2f8e459ec129ace6a3e0 SHA1 f0441cd2e318fd991e8e2fe23aba9e8d03f3b9e1 SHA256 2c9f8b9095fc3bd08440e9a85414222ae1dad5c39b3ea16ded1e72b35334fd06 +AUX eblits/pkg_postinst-v2.eblit 2371 RMD160 7d0b3404e44c5989b6f708156fa774435337e351 SHA1 bcd8062816f1df1d221bf442bd182102367f7fb4 SHA256 8ea78698a2e6f2e6525bf869c6a085cd37761d8c8429f9d1f0cdeee7986756ee 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 @@ -33,6 +33,7 @@ DIST php-5.2.17.tar.bz2 9092312 RMD160 567fa8d718b93fb83a89494c83a8bec224ac99e9 DIST php-5.3.3.tar.bz2 10662227 RMD160 9edb51663feac9b787f8382012893f1ac98fec6a SHA1 9f66716b341119e4e4f8fe3d81b7d0a5daf3cbc8 SHA256 f2876750f3c54854a20e26a03ca229f2fbf89b8ee6176b9c0586cb9b2f0b3f9a DIST php-5.3.4.tar.bz2 10804376 RMD160 dffbeced87117fd34c948de3ebdde01a25c24dae SHA1 0b33926e78e1683e3383b3b5c840ee60ba669b0b SHA256 a832831185b1652d1adf7ff92864b2a65153853ee5999dafcd6c1ee657f4218d DIST php-5.3.5.tar.bz2 10806092 RMD160 831018429b87c46da7571397e0d463b81ded11eb SHA1 355701b723fcb497581c368be4d6e572c150a5ea SHA256 a25ddae6a59d7345bcbb69ef2517784f56c2069af663ae4611e580cbdec77e22 +DIST php-5.3.6RC1.tar.bz2 10945586 RMD160 49e1e69b0cd94d2c1737dca9d0b6e0c6d740ec01 SHA1 347bd3550ea59ad2a07ec5547563c00958ecaefe SHA256 7f6892a2fc6d71548c91e74dd4b8df7db9e9cca90127c833ad4292d531bac77b DIST php-patchset-5.2.14-r1.tar.bz2 8381 RMD160 7f562ac7df8f918f6d73f61c4e2096a88759889d SHA1 0453926bccfd5bd8089c311f6e16f1e4a8c08993 SHA256 f49aacef203cee8e7ad038492ed43e7677ed2d22e0fef07dc840195cacc95d34 DIST php-patchset-5.2.16-r0.tar.bz2 8352 RMD160 8c844dd39d5d81aecebb21da4732aae6154e91bf SHA1 f598812b470f1c3afa2e037902ff040726720149 SHA256 4a4d6c5e1d014d3ada62c53a6d0c44dbf486be4a55d51b6541ac8979699ea7b4 DIST php-patchset-5.2.17-r0.tar.bz2 8369 RMD160 544af4eb2de8e4478e675810f18a5b494b59709b SHA1 7b3c56437b435f60f72f7af08112e77c01e2f827 SHA256 fb159a02faf5120dd9bc620bd3f3094735f181aa6893273bb7dd29771b8b23b2 @@ -40,6 +41,7 @@ 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 php-patchset-5.3.5-r0.tar.bz2 9479 RMD160 e8b90a8f064d3053a5fe233c758d34bedc450b25 SHA1 e8158b6741017c306f7f092a7592ee7007169df9 SHA256 29097986de2f19713c2aa530bcc1cd873f77aeacacba5405f325c460cfd46219 DIST php-patchset-5.3.5-r1.tar.bz2 10272 RMD160 79ef53cdea8099eba93bfdf9dfe7af989d5f9146 SHA1 8a7ff781fcd37ce4591aeff619681f7ff5af57c6 SHA256 1cdc2b5eef4efdef154dc8cc60faac0566f72617de7432636f9053e412d99a46 +DIST php-patchset-5.3.6_rc1-r0.tar.bz2 10057 RMD160 998f3fab7d5a8ae8e7a5dc51707391576a57b6c8 SHA1 15a5afcb9f961f40de4b656b1634382367833d02 SHA256 01dd761cbfd05745f04de5f518573ad24628e93962aeeaa325440769ad7c758e DIST suhosin-patch-5.2.14-0.9.7.patch.gz 23057 RMD160 bc7790cd36dc4101322684b754db3ca2d4385ba6 SHA1 0a12d3589f9c26dc7d6b6452ef7987b2e6527a30 SHA256 bd03ade44673f7e6fa116d746350f16c60be7170d6c41816a2d51faaeb5a31ae DIST suhosin-patch-5.2.16-0.9.7.patch.gz 23069 RMD160 b28b70faf136b3e04c5b483da0f4c2279378f43a SHA1 fec10b2b81582d06bb0d0a96ea55c525afc8ab29 SHA256 aae115a318d80b3f32cedf876e7a8e4b932febb1b0c743c0b398003ebe122f91 DIST suhosin-patch-5.3.3-0.9.10.patch.gz 41298 RMD160 8dcd8b51ea0357b6cc51e70e495e18f341c62f7c SHA1 76675242cfdeff763767900213346af622002490 SHA256 f48489ff7d3fd3fc30429f7349f181c84caf2e03e672eb2d2b55b46adf6f602c @@ -51,5 +53,6 @@ EBUILD php-5.3.3-r1.ebuild 9515 RMD160 65a191e4029a90c23f903ba4bfb180af2507bcaf EBUILD php-5.3.4.ebuild 9884 RMD160 db528694043e91c768be90a52f7859a6503dd265 SHA1 89cfa02e98539df7fe006407428c52231e88d5a7 SHA256 989994d4450cf8ff9d54fcf30f333fc6dea10f19e5149158c5e9315743ecfc56 EBUILD php-5.3.5-r1.ebuild 9933 RMD160 6e48885c668620e3a1b3a0545a1734047b16bed8 SHA1 cf069ae24f07461d00ba9536544abc36a8a4ff67 SHA256 bab021a98aac63d49bc1351bf032c718637181a3562421aff1475b00d0f70f63 EBUILD php-5.3.5.ebuild 9917 RMD160 b5e8c5b8acf6986276b5138e341f809541526068 SHA1 c708446a7376d225a930e14ad1d42184cf49f3d8 SHA256 402433bac3c05347c16843a860a5833dbd65987edb837901f565b9c93d9e8029 -MISC ChangeLog 79797 RMD160 8c7c0b6d60669c45fc732015d603a58c898ddbb1 SHA1 6f0de7d08830cf2a88e1502e25c499fb9cf5345b SHA256 eb962f726d1719ab0e43303922058d04409500e8d1e2e7ccceb83a40a4f66238 -MISC metadata.xml 2090 RMD160 5e8fc242c6035f8f3f12bd2ce2f77a5621398ac5 SHA1 3726febbe532141d65abccd6d6573ece6a3682c7 SHA256 0ba00cbf8509c6d9d21bf5d92759b32d5259051b4ed044fed71a4164460c65d8 +EBUILD php-5.3.6_rc1.ebuild 10016 RMD160 4e7cd68bd956ddeaf0708279214be1ca6650dc05 SHA1 0b49c031435edcd4fbbafa56bf8cdbcf1ff4731e SHA256 43f48d1a2f4c9cb978126f07a96cbfe3b6fce4e1b393089431123a615db94221 +MISC ChangeLog 80037 RMD160 ea1818e1d3fe3ce75e92b6ff3898b041390f1f10 SHA1 44cbfe9d2f50e3b167643182dbb3f8dd264441b4 SHA256 040fd0dc41ef0c3987b1957a3606f4e1f2127239c88904598bff0c90856e8450 +MISC metadata.xml 2212 RMD160 e26ea7f6831acb23854f018fe6d00c213bf62e5a SHA1 25500969d6ef6c1918a8e6abbb04e0553806dee2 SHA256 6fdbba214ce15fae4a1e2eb086586008377fff85e67e38b1e2232a9745432674 diff --git a/dev-lang/php/files/eblits/pkg_postinst-v2.eblit b/dev-lang/php/files/eblits/pkg_postinst-v2.eblit index 8cbfc671d8ab..70bb7e879e3e 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-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.11 2011/02/16 08:12:28 olemarkus Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/pkg_postinst-v2.eblit,v 1.12 2011/02/18 09:18:38 olemarkus Exp $ eblit-php-pkg_postinst() { # Output some general info to the user @@ -28,19 +28,19 @@ 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" - ewarn "to compile extensions for the ${SLOT} ABI" - ewarn + elog "You may have to recompile third-party extensions now" + elog "(includes every dev-php5/pecl-* package and probably others in that category)" + 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 - ewarn - ewarn "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version." - 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" + 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 @@ -49,8 +49,16 @@ eblit-php-pkg_postinst() { 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 - 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-upgrading.xml" + 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/metadata.xml b/dev-lang/php/metadata.xml index c95e2e7728da..4cf1086be940 100644 --- a/dev-lang/php/metadata.xml +++ b/dev-lang/php/metadata.xml @@ -25,6 +25,7 @@ <flag name='reflection'>Enable the reflection extension (Reflection API) (deprecated: always "on" in php 5.3)</flag> <flag name='spl'>Adds support for the Standard PHP Library (deprecated: always "on" in php 5.3)</flag> <flag name='suhosin'>Add Suhosin support (patch and extension from http://www.suhosin.org/)</flag> + <flag restrict=">=dev-lang/php-5.3.6_rc1" name='suhosin'>Add the Suhosin patch from http://www.suhosin.org/)</flag> <flag name='xmlreader'>Enable XMLReader support</flag> <flag name='xmlwriter'>Enable XMLWriter support</flag> <flag name='zip'>Enable ZIP file support</flag> diff --git a/dev-lang/php/php-5.3.6_rc1.ebuild b/dev-lang/php/php-5.3.6_rc1.ebuild new file mode 100644 index 000000000000..8b8b4ef42b44 --- /dev/null +++ b/dev-lang/php/php-5.3.6_rc1.ebuild @@ -0,0 +1,355 @@ +# 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.6_rc1.ebuild,v 1.1 2011/02/18 09:18:38 olemarkus 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="" +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")" + +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 ]] && 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 )" + +# 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 ; } |