commit: 9d086bd3fcee29d448a86c0ff8cf942a4d2db68d Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org> AuthorDate: Tue Jun 28 14:56:54 2016 +0000 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org> CommitDate: Tue Jun 28 17:26:18 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d086bd3
dev-lang/php: version bump all three series for security fixes. Gentoo-Bug: 587246 Package-Manager: portage-2.2.28 dev-lang/php/Manifest | 4 +- .../php/{php-7.0.7-r1.ebuild => php-5.5.37.ebuild} | 523 ++++++++++----------- .../php/{php-7.0.7-r1.ebuild => php-5.6.23.ebuild} | 74 +-- .../php/{php-7.0.7-r1.ebuild => php-7.0.8.ebuild} | 4 +- 4 files changed, 298 insertions(+), 307 deletions(-) diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 578c4f6..343ad13 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -2,8 +2,10 @@ DIST php-5.5.33.tar.bz2 13686486 SHA256 c490b1ed4df596b48eb68f630d89ca512945e265 DIST php-5.5.34.tar.bz2 13686681 SHA256 af88884416a92619de842ad0fd23f7f7e8140efb0b9194f98a38a78781e5851c SHA512 c4269f79f5acaac64e9d2e20feef4bbd5aa7a84e69445dee64bf068197d611aa8ceb3697ae6461d8c96068be7839f22eeaff61f201f6e7a8749d284eaa68c0f8 WHIRLPOOL f4771f614176242a9a3e27185c98822493ca1b1982b5b11b3ee53d952534c69a73e0625b589723cc153da0978b27a8e55c7f9056b81b7a282dc385d22f4fdf02 DIST php-5.5.35.tar.bz2 13690152 SHA256 2d648dd648e820fd64693ce72f9bf07064d147220e594e39fb9f6310238258d7 SHA512 cfa62f83cd79b678c55ffdb1325906962bb7dae23fdbe963d57c3b24d13223229448f4c45727df1ab042bbd2db85804051c66993c28c68c0c873481cfe7e6834 WHIRLPOOL e7b765b6d99e7f9c0e18cae64577d0e7e7eb136debf565f49ab02a962046437064f810d1a407546e2f83d69cfb3104244424ae5a34bc83c3778aaff95984a9f7 DIST php-5.5.36.tar.bz2 13686345 SHA256 2484edfaa3de606d74f927b55c5206f51b1ae24ea8e428aa9fc15474c7bb71bb SHA512 5521ef8bec1720e3df49f5b002c93726d1b52a7b551acf414e32dfd8ca88f8d661b9f011408d7f9f451fb29b06385365d2975bb14ed6d3c10cdc5546543af485 WHIRLPOOL 687818ee021cb473a92ff7c5b67c6b110360227aaecbb6832f0f8383d0a4878f038d45c49518aa38e2b99d96e2eaa6e5de7f535c1fcce05f41024ca7423e2783 +DIST php-5.5.37.tar.bz2 13699851 SHA256 d2380ebe46caf17f2c4cd055867d00a82e6702dc5f62dc29ce864a5742905d88 SHA512 d2da921f3efd858e1cb8004873e377ca9c5821d5269d5b8e7c9be830b183f4d18f737b14653f65a43c0957bdca994e09a476d77e3a29a11e357abc24618c4c0f WHIRLPOOL 8db12b1d090bc1bfb3f5b20c661ba05588b8f988484d1887a959f943dd6f1756cb62bac811c809af516e6c3582b64388443546a3b4a17f0527a69fcbafc0452c DIST php-5.6.19.tar.bz2 14100438 SHA256 2a24a3f84971680ac0a4c71050067de4f76ee235aa4a041fae21bfa69975c168 SHA512 c8c2b3bdfc1a8abe834612c33123b4f103e841c230b53934fb7bafe11af7f1175f02ca54c92f33e8e603485e6283897bebb51acc55d1213b7433024684215c14 WHIRLPOOL f026e8779c531f887b1e292e5f1d6eafd0e3ae46f83ae8efb830ad8e0f91d86e5b002dda9e6a02987db6230557ff773d8c52dd2db423d792aed1aca292e5b92b DIST php-5.6.20.tar.bz2 14162188 SHA256 5ac7bf7caec7a79b18cf458e786fd1609ad2da771224b80bc15cc6f01b22bf1f SHA512 9e26f2564ee7329ab50d4d8d27f029c4f88317ea761888138e60d13a3cf51e49676ded406a3ec18433be2ec5d2a49c904eaa9f32d473b99d11550025e026a61c WHIRLPOOL 679c8ee4b3ddf18d94598982969fd12d053493fbe70d4b9f8d3eda4ed9ab0bb6f83d912bb7f8ebd99264beea992cce7c1083d257576551fadf537b5655d23d57 DIST php-5.6.21.tar.bz2 14165919 SHA256 b4ed7ab574b689fd6d6494fde954826c06efc85c505e017b8d776c7c7f479590 SHA512 028d62434e7932b4a07fa7d404b8ad938f0ca7968ae2b23386038f77482984d2b6145523e11f37b9e72621c8bf40f08e38a6db1d209493770ac99e13e2fac0d0 WHIRLPOOL e5e606f0a3df1af12c9c0148a29336de0d00a8d7cedbb42727a3e1b6a700e0dcda63c7086e59f175ec060cbf910c2b12815ae3c08bb73d43a84b4f3aaa5d2ed6 DIST php-5.6.22.tar.bz2 14170522 SHA256 90da8a80cc52fa699cf2bfa4c6fa737c772df7c92b81ef483460aa3b1e9f88c6 SHA512 9d21104832a1053a350ff31196e2c41cef713a9dfe207491236219954cf2eea216049b2f40313fb2a8e9ef641aad0af3f69456bbcebdf8fee312b0dd4a7df320 WHIRLPOOL 2163f683c2e572ddd9a7368e070b172f6b2f2fcb0128ac7db0b8639e0b14b0b1fa7050cb6082b627006e700099c1ca4144b20a2c5cd637ecad697e99a125e284 -DIST php-7.0.7.tar.bz2 14106181 SHA256 474f2925c4782b94016e3afbb17b14ff9cc6f4fdb6f6e231b36a378bb18a3d1a SHA512 e6d5ce0eb665aa9beb13f5a3e6fa074ff92ccdd5112c4f2a7dfb1220f55624f2284a0bcfec45b92572762905ab2ac7890e98803860378fdb06752e22f363dbcf WHIRLPOOL edf2fc8fdcb3630c2b417d459b52e1f78cbfbc5b8a9c3191b9401356dfb48d6b7767a98b8f904acb4e96849d54c53ef7f6d91772f2d39a18a26a7540b40857d9 +DIST php-5.6.23.tar.bz2 14178077 SHA256 facd280896d277e6f7084b60839e693d4db68318bfc92085d3dc0251fd3558c7 SHA512 92be3685926f302223465e9673496971f0ee1b05c7b3a09682d4ef93a27b4c17e5c53c36acab15d26f38508f6d65bebe11a6f0f0fc98b27eafe95b02b4d9897d WHIRLPOOL 71375395742a83ec0f55bd7edf5eeff732e4db24f77f436f519ca81a2ceeb0bac65549ca1ffd34cb7b593771b5f4ccb984900841a20c1620a6121e4fa14ab086 +DIST php-7.0.8.tar.bz2 14105805 SHA256 66dc7ba388490e07b1313fe3a06b1fa822e1310585fe29f4909995f131e27c8d SHA512 a1a119ff95ad3902264dbc267753af0cf82b5dddbfcf09a8fc2bc519e16021cbf4bc7f2b33c4fec46d7be7bed8db315371ee11390a6055adf908a3b28a6a6921 WHIRLPOOL 5907158c1974715cda7abca0dec6736fb265372cd643d2699b91936c964b72334468eef778e485125df8fc7d21064a394c735510e0731321360e7272aa83d41d diff --git a/dev-lang/php/php-7.0.7-r1.ebuild b/dev-lang/php/php-5.5.37.ebuild similarity index 55% copy from dev-lang/php/php-7.0.7-r1.ebuild copy to dev-lang/php/php-5.5.37.ebuild index a4bf49a..a99e3c7 100644 --- a/dev-lang/php/php-7.0.7-r1.ebuild +++ b/dev-lang/php/php-5.5.37.ebuild @@ -4,7 +4,7 @@ EAPI=5 -inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd +inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" @@ -12,7 +12,7 @@ function php_get_uri () { case "${1}" in "php-pre") - echo "http://downloads.php.net/ab/${2}" + echo "http://downloads.php.net/dsp/${2}" ;; "php") echo "http://www.php.net/distributions/${2}" @@ -56,7 +56,7 @@ LICENSE="PHP-3" S="${WORKDIR}/${PHP_P}" # We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" +SAPIS="embed cli cgi fpm apache2" # SAPIs and SAPI-specific USE flags (cli SAPI is default on): IUSE="${IUSE} @@ -67,30 +67,20 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk crypt +ctype curl debug enchant exif frontbase +fileinfo +filter firebird flatfile ftp gd gdbm gmp +hash +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl - mhash mssql mysql mysqli nls + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash + mssql mysql libmysqlclient mysqli nls oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm readline recode selinux +session sharedmem +simplexml snmp soap sockets spell sqlite ssl - sysvipc systemd tidy +tokenizer truetype unicode wddx webp + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?] >=dev-libs/libpcre-8.32[unicode] apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] - <www-servers/apache-2.4[threads=] ) )" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -DEPEND="${DEPEND} - berkdb? ( || ( sys-libs/db:5.3 - sys-libs/db:5.1 - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 ) ) + <www-servers/apache-2.4[threads=] ) ) + berkdb? ( =sys-libs/db-4* ) bzip2? ( app-arch/bzip2 ) cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) cjk? ( !gd? ( @@ -109,7 +99,7 @@ DEPEND="${DEPEND} firebird? ( dev-db/firebird ) gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) gdbm? ( >=sys-libs/gdbm-1.8.0 ) - gmp? ( dev-libs/gmp:0 ) + gmp? ( >=dev-libs/gmp-4.1.2 ) iconv? ( virtual/libiconv ) imap? ( virtual/imap-c-client[ssl=] ) intl? ( dev-libs/icu:= ) @@ -119,12 +109,16 @@ DEPEND="${DEPEND} 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] ) + libmysqlclient? ( + 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:* ) + postgres? ( dev-db/postgresql ) qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0 ) + readline? ( sys-libs/readline ) recode? ( app-text/recode ) sharedmem? ( dev-libs/mm ) simplexml? ( >=dev-libs/libxml2-2.6.8 ) @@ -132,19 +126,18 @@ DEPEND="${DEPEND} soap? ( >=dev-libs/libxml2-2.6.8 ) spell? ( >=app-text/aspell-0.50 ) sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl ) - ) + 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:0 media-libs/libpng:0= sys-libs/zlib ) ) unicode? ( dev-libs/oniguruma ) + vpx? ( media-libs/libvpx ) wddx? ( >=dev-libs/libxml2-2.6.8 ) - webp? ( media-libs/libwebp ) xml? ( >=dev-libs/libxml2-2.6.8 ) xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) xmlreader? ( >=dev-libs/libxml2-2.6.8 ) @@ -162,11 +155,9 @@ DEPEND="${DEPEND} php="=${CATEGORY}/${PF}" -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. REQUIRED_USE=" - cli? ( ^^ ( readline libedit ) ) truetype? ( gd ) - webp? ( gd ) + vpx? ( gd ) cjk? ( gd ) exif? ( gd ) @@ -181,15 +172,18 @@ REQUIRED_USE=" ldap-sasl? ( ldap ) mhash? ( hash ) phar? ( hash ) + libmysqlclient? ( || ( + mysql + mysqli + pdo + ) ) qdbm? ( !gdbm ) readline? ( !libedit ) - recode? ( !imap !mysqli ) + recode? ( !imap !mysql !mysqli ) sharedmem? ( !threads ) - mysql? ( || ( mysqli pdo ) ) - - || ( cli cgi fpm apache2 embed phpdbg )" + !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )" RDEPEND="${DEPEND}" @@ -229,16 +223,16 @@ php_install_ini() { php_set_ini_dir "${phpsapi}" local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}" - cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die + cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" dodir "${PHP_INI_DIR#${EPREFIX}}" insinto "${PHP_INI_DIR#${EPREFIX}}" @@ -252,23 +246,27 @@ php_install_ini() { if use_if_iuse opcache; then elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" fi # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" + [[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0 + einfo "Installing FPM CGI config file php-fpm.conf" insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf + newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf + + # Remove bogus /etc/php-fpm.conf.default (bug 359906) + [[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default" fi + # Install PHP ini files into /usr/share/php + dodoc php.ini-development dodoc php.ini-production + } php_set_ini_dir() { @@ -278,6 +276,14 @@ php_set_ini_dir() { } src_prepare() { + # USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path + # ([empty session.save_path]/session_mm_[sapi][gid].sem) + # there is no easy way to circumvent that, all php calls during + # install use -n, so no php.ini file will be used. + # As such, this is the easiest way to get around + addpredict /session_mm_cli250.sem + addpredict /session_mm_cli0.sem + # Change PHP branding # Get the alpha/beta/rc version sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ @@ -287,6 +293,13 @@ src_prepare() { sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ -i configure.in || die "Failed to fix server platform name" + # Prevent PHP from activating the Apache config, + # as we will do that ourselves + sed -i \ + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 + # Patch PHP to support heimdal instead of mit-krb5 if has_version "app-crypt/heimdal" ; then sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ @@ -295,27 +308,17 @@ src_prepare() { || die "Failed to fix heimdal crypt library reference" fi - # Add user patches #357637 + #Add user patches #357637 epatch_user - # Force rebuilding aclocal.m4 - rm -f aclocal.m4 || die + #force rebuilding aclocal.m4 + rm aclocal.m4 eautoreconf if [[ ${CHOST} == *-darwin* ]] ; then # http://bugs.php.net/bug.php?id=48795, bug #343481 sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die fi - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' } src_configure() { @@ -324,184 +327,196 @@ src_configure() { PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( + # This is a global variable and should be in caps. It isn't because the + # phpconfutils eclass relies on exactly this name... + # for --with-libdir see bug #327025 + my_conf=" --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" + --mandir="${PHP_DESTDIR}"/man + --infodir="${PHP_DESTDIR}"/info + --libdir="${PHP_DESTDIR}"/lib + --with-libdir=$(get_libdir) --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_enable bcmath bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar calendar) - $(use_enable ctype ctype) - $(use_with curl curl "${EPREFIX}/usr") - $(use_enable xml dom) - $(use_with enchant enchant "${EPREFIX}/usr") - $(use_enable exif exif) - $(use_enable fileinfo fileinfo) - $(use_enable filter filter) - $(use_enable ftp ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_enable hash hash) - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) - $(use_enable intl intl) - $(use_enable ipv6 ipv6) - $(use_enable json json) - $(use_with kerberos kerberos "${EPREFIX}/usr") - $(use_enable xml libxml) - $(use_with xml libxml-dir "${EPREFIX}/usr") - $(use_enable unicode mbstring) - $(use_with crypt mcrypt "${EPREFIX}/usr") - $(use_with unicode onig "${EPREFIX}/usr") - $(use_with ssl openssl "${EPREFIX}/usr") - $(use_with ssl openssl-dir "${EPREFIX}/usr") - $(use_enable pcntl pcntl) - $(use_enable phar phar) - $(use_enable pdo pdo) - $(use_enable opcache opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_with recode recode "${EPREFIX}/usr") - $(use_enable simplexml simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap soap) - $(use_enable sockets sockets) - $(use_with sqlite sqlite3 "${EPREFIX}/usr") - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with systemd fpm-systemd) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer tokenizer) - $(use_enable wddx wddx) - $(use_enable xml xml) - $(use_enable xmlreader xmlreader) - $(use_enable xmlwriter xmlwriter) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}/usr") - $(use_enable zip zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug debug) - ) + $(use_enable threads maintainer-zts)" + + # extension USE flag shared + my_conf+=" + $(use_enable bcmath bcmath ) + $(use_with bzip2 bz2 "${EPREFIX}"/usr) + $(use_enable calendar calendar ) + $(use_enable ctype ctype ) + $(use_with curl curl "${EPREFIX}"/usr) + $(use_enable xml dom ) + $(use_with enchant enchant "${EPREFIX}"/usr) + $(use_enable exif exif ) + $(use_enable fileinfo fileinfo ) + $(use_enable filter filter ) + $(use_enable ftp ftp ) + $(use_with nls gettext "${EPREFIX}"/usr) + $(use_with gmp gmp "${EPREFIX}"/usr) + $(use_enable hash hash ) + $(use_with mhash mhash "${EPREFIX}"/usr) + $(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr)) + $(use_enable intl intl ) + $(use_enable ipv6 ipv6 ) + $(use_enable json json ) + $(use_with kerberos kerberos "${EPREFIX}"/usr) + $(use_enable xml libxml ) + $(use_with xml libxml-dir "${EPREFIX}"/usr) + $(use_enable unicode mbstring ) + $(use_with crypt mcrypt "${EPREFIX}"/usr) + $(use_with mssql mssql "${EPREFIX}"/usr) + $(use_with unicode onig "${EPREFIX}"/usr) + $(use_with ssl openssl "${EPREFIX}"/usr) + $(use_with ssl openssl-dir "${EPREFIX}"/usr) + $(use_enable pcntl pcntl ) + $(use_enable phar phar ) + $(use_enable pdo pdo ) + $(use_enable opcache opcache ) + $(use_with postgres pgsql "${EPREFIX}"/usr) + $(use_enable posix posix ) + $(use_with spell pspell "${EPREFIX}"/usr) + $(use_with recode recode "${EPREFIX}"/usr) + $(use_enable simplexml simplexml ) + $(use_enable sharedmem shmop ) + $(use_with snmp snmp "${EPREFIX}"/usr) + $(use_enable soap soap ) + $(use_enable sockets sockets ) + $(use_with sqlite sqlite3 "${EPREFIX}"/usr) + $(use_with sybase-ct sybase-ct "${EPREFIX}"/usr) + $(use_enable sysvipc sysvmsg ) + $(use_enable sysvipc sysvsem ) + $(use_enable sysvipc sysvshm ) + $(use_with systemd fpm-systemd) + $(use_with tidy tidy "${EPREFIX}"/usr) + $(use_enable tokenizer tokenizer ) + $(use_enable wddx wddx ) + $(use_enable xml xml ) + $(use_enable xmlreader xmlreader ) + $(use_enable xmlwriter xmlwriter ) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}"/usr) + $(use_enable zip zip ) + $(use_with zlib zlib "${EPREFIX}"/usr) + $(use_enable debug debug )" # DBA support if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ || use qdbm ; then - our_conf+=( "--enable-dba${shared}" ) + my_conf="${my_conf} --enable-dba${shared}" fi # DBA drivers support - our_conf+=( - $(use_with cdb cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with cdb cdb) + $(use_with berkdb db4 ${EPREFIX}/usr) + $(use_enable flatfile flatfile ) + $(use_with gdbm gdbm ${EPREFIX}/usr) + $(use_enable inifile inifile ) + $(use_with qdbm qdbm ${EPREFIX}/usr)" # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype-dir "${EPREFIX}/usr") - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg-dir "${EPREFIX}/usr") - $(use_with gd png-dir "${EPREFIX}/usr") - $(use_with xpm xpm-dir "${EPREFIX}/usr") - ) - if use webp; then - our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) - fi + my_conf+=" + $(use_with truetype freetype-dir ${EPREFIX}/usr) + $(use_with truetype t1lib ${EPREFIX}/usr) + $(use_enable cjk gd-jis-conv ) + $(use_with gd jpeg-dir ${EPREFIX}/usr) + $(use_with gd png-dir ${EPREFIX}/usr) + $(use_with xpm xpm-dir ${EPREFIX}/usr) + $(use_with vpx vpx-dir ${EPREFIX}/usr)" # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_with gd gd) ) + my_conf+=" + $(use_with gd gd)" # IMAP support if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with imap imap ${EPREFIX}/usr) + $(use_with ssl imap-ssl ${EPREFIX}/usr)" fi # Interbase/firebird support - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + if use firebird ; then + my_conf+=" + $(use_with firebird interbase ${EPREFIX}/usr)" + fi # LDAP support if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with ldap ldap ${EPREFIX}/usr) + $(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)" fi # MySQL support local mysqllib="mysqlnd" local mysqlilib="mysqlnd" + use libmysqlclient && mysqllib="${EPREFIX}/usr" + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + my_conf+=" $(use_with mysql mysql $mysqllib)" + my_conf+=" $(use_with mysqli mysqli $mysqlilib)" - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)" + if use mysql ; then + my_conf+="${mysqlsock}" + elif use mysqli ; then + my_conf+="${mysqlsock}" fi # ODBC support - our_conf+=( - $(use_with odbc unixODBC "${EPREFIX}/usr") - $(use_with iodbc iodbc "${EPREFIX}/usr") - ) + if use odbc ; then + my_conf+=" + $(use_with odbc unixODBC ${EPREFIX}/usr)" + fi + + if use iodbc ; then + my_conf+=" + $(use_with iodbc iodbc ${EPREFIX}/usr)" + fi # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) + if use oci8-instant-client ; then + my_conf+=" + $(use_with oci8-instant-client oci8)" + fi # PDO support if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(use_with postgres pdo-pgsql) - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) + my_conf+=" + $(use_with mssql pdo-dblib ) + $(use_with mysql pdo-mysql ${mysqllib}) + $(use_with postgres pdo-pgsql ) + $(use_with sqlite pdo-sqlite ${EPREFIX}/usr) + $(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)" + if use oci8-instant-client ; then + my_conf+=" + $(use_with oci8-instant-client pdo-oci)" + fi fi # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit libedit "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with readline readline ${EPREFIX}/usr) + $(use_with libedit libedit ${EPREFIX}/usr)" # Session support if use session ; then - our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + my_conf+=" + $(use_with sharedmem mm ${EPREFIX}/usr)" else - our_conf+=( $(use_enable session session) ) + my_conf+=" + $(use_enable session session )" fi # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) + my_conf="${my_conf} --with-pic" # we use the system copy of pcre # --with-pcre-regex affects ext/pcre # --with-pcre-dir affects ext/filter and ext/zip - our_conf+=( - --with-pcre-regex="${EPREFIX}/usr" - --with-pcre-dir="${EPREFIX}/usr" - ) + my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr" # Catch CFLAGS problems # Fixes bug #14067. @@ -509,56 +524,43 @@ src_configure() { replace-cpu-flags "k6*" "i586" # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) + my_conf="${my_conf} ${EXTRA_ECONF:-}" # Support the Apache2 extras, they must be set globally for all # SAPIs to work correctly, especially for external PHP extensions - mkdir -p "${WORKDIR}/sapis-build" || die + mkdir -p "${WORKDIR}/sapis-build" for one_sapi in $SAPIS ; do use "${one_sapi}" || continue php_set_ini_dir "${one_sapi}" - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -r "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die + cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}" + cd "${WORKDIR}/sapis-build/${one_sapi}" - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) + sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR} + --with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}" for sapi in $SAPIS ; do case "$sapi" in - cli|cgi|embed|fpm|phpdbg) + cli|cgi|embed|fpm) if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) + sapi_conf="${sapi_conf} --enable-${sapi}" else - sapi_conf+=( "--disable-${sapi}" ) + sapi_conf="${sapi_conf} --disable-${sapi}" fi ;; apache2) if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" ) + sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs" else - sapi_conf+=( --without-apxs2 ) + sapi_conf="${sapi_conf} --without-apxs2" fi ;; esac done - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die + econf ${sapi_conf} done } @@ -569,9 +571,8 @@ src_compile() { for sapi in ${SAPIS} ; do if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake + cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake || die "emake failed" fi done } @@ -593,14 +594,15 @@ src_install() { dodir "${PHP_DESTDIR#${EPREFIX}}/bin" # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die + cd "${WORKDIR}/sapis-build/$first_sapi" emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs + install-build install-headers install-programs \ + || die "emake install failed" local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" + keepdir /usr/share/php${PHP_MV} local sapi="", file="" local sapi_list="" @@ -608,14 +610,13 @@ src_install() { for sapi in ${SAPIS}; do if use "${sapi}" ; then einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die + cd "${WORKDIR}/sapis-build/${sapi}" if [[ "${sapi}" == "apache2" ]] ; then # We're specifically not using emake install-sapi as libtool # may cause unnecessary relink failures (see bug #351266) insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" + newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)" keepdir "/usr/$(get_libdir)/apache2/modules" else # needed each time, php_install_ini would reset it @@ -634,18 +635,15 @@ src_install() { embed) source="libs/libphp${PHP_MV}$(get_libname)" ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; *) die "unhandled sapi in src_install" ;; esac if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" + dolib.so "${source}" || die "Unable to install ${sapi} sapi" else - dobin "${source}" + dobin "${source}" || die "Unable to install ${sapi} sapi" local name="$(basename ${source})" dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" fi @@ -665,25 +663,26 @@ src_install() { # Installing opcache module if use_if_iuse opcache ; then - dolib.so "modules/opcache$(get_libname)" + dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module" fi # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + newenvd "${FILESDIR}/20php5-envd" \ + "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i \ + "${ED}/etc/env.d/20php${SLOT}" + sed -e "s|php5|php${SLOT}|g" -i \ + "${ED}/etc/env.d/20php${SLOT}" # set php-config variable correctly (bug #278439) sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" if use fpm ; then if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" + systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service" else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service" fi fi } @@ -702,13 +701,11 @@ src_test() { export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" fi - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}" for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + mv "${name}.out" "${name}.out.orig" 2>/dev/null done local failed="$(find -name '*.out')" @@ -742,7 +739,7 @@ pkg_postinst() { # Output some general info to the user if use apache2 ; then APACHE2_MOD_DEFINE="PHP" - APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php + APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php apache-module_pkg_postinst fi @@ -752,7 +749,7 @@ pkg_postinst() { if use $m ; then local ci=$(eselect php show $m) if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die + eselect php set $m php${SLOT} einfo "Switched ${m} to use php:${SLOT}" einfo elif [[ $ci != "php${SLOT}" ]] ; then @@ -763,39 +760,25 @@ pkg_postinst() { fi done - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes" - elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI." + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." elog - elog "This ebuild installed a version of php.ini based on" - elog "php.ini-${PHP_INI_VERSION}. You can choose which version of" - elog "php.ini to install by default by setting PHP_INI_VERSION" - elog "to either 'production' or 'development' in your make.conf." - elog "Both versions of php.ini can be found with the PHP docs in" - elog "${EPREFIX}/usr/share/doc/${PF}" + 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 "For more details on how version slotting works, please see" - elog "the wiki:" + 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 ${EPREFIX}/etc/make.conf" + elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}" + elog - elog " https://wiki.gentoo.org/wiki/PHP" + elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:" + elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml" elog } -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. +pkg_prerm() { eselect php cleanup } diff --git a/dev-lang/php/php-7.0.7-r1.ebuild b/dev-lang/php/php-5.6.23.ebuild similarity index 93% copy from dev-lang/php/php-7.0.7-r1.ebuild copy to dev-lang/php/php-5.6.23.ebuild index a4bf49a..ad1bed8 100644 --- a/dev-lang/php/php-7.0.7-r1.ebuild +++ b/dev-lang/php/php-5.6.23.ebuild @@ -12,7 +12,7 @@ function php_get_uri () { case "${1}" in "php-pre") - echo "http://downloads.php.net/ab/${2}" + echo "http://downloads.php.net/dsp/${2}" ;; "php") echo "http://www.php.net/distributions/${2}" @@ -56,7 +56,7 @@ LICENSE="PHP-3" S="${WORKDIR}/${PHP_P}" # We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" +SAPIS="embed cli cgi fpm apache2" # SAPIs and SAPI-specific USE flags (cli SAPI is default on): IUSE="${IUSE} @@ -68,11 +68,11 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk enchant exif frontbase +fileinfo +filter firebird flatfile ftp gd gdbm gmp +hash +iconv imap inifile intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl - mhash mssql mysql mysqli nls + mhash mssql mysql libmysqlclient mysqli nls oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm readline recode selinux +session sharedmem +simplexml snmp soap sockets spell sqlite ssl - sysvipc systemd tidy +tokenizer truetype unicode wddx webp + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" DEPEND=" @@ -119,6 +119,10 @@ DEPEND="${DEPEND} 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] ) + libmysqlclient? ( + 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 ) @@ -136,15 +140,17 @@ DEPEND="${DEPEND} !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl ) ) + sybase-ct? ( dev-db/freetds ) tidy? ( app-text/htmltidy ) truetype? ( =media-libs/freetype-2* + >=media-libs/t1lib-5.0.0 !gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) ) unicode? ( dev-libs/oniguruma ) + vpx? ( media-libs/libvpx ) wddx? ( >=dev-libs/libxml2-2.6.8 ) - webp? ( media-libs/libwebp ) xml? ( >=dev-libs/libxml2-2.6.8 ) xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) xmlreader? ( >=dev-libs/libxml2-2.6.8 ) @@ -166,7 +172,7 @@ php="=${CATEGORY}/${PF}" REQUIRED_USE=" cli? ( ^^ ( readline libedit ) ) truetype? ( gd ) - webp? ( gd ) + vpx? ( gd ) cjk? ( gd ) exif? ( gd ) @@ -181,15 +187,18 @@ REQUIRED_USE=" ldap-sasl? ( ldap ) mhash? ( hash ) phar? ( hash ) + libmysqlclient? ( || ( + mysql + mysqli + pdo + ) ) qdbm? ( !gdbm ) readline? ( !libedit ) - recode? ( !imap !mysqli ) + recode? ( !imap !mysql !mysqli ) sharedmem? ( !threads ) - mysql? ( || ( mysqli pdo ) ) - - || ( cli cgi fpm apache2 embed phpdbg )" + !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )" RDEPEND="${DEPEND}" @@ -260,11 +269,9 @@ php_install_ini() { # SAPI-specific handling if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" + einfo "Installing FPM config file php-fpm.conf" insinto "${PHP_INI_DIR#${EPREFIX}}" doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf fi dodoc php.ini-development @@ -287,6 +294,14 @@ src_prepare() { sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ -i configure.in || die "Failed to fix server platform name" + # Prevent PHP from activating the Apache config, + # as we will do that ourselves + sed -i \ + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ + || die + # Patch PHP to support heimdal instead of mit-krb5 if has_version "app-crypt/heimdal" ; then sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ @@ -306,16 +321,6 @@ src_prepare() { # http://bugs.php.net/bug.php?id=48795, bug #343481 sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die fi - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' } src_configure() { @@ -363,6 +368,7 @@ src_configure() { $(use_with xml libxml-dir "${EPREFIX}/usr") $(use_enable unicode mbstring) $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with mssql mssql "${EPREFIX}/usr") $(use_with unicode onig "${EPREFIX}/usr") $(use_with ssl openssl "${EPREFIX}/usr") $(use_with ssl openssl-dir "${EPREFIX}/usr") @@ -380,6 +386,7 @@ src_configure() { $(use_enable soap soap) $(use_enable sockets sockets) $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_with sybase-ct sybase-ct "${EPREFIX}/usr") $(use_enable sysvipc sysvmsg) $(use_enable sysvipc sysvsem) $(use_enable sysvipc sysvshm) @@ -416,14 +423,13 @@ src_configure() { # Support for the GD graphics library our_conf+=( $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_with truetype t1lib "${EPREFIX}/usr") $(use_enable cjk gd-jis-conv) $(use_with gd jpeg-dir "${EPREFIX}/usr") $(use_with gd png-dir "${EPREFIX}/usr") $(use_with xpm xpm-dir "${EPREFIX}/usr") + $(use_with vpx vpx-dir "${EPREFIX}/usr") ) - if use webp; then - our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) - fi # enable gd last, so configure can pick up the previous settings our_conf+=( $(use_with gd gd) ) @@ -449,7 +455,10 @@ src_configure() { # MySQL support local mysqllib="mysqlnd" local mysqlilib="mysqlnd" + use libmysqlclient && mysqllib="${EPREFIX}/usr" + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" + our_conf+=( $(use_with mysql mysql "${mysqllib}") ) our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" @@ -469,7 +478,7 @@ src_configure() { # PDO support if use pdo ; then our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mssql pdo-dblib) $(use_with mysql pdo-mysql "${mysqllib}") $(use_with postgres pdo-pgsql) $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") @@ -533,7 +542,7 @@ src_configure() { for sapi in $SAPIS ; do case "$sapi" in - cli|cgi|embed|fpm|phpdbg) + cli|cgi|embed|fpm) if [[ "${one_sapi}" == "${sapi}" ]] ; then sapi_conf+=( "--enable-${sapi}" ) else @@ -614,7 +623,7 @@ src_install() { # We're specifically not using emake install-sapi as libtool # may cause unnecessary relink failures (see bug #351266) insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ + newins ".libs/libphp5$(get_libname)" \ "libphp${PHP_MV}$(get_libname)" keepdir "/usr/$(get_libdir)/apache2/modules" else @@ -634,9 +643,6 @@ src_install() { embed) source="libs/libphp${PHP_MV}$(get_libname)" ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; *) die "unhandled sapi in src_install" ;; @@ -770,8 +776,8 @@ pkg_postinst() { # supposed to remove that dead link per bug 572436. eselect php cleanup || die - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes" - elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI." + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." elog elog "This ebuild installed a version of php.ini based on" elog "php.ini-${PHP_INI_VERSION}. You can choose which version of" diff --git a/dev-lang/php/php-7.0.7-r1.ebuild b/dev-lang/php/php-7.0.8.ebuild similarity index 99% rename from dev-lang/php/php-7.0.7-r1.ebuild rename to dev-lang/php/php-7.0.8.ebuild index a4bf49a..fbc800d 100644 --- a/dev-lang/php/php-7.0.7-r1.ebuild +++ b/dev-lang/php/php-7.0.8.ebuild @@ -770,8 +770,8 @@ pkg_postinst() { # supposed to remove that dead link per bug 572436. eselect php cleanup || die - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes" - elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI." + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." elog elog "This ebuild installed a version of php.ini based on" elog "php.ini-${PHP_INI_VERSION}. You can choose which version of"