commit: a1a3a1755c2eac7cf75a2995e6bd9e019a7f30dd
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 3 23:28:47 2016 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sat Jun 4 03:26:44 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1a3a175
dev-lang/php: new security releases for all three supported series.
Gentoo-Bug: 584204
Package-Manager: portage-2.2.28
dev-lang/php/Manifest | 4 +-
.../php/{php-7.0.6.ebuild => php-5.5.36.ebuild} | 519 ++++++++++-----------
.../php/{php-7.0.6.ebuild => php-5.6.22.ebuild} | 66 +--
.../php/{php-7.0.6.ebuild => php-7.0.7.ebuild} | 0
4 files changed, 290 insertions(+), 299 deletions(-)
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 9a55cdb..578c4f6 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,7 +1,9 @@
DIST php-5.5.33.tar.bz2 13686486 SHA256
c490b1ed4df596b48eb68f630d89ca512945e2650840e7dace1119cc7e600aa9 SHA512
a0ac57adcc4b0caec153265a8d1ded8d4d0f71b44f08158feb0add9c8fdd36826767882e85dd03399cf146800eddcb6b6cc1b21051d4fc4371e3f61b1169132b
WHIRLPOOL
373c61677adb89506cc4621d1c7a0732f6454a8679a797807631f2286188bb990dfcaf34b4108edf7b1819424100fa0d7060f0f792a65dc5f1c130cfa00e6b45
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.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-7.0.6.tar.bz2 14102594 SHA256
14ddf192a9965c858c1e742a61456be2f34a4db87556172c0d76f08de96329b7 SHA512
7f44cc5df3b9bb4394ac39069fdc2993086dd8e159e97275bf5fa4dd399d416e9ea1b057cdf855bae1c0f9c2129af1914495d9d2512ce90a7dd3ce4206aa9286
WHIRLPOOL
dfb19b2bee5ea79fc08039544c350e58b329f439fb21b0b75d3b83ae151f449678614fad76829b5d86b885423fe6e1b21622f58aa598c6450732f164ae596b1b
+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
diff --git a/dev-lang/php/php-7.0.6.ebuild b/dev-lang/php/php-5.5.36.ebuild
similarity index 55%
copy from dev-lang/php/php-7.0.6.ebuild
copy to dev-lang/php/php-5.5.36.ebuild
index 92b6507..6c0c143 100644
--- a/dev-lang/php/php-7.0.6.ebuild
+++ b/dev-lang/php/php-5.5.36.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 vpx wddx
+ 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,13 +126,12 @@ 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 )
)
@@ -162,9 +155,7 @@ DEPEND="${DEPEND}
php="=${CATEGORY}/${PF}"
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
- cli? ( ^^ ( readline libedit ) )
truetype? ( gd )
vpx? ( gd )
cjk? ( 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 vpx; then
- our_conf+=( --with-vpx-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 "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes
php${SLOT/./-} in order"
+ elog "to compile extensions for the ${SLOT} ABI"
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.6.ebuild b/dev-lang/php/php-5.6.22.ebuild
similarity index 94%
copy from dev-lang/php/php-7.0.6.ebuild
copy to dev-lang/php/php-5.6.22.ebuild
index 92b6507..0fb581b 100644
--- a/dev-lang/php/php-7.0.6.ebuild
+++ b/dev-lang/php/php-5.6.22.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 vpx wddx
+ 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,9 +140,11 @@ 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 )
)
@@ -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 vpx; then
- our_conf+=( --with-vpx-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"
;;
diff --git a/dev-lang/php/php-7.0.6.ebuild b/dev-lang/php/php-7.0.7.ebuild
similarity index 100%
rename from dev-lang/php/php-7.0.6.ebuild
rename to dev-lang/php/php-7.0.7.ebuild