diff options
author | Ole Markus With <olemarkus@gentoo.org> | 2012-05-08 17:22:11 +0000 |
---|---|---|
committer | Ole Markus With <olemarkus@gentoo.org> | 2012-05-08 17:22:11 +0000 |
commit | 58ec7565f3217d7a760dd2a9fac354f7a75f5ea6 (patch) | |
tree | 8ba6484b2514352940e34b1d1cf47f2bbaba76e4 /dev-lang | |
parent | Backported autotools changes from 2.7.4 (diff) | |
download | historical-58ec7565f3217d7a760dd2a9fac354f7a75f5ea6.tar.gz historical-58ec7565f3217d7a760dd2a9fac354f7a75f5ea6.tar.bz2 historical-58ec7565f3217d7a760dd2a9fac354f7a75f5ea6.zip |
Version bump. Hopefully fixing the CGI SAPI vulnerability … Bug #414553
Package-Manager: portage-2.1.10.49/cvs/Linux x86_64
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/php/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/php/Manifest | 19 | ||||
-rw-r--r-- | dev-lang/php/php-5.3.13.ebuild | 392 | ||||
-rw-r--r-- | dev-lang/php/php-5.4.3.ebuild | 384 |
4 files changed, 798 insertions, 6 deletions
diff --git a/dev-lang/php/ChangeLog b/dev-lang/php/ChangeLog index 9d5089f641ad..9621196f8816 100644 --- a/dev-lang/php/ChangeLog +++ b/dev-lang/php/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-lang/php # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.583 2012/05/03 20:27:33 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.584 2012/05/08 17:22:11 olemarkus Exp $ + +*php-5.4.3 (08 May 2012) +*php-5.3.13 (08 May 2012) + + 08 May 2012; Ole Markus With <olemarkus@gentoo.org> +php-5.3.13.ebuild, + +php-5.4.3.ebuild: + Version bump. Hopefully fixing the CGI SAPI vulnerability … Bug #414553 03 May 2012; Markus Meier <maekke@gentoo.org> php-5.3.11.ebuild: arm stable, bug #410957 diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index a2e2ebde4115..28d77b22e55d 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -25,16 +25,19 @@ DIST php-5.3.10.tar.bz2 11707402 RMD160 acab30a19b340f21a64e06b524906f2b064dd1c9 DIST php-5.3.11.tar.bz2 11396215 RMD160 cdad550e94cb911fa68b99acba2a5925d0848cf3 SHA1 b7df71d926643b97a08ba0b103d010cbac01d5a1 SHA256 b4174c97ca8d8bcf4b52b8b9ef2c2f35e1b611a5a660e02d7cd3edf263a6bd5d DIST php-5.3.11RC2.tar.bz2 11269745 RMD160 5126bfce7f2adc4f5098ed50902fa56f47025a6d SHA1 1ccf52990e1cc456296aa05d99c0632f8147917b SHA256 ce0297adc6a81bb38114928703dc052e709cc9847fe21d309b1c2735c4f4d1d9 DIST php-5.3.12.tar.bz2 11394871 RMD160 5d91c2d16b54632aa123677f63776b312872997c SHA1 1aef7c01207637671299e3eb2d74eb81dd6a8f83 SHA256 91659fd645b03011e1620134fa2457fade1e502499111cef8c4e23f428ad16ac +DIST php-5.3.13.tar.bz2 11396389 RMD160 1ad55e7bd1262471c66d2236fbba76c137960029 SHA1 8a52dae3fc9e27814c15fc0ebd744bee38305248 SHA256 ef1a7235b16be449f31f73f60d5770a133b863d225d65a218546cfb7d031d99b DIST php-5.4.0.tar.bz2 11439508 RMD160 7842f4f2b0aa064e10c82b5702cb8333bcb97f24 SHA1 c7411438f10ba483ea865f7fe70efe586d67cef1 SHA256 5a6402b53aeebaccdb28d314121a68c3962a46d43457c82249bc9f4aaf516a9d DIST php-5.4.1.tar.bz2 11145742 RMD160 9d2f0b9c43eba65ca0882d72f44d3613f2a3ecc7 SHA1 3f94f06665c80ddae286feb3bd3c80009efe38f7 SHA256 0b191b9e5466e99b3094aefdd1fbe9b21947ccc5be461f20eb20d9052f2a12ea DIST php-5.4.1RC1.tar.bz2 11145942 RMD160 213a172122c08fe38a0577a369a9c9b599e55782 SHA1 1716f172292c74293d6de95c6e9f027eafa3aac0 SHA256 1f274b2fe4fc431a8ddf5d5be71270273b339f137567825f76278cad9b3f415e DIST php-5.4.1RC2.tar.bz2 11147699 RMD160 0f48076bfb98540b0e248ed3f2e315d8f40f2fa7 SHA1 cf0735f64813a9cb8d487c2f4fd21c6af497b523 SHA256 f3138f8d151d19e8c26adb95e47063d710c91bdbe735ada24b6477900a79c387 DIST php-5.4.2.tar.bz2 11450091 RMD160 b4e88bf65d9ed6488f9b9baa7ea597c47b60c7da SHA1 c25699b2b7454ac1cf481ecba6df90de13d0f3ec SHA256 7f4c13f3b8c7e217b5d0fa04d4dd5bb5d86654f8dc79f49feeffe13e510ad7ce +DIST php-5.4.3.tar.bz2 11147567 RMD160 a6c0ab078283a3499bf1d10ac2b6e67716fa2cba SHA1 b8b000a4b829d369fc43869e0305dc1ed3092112 SHA256 d7e0c987586b6554ee08e3b71cc2806ddd1b192451159083d861c132994bc1bd DIST php-patchset-5.3.10-r0.tar.bz2 7522 RMD160 84165162d1374557a297890ea546cd53a732ad22 SHA1 1dbcb722a21e4f2e0a5159403849c329c76f282d SHA256 6c12c61525095b3672fe821ae4835fe4792a498af62cc38afa624ec5ddbc554f DIST php-patchset-5.3.10-r2.tar.bz2 7981 RMD160 e17e9ea671e2583a0422361bb80f9d7b1fde5ea7 SHA1 25f6ad8a7cbd3d1d4c3ad4d726e8bbd28c508371 SHA256 f22cef3b678eb7cc548ffce93087e85eba1d01a363c72de2b037bec967980fd0 DIST php-patchset-5.3.11-r0.tar.bz2 7349 RMD160 403218e70b327c4ab73b713cfea4d7e05c542106 SHA1 e807b6df4049dd5aaf5068ed733bfa6b96d81060 SHA256 47f9ef1bbf9e7adfb0057b840b373980547c8ce400784da1e5f3d7f56b5385ae DIST php-patchset-5.3.11_rc2-r0.tar.bz2 7363 RMD160 dee5776e8ad40bf727a8a71827e7f5f8bf4c521e SHA1 1a26f55317b689ee3f4f7570f08ab6fdd02b5161 SHA256 a27e7250448cde95e8d031d80d5f4aaf3a2b1579af0da8e2c88e4a28aa118791 DIST php-patchset-5.3.12-r0.tar.bz2 7349 RMD160 c361241ce8d1f480e6906cf7d0b0e2071e44712c SHA1 8062cd7fd9a6575f3aed855936ff3e70a3ca243a SHA256 3203cda7ab2ae687a89dee35a9523a22d4fe0e223e1311550a35843129625b65 +DIST php-patchset-5.3.13-r0.tar.bz2 7358 RMD160 ffa16308061678a3177071eb66a3024c90ac516d SHA1 9792e4975ca8f04e65ad767ae027380c15df877f SHA256 9e638756c52417994579a8a859af43caa666530401e1c633612ac17dfc221b3c DIST php-patchset-5.4-1.tar.bz2 6001 RMD160 0200e6ada41e471a30bfddeeb166d3254a9e2856 SHA1 3b1f71255db1c003f452c2fe41f93284a50967c4 SHA256 06834d624ce6269aa8005a28ccc0e55b2e8d500af57e4392e641978d5993a3ea DIST php-patchset-5.4-2.tar.bz2 5824 RMD160 9a83b507c92babe3a4403841a9a63bb361cf96d2 SHA1 2b6037bb544aa3e62c9116478f350b22325ef9e7 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef DIST suhosin-patch-5.3.9-0.9.10-gentoo.patch.gz 40949 RMD160 f9a0aa13344f066a161959978d7555796b142ac9 SHA1 8cf4c81d219a6f03a314ba736a900945eeee3a15 SHA256 3c41881e529ff070de1911fcbbda8bfcf04433e3ecbf737bafd525f015791866 @@ -44,17 +47,23 @@ EBUILD php-5.3.10.ebuild 10717 RMD160 a0f3b9fb238ba8d08266355715b4da9daf9c475f S EBUILD php-5.3.11.ebuild 10718 RMD160 dc0ee3de476b2f5b1347e1b82d0de7d6e4c4d0e4 SHA1 f0962b89e7412ebbcbabe1cd319f2440f4d907a2 SHA256 6615ecd42f2812e2c462041b37711863810d380fa45d03424c5371550c8998dc EBUILD php-5.3.11_rc2.ebuild 10735 RMD160 c71f16c312a996e38c4fe4291fed2d97505044d3 SHA1 1f3f7270a4e38ebbac0bc5c9d83ac8684954619e SHA256 aad078b004cfdd5600cafb82e3e3cf38c81c9bdc57d8ef4851eb42131f0c3815 EBUILD php-5.3.12.ebuild 10725 RMD160 d11d9d40a650b778a4d75a11ca78d69f4623d484 SHA1 1dcb8af708deaa3a00c19c44b73cb32e0f43765a SHA256 240778782551730773274e6f7fe79101d60ead976fe3ec6bcd82132f36394107 +EBUILD php-5.3.13.ebuild 10725 RMD160 f25d4dc63117b2051cf397523a072a3ce23b2279 SHA1 7bd355beea954e21aa6e1ad6b50906576ecc4c42 SHA256 f24ea489af686f1fa76b5e523dd56a0286cecf1ba711e2cb238f136324e7e1ee EBUILD php-5.4.0.ebuild 10383 RMD160 197db3ea01b2f4f08e184865a27461c1180eff14 SHA1 f44a034f7c712d76ca56153469d0b951ca4c97c0 SHA256 ad3bd3ab26b4f2f0e27a779dad9936605638bb7b7981b63f6f88f3f6b61cde7c EBUILD php-5.4.1.ebuild 10383 RMD160 2bce8d2805a1a1ed039fcc64231d3fe21dc9c1bd SHA1 38d2e47bb5e7f87a88681d2356181768c2db9503 SHA256 8b792da02290617c02900e4a557441ee72eb9ccb5cf4afa5c334db229cf63ee8 EBUILD php-5.4.1_rc1.ebuild 10392 RMD160 d68eff9dfbff6989288980758165affd2932bbb5 SHA1 5b0e0e968cf0967832c6a5bd5d573353ae8ba620 SHA256 300d446e3b116ba13cf5c51a6b9baacfa3d2df8921d22f46c63020da6ccb49a6 EBUILD php-5.4.1_rc2.ebuild 10392 RMD160 463f249001785d73845dadd486b80cea2b3ddc15 SHA1 b9f1676429dc5548ecd1edc19c9ce58a8b8f18f4 SHA256 bd576d24805b82b2c4c530fc95e5332291d22d29648f881b3ff8aa3043a767c2 EBUILD php-5.4.2.ebuild 10383 RMD160 2a68bade444101b377187ac410242f6a6b81c283 SHA1 ca79faba40c3fc913d05664090d6b14a4d3a3e11 SHA256 e11b18856ee12f0e99ba72528be9c391b10a0d1b4fba69f6a980768af09242a4 -MISC ChangeLog 98418 RMD160 c190169fff2693743c7fa481bb26fa658ab26e0b SHA1 a3b2f5ef51097ad1363d2e87c91792111e139a98 SHA256 8159c70c52dc488ccf4d5aa1680a45295366a3adda017c887b5554dc0ce0cc04 +EBUILD php-5.4.3.ebuild 10383 RMD160 686318f60f286416748c842ed5534de2a3134666 SHA1 03d61b71e5a64666fc0d6ac6983614f692738689 SHA256 efaa112b32ff3ae157fb5e6392d97d4972303bfc9197e3dadb38b0551caded74 +MISC ChangeLog 98645 RMD160 26e183b8d06b276de6c299dbcf5d898302e55c87 SHA1 c5bf7504487838dbe55c8df432ae1875755f04ef SHA256 3c14cea3bad0314194ebee19895434fb66c56715ba92081c5754ec84386d2ee7 MISC metadata.xml 1497 RMD160 36fa3f3676c4105cb869d88f02a5c0e5aeed991c SHA1 69cbd4cdc604044e270b350945a3d02ba723d075 SHA256 3d6a278c7a85c8b478ca03860b80a8ceda5f3a5ddc64e2d41ab9ca686e7162df -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) +Version: GnuPG v2.0.17 (GNU/Linux) -iEYEARECAAYFAk+i6uIACgkQkKaRLQcq0GKxCACghRqskQR9VTvbFWSaGMyy44x+ -m5oAnRbQrOc1ZU9MI5wxMhZegZldjt5Z -=ZYIS +iQEcBAEBAgAGBQJPqVZ1AAoJEGurSuXEqSv12dsH/10FUp3p/Snzdw0pchx3e9CK +GwXm+bZWKHFBLu3kNYDGdLN10p8k5Dyx49pzq/ONDEDwEBdCesfhKHLfOwujqVVY +mftVJDkBmd55dfOhM9RHpNfmBQimTMGytfXxa14P5x0iYYB+5UidzjzzhGDqhTG4 +a8lQAN2kok7sWs00SXqY7sTfElT5hznjNIQRbSjsTJuId3p1ZxZpAGDBRpONO899 +3gQoZW9KVwn+N1hVEhImaU83NOrPsVo8zPfRJtDkDa2x2M+7eszwg1EAdJK31t9W +343z1BmLs70MXEln8YitRhpvYVZMOyshgGCLSTtL2n1nPqGc4bImfuf45a40D2o= +=EG3+ -----END PGP SIGNATURE----- diff --git a/dev-lang/php/php-5.3.13.ebuild b/dev-lang/php/php-5.3.13.ebuild new file mode 100644 index 000000000000..fc1618d1ab2f --- /dev/null +++ b/dev-lang/php/php-5.3.13.ebuild @@ -0,0 +1,392 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.3.13.ebuild,v 1.1 2012/05/08 17:22:11 olemarkus Exp $ + +EAPI=4 + +PHPCONFUTILS_MISSING_DEPS="adabas birdstep db2 dbmaker empress empress-bcs esoob interbase oci8 sapdb solid" + +RESTRICT="mirror" + +inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool + +SUHOSIN_VERSION="5.3.9-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://dev.gentoo.org/~olemarkus/php/${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="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="olemarkus" +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 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] + 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 ) + 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? ( + 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] )" + +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 "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 v3 ; } +src_configure() { eblit-run src_configure v53 ; } +src_compile() { eblit-run src_compile v1 ; } +src_install() { eblit-run src_install v3 ; } +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.3.ebuild b/dev-lang/php/php-5.4.3.ebuild new file mode 100644 index 000000000000..6b29229117c7 --- /dev/null +++ b/dev-lang/php/php-5.4.3.ebuild @@ -0,0 +1,384 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.4.3.ebuild,v 1.1 2012/05/08 17:22:11 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://dev.gentoo.org/~olemarkus/php/${2}" + ;; + "gentoo") + echo "mirror://gentoo/${2}" + ;; + *) + die "unhandled case in php_get_uri" + ;; + esac +} + +PHP_MV="$(get_major_version)" +SLOT="$(get_version_component_range 1-2)" + +# 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" +PHP_P="${PN}-${PHP_PV}" + +PHP_PATCHSET_LOC="olemarkus" + +PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")" + +PHP_PATCHSET="2" +PHP_PATCHSET_URI=" + $(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-$SLOT-${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" + +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=" + >=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 ) ) ) ) )" + +RDEPEND="${DEPEND}" + +[[ -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 v54 ; } +src_compile() { eblit-run src_compile v2 ; } +src_install() { eblit-run src_install v3 ; } +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-php/suhosin" + ewarn + fi +} |