Gentoo Archives: gentoo-commits

From: Michael Orlitzky <mjo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/
Date: Fri, 04 Mar 2016 03:23:31
Message-Id: 1457061540.b81b8c799fe2c28d7a3211ed1af2f87f3bd033c3.mjo@gentoo
1 commit: b81b8c799fe2c28d7a3211ed1af2f87f3bd033c3
2 Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
3 AuthorDate: Fri Mar 4 01:10:08 2016 +0000
4 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 4 03:19:00 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b81b8c79
7
8 dev-lang/php: add new versions of the three supported series.
9
10 This adds php-5.5.33, php-5.6.19, and php-7.0.4 -- all bugfix/security
11 releases. The DESCRIPTION of the new ebuilds was shortened to respect
12 the 80-character limit. Support for LibreSSL was also added to the 5.6
13 and 7.0 series in the process.
14
15 Gentoo-Bug: 575922
16
17 Package-Manager: portage-2.2.26
18
19 dev-lang/php/Manifest | 4 +-
20 .../php/{php-7.0.3.ebuild => php-5.5.33.ebuild} | 516 ++++++++++-----------
21 .../php/{php-7.0.3.ebuild => php-5.6.19.ebuild} | 75 +--
22 .../php/{php-7.0.3.ebuild => php-7.0.4.ebuild} | 11 +-
23 4 files changed, 305 insertions(+), 301 deletions(-)
24
25 diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
26 index 855517e..85f52a2 100644
27 --- a/dev-lang/php/Manifest
28 +++ b/dev-lang/php/Manifest
29 @@ -2,8 +2,10 @@ DIST php-5.4.45.tar.bz2 12703324 SHA256 4e0d28b1554c95cfaea6fa2b64aac85433f158ce
30 DIST php-5.5.30.tar.bz2 13699702 SHA256 e7332a713cecdd1cb44a1b1336739885c9789f633f0f51236b25e48ab03c3b29 SHA512 9458126f579ace9e2aebdfa7ad7f8d097f1fd502f443d8fd66263ba3c542d579ca9c705e227725fae57e452649a3be7cb717a0330d339b93d3c6c94fa80dbc1f WHIRLPOOL 2aa6c61a48a231d81f6c746f94e42589d87b93d0526f02d6d15f731cbbca4aecdee84b443f7ec1891f2a524939c542ac6f94e15db90a23a8b19523463025d395
31 DIST php-5.5.31.tar.bz2 13659002 SHA256 fb4a382b9a9dceb749b7ef047d8251320bc8d371c843714e5b4f4b70d61ba277 SHA512 b5b44092636bf26898441cfda4007480dcd0d58b72cd5c53d74ad2926fe54bf7e5db995c8ff598f72f1783ecd02aafad6be7d3bbd35dc83300621c7c37d37eca WHIRLPOOL 4d6a4cce634d30454280b08c30e25fdc6c2d2f37a823123372a4b1bc2b0cc5cdb4e10ccdc73e78cfbf243f83184861c8f79fae023fcf291ee102151a28236052
32 DIST php-5.5.32.tar.bz2 13685561 SHA256 b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee SHA512 1603864e7a98378bb5a7c1592d81029fd7dfe5d2fa88152a9e29484c3c98cd6126a79741657eea3e3295ed1bdeed47527d33981c9ea0df891f137ee8126cce2b WHIRLPOOL b7b86eec6b03720238bbe698289c6b1aecf920645f166d617fd26166aba8e19a474ff15d482f8f84fd48befc6b6be6c388797bb3f269f5609e71e10be9844759
33 +DIST php-5.5.33.tar.bz2 13686486 SHA256 c490b1ed4df596b48eb68f630d89ca512945e2650840e7dace1119cc7e600aa9 SHA512 a0ac57adcc4b0caec153265a8d1ded8d4d0f71b44f08158feb0add9c8fdd36826767882e85dd03399cf146800eddcb6b6cc1b21051d4fc4371e3f61b1169132b WHIRLPOOL 373c61677adb89506cc4621d1c7a0732f6454a8679a797807631f2286188bb990dfcaf34b4108edf7b1819424100fa0d7060f0f792a65dc5f1c130cfa00e6b45
34 DIST php-5.6.14.tar.bz2 14073920 SHA256 36f295f11641c1839a5df00e693f685fd134c65e8a1d46e8ee0abae8662b2eb0 SHA512 af0c7fa5c7be15839b1189b2544ff725b935228030087c206f83727e7885750030b10bf2bfbd27adea6f18af90d4ecd3ced9defec88c5f98f7ed26b4e4c57981 WHIRLPOOL 8e31fc3dbeb22fa2a59112d2dcbe28f8102c8d5a14fd716d17f909399c06d27a10ea32d43ebd1a12cea78d9fd949ae7c7882628ae0c3abd7354d165107fa0c9d
35 DIST php-5.6.17.tar.bz2 14072840 SHA256 77b45f56a1e63e75bb22b42cfb8b438ec4083c59ce774b4d7c1685544b7add3b SHA512 706fd31324c98717d44b4db4440a5eaffe24ad34b346ba95418b33ee072b3ddde5d7429d318f69554b4bfcd7dcc0e9e4b07142b539196e9f0ab7707485ad9dbb WHIRLPOOL 02b7ea265b41e9db94a0087bd5baefdd45f3954df12298f1c50340bee5de1f5ea21ec5e1e039741db5cdd19ffd51518775bc17eff5ad8ad138c71fcaacf80af1
36 DIST php-5.6.18.tar.bz2 14094993 SHA256 c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed SHA512 1f0820d829923404ceae287129afa9c7d7d9c83d6fbf148a65a6ac49224f4cb84e743443c4fadb69d959229123ab7e99816aab40f694d808e64b05bb7238f89e WHIRLPOOL f4863256dfe3497276ca07b6f01eb5ec046f377e462b5d7d1d11b1e92e99f087b4c55719dace4d5aca1b30794ddd37c9d81b30deb6a913b7c0eeff67ebd74c13
37 -DIST php-7.0.3.tar.bz2 14011153 SHA256 826823d754f09c779222a99becf9c53a4dc719dba2d777aca7807c6ca68e6fc6 SHA512 3a7aa542f53a38499eb126c3d489bed057a5a9b8e4a8fb45a55b1080fc573646615699bd94b03c882e58554b23ac5d6e3aaf54d0b502b9d110e91e69339bd7a0 WHIRLPOOL 93952672c05b5b85766f425f8b6cf290dab820e87d01945d145c52b37c9f33f995df40a9ddc00f1660a036cb07000e42c16d9587e9b4137b55bc5f95d3a3190b
38 +DIST php-5.6.19.tar.bz2 14100438 SHA256 2a24a3f84971680ac0a4c71050067de4f76ee235aa4a041fae21bfa69975c168 SHA512 c8c2b3bdfc1a8abe834612c33123b4f103e841c230b53934fb7bafe11af7f1175f02ca54c92f33e8e603485e6283897bebb51acc55d1213b7433024684215c14 WHIRLPOOL f026e8779c531f887b1e292e5f1d6eafd0e3ae46f83ae8efb830ad8e0f91d86e5b002dda9e6a02987db6230557ff773d8c52dd2db423d792aed1aca292e5b92b
39 +DIST php-7.0.4.tar.bz2 14027088 SHA256 a246c503709c189ba8e1e22ed2cb22abc27da43a997ff1b3318e181baf529dcc SHA512 9d1dc761cdd9103a91299e01117c1790550e3b94e7694dcc2555d83e5abe3d2170acd6226e8501c5f2a77b5c374b1c9f5ea009999d476818c2682a54def86b96 WHIRLPOOL 08b6b023854af693d85a6e48b3ec83f10ede0c07ac6d18b1b3b2a4d8208dcc7ba55900985be812c3325703bc291d8a842d7754c1b7754e2c52c72e7488d6d8df
40 DIST php-patchset-5.4-r2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea
41
42 diff --git a/dev-lang/php/php-7.0.3.ebuild b/dev-lang/php/php-5.5.33.ebuild
43 similarity index 55%
44 copy from dev-lang/php/php-7.0.3.ebuild
45 copy to dev-lang/php/php-5.5.33.ebuild
46 index f6014cd..6c0c143 100644
47 --- a/dev-lang/php/php-7.0.3.ebuild
48 +++ b/dev-lang/php/php-5.5.33.ebuild
49 @@ -4,7 +4,7 @@
50
51 EAPI=5
52
53 -inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd
54 +inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
55
56 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"
57
58 @@ -12,7 +12,7 @@ function php_get_uri ()
59 {
60 case "${1}" in
61 "php-pre")
62 - echo "http://downloads.php.net/ab/${2}"
63 + echo "http://downloads.php.net/dsp/${2}"
64 ;;
65 "php")
66 echo "http://www.php.net/distributions/${2}"
67 @@ -49,14 +49,14 @@ PHP_FPM_CONF_VER="1"
68
69 SRC_URI="${PHP_SRC_URI}"
70
71 -DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
72 +DESCRIPTION="The PHP language runtime engine"
73 HOMEPAGE="http://php.net/"
74 LICENSE="PHP-3"
75
76 S="${WORKDIR}/${PHP_P}"
77
78 # We can build the following SAPIs in the given order
79 -SAPIS="embed cli cgi fpm apache2 phpdbg"
80 +SAPIS="embed cli cgi fpm apache2"
81
82 # SAPIs and SAPI-specific USE flags (cli SAPI is default on):
83 IUSE="${IUSE}
84 @@ -68,29 +68,19 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
85 enchant exif frontbase +fileinfo +filter firebird
86 flatfile ftp gd gdbm gmp +hash +iconv imap inifile
87 intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
88 - mysql mysqli nls
89 + mssql mysql libmysqlclient mysqli nls
90 oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
91 readline recode selinux +session sharedmem
92 +simplexml snmp soap sockets spell sqlite ssl
93 - sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
94 + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
95 +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
96
97 DEPEND="
98 - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
99 + >=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
100 >=dev-libs/libpcre-8.32[unicode]
101 apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
102 - <www-servers/apache-2.4[threads=] ) )"
103 -
104 -# The supported (that is, autodetected) versions of BDB are listed in
105 -# the ./configure script. Other versions *work*, but we need to stick to
106 -# the ones that can be detected to avoid a repeat of bug #564824.
107 -DEPEND="${DEPEND}
108 - berkdb? ( || ( sys-libs/db:5.3
109 - sys-libs/db:5.1
110 - sys-libs/db:4.8
111 - sys-libs/db:4.7
112 - sys-libs/db:4.6
113 - sys-libs/db:4.5 ) )
114 + <www-servers/apache-2.4[threads=] ) )
115 + berkdb? ( =sys-libs/db-4* )
116 bzip2? ( app-arch/bzip2 )
117 cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
118 cjk? ( !gd? (
119 @@ -109,7 +99,7 @@ DEPEND="${DEPEND}
120 firebird? ( dev-db/firebird )
121 gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
122 gdbm? ( >=sys-libs/gdbm-1.8.0 )
123 - gmp? ( dev-libs/gmp:0 )
124 + gmp? ( >=dev-libs/gmp-4.1.2 )
125 iconv? ( virtual/libiconv )
126 imap? ( virtual/imap-c-client[ssl=] )
127 intl? ( dev-libs/icu:= )
128 @@ -118,12 +108,17 @@ DEPEND="${DEPEND}
129 ldap? ( >=net-nds/openldap-1.2.11 )
130 ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
131 libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
132 + mssql? ( dev-db/freetds[mssql] )
133 + libmysqlclient? (
134 + mysql? ( virtual/mysql )
135 + mysqli? ( >=virtual/mysql-4.1 )
136 + )
137 nls? ( sys-devel/gettext )
138 oci8-instant-client? ( dev-db/oracle-instantclient-basic )
139 odbc? ( >=dev-db/unixODBC-1.8.13 )
140 - postgres? ( dev-db/postgresql:* )
141 + postgres? ( dev-db/postgresql )
142 qdbm? ( dev-db/qdbm )
143 - readline? ( sys-libs/readline:0 )
144 + readline? ( sys-libs/readline )
145 recode? ( app-text/recode )
146 sharedmem? ( dev-libs/mm )
147 simplexml? ( >=dev-libs/libxml2-2.6.8 )
148 @@ -131,10 +126,12 @@ DEPEND="${DEPEND}
149 soap? ( >=dev-libs/libxml2-2.6.8 )
150 spell? ( >=app-text/aspell-0.50 )
151 sqlite? ( >=dev-db/sqlite-3.7.6.3 )
152 - ssl? ( dev-libs/openssl:0 )
153 + ssl? ( >=dev-libs/openssl-0.9.7 )
154 + sybase-ct? ( dev-db/freetds )
155 tidy? ( app-text/htmltidy )
156 truetype? (
157 =media-libs/freetype-2*
158 + >=media-libs/t1lib-5.0.0
159 !gd? (
160 virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
161 )
162 @@ -158,9 +155,7 @@ DEPEND="${DEPEND}
163
164 php="=${CATEGORY}/${PF}"
165
166 -# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
167 REQUIRED_USE="
168 - cli? ( ^^ ( readline libedit ) )
169 truetype? ( gd )
170 vpx? ( gd )
171 cjk? ( gd )
172 @@ -177,15 +172,18 @@ REQUIRED_USE="
173 ldap-sasl? ( ldap )
174 mhash? ( hash )
175 phar? ( hash )
176 + libmysqlclient? ( || (
177 + mysql
178 + mysqli
179 + pdo
180 + ) )
181
182 qdbm? ( !gdbm )
183 readline? ( !libedit )
184 - recode? ( !imap !mysqli )
185 + recode? ( !imap !mysql !mysqli )
186 sharedmem? ( !threads )
187
188 - mysql? ( || ( mysqli pdo ) )
189 -
190 - || ( cli cgi fpm apache2 embed phpdbg )"
191 + !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
192
193 RDEPEND="${DEPEND}"
194
195 @@ -225,16 +223,16 @@ php_install_ini() {
196 php_set_ini_dir "${phpsapi}"
197
198 local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
199 - cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die
200 + cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
201
202 # default to /tmp for save_path, bug #282768
203 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
204 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
205
206 # Set the extension dir
207 - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die
208 + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
209
210 # Set the include path to point to where we want to find PEAR packages
211 - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
212 + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
213
214 dodir "${PHP_INI_DIR#${EPREFIX}}"
215 insinto "${PHP_INI_DIR#${EPREFIX}}"
216 @@ -248,23 +246,27 @@ php_install_ini() {
217
218 if use_if_iuse opcache; then
219 elog "Adding opcache to $PHP_EXT_INI_DIR"
220 - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
221 - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
222 - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
223 - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
224 + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
225 + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
226 fi
227
228 # SAPI-specific handling
229 +
230 if [[ "${sapi}" == "fpm" ]] ; then
231 - einfo "Installing FPM config files php-fpm.conf and www.conf"
232 + [[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
233 + einfo "Installing FPM CGI config file php-fpm.conf"
234 insinto "${PHP_INI_DIR#${EPREFIX}}"
235 - doins sapi/fpm/php-fpm.conf
236 - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
237 - doins sapi/fpm/www.conf
238 + newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
239 +
240 + # Remove bogus /etc/php-fpm.conf.default (bug 359906)
241 + [[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
242 fi
243
244 + # Install PHP ini files into /usr/share/php
245 +
246 dodoc php.ini-development
247 dodoc php.ini-production
248 +
249 }
250
251 php_set_ini_dir() {
252 @@ -274,6 +276,14 @@ php_set_ini_dir() {
253 }
254
255 src_prepare() {
256 + # USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
257 + # ([empty session.save_path]/session_mm_[sapi][gid].sem)
258 + # there is no easy way to circumvent that, all php calls during
259 + # install use -n, so no php.ini file will be used.
260 + # As such, this is the easiest way to get around
261 + addpredict /session_mm_cli250.sem
262 + addpredict /session_mm_cli0.sem
263 +
264 # Change PHP branding
265 # Get the alpha/beta/rc version
266 sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
267 @@ -283,6 +293,13 @@ src_prepare() {
268 sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
269 -i configure.in || die "Failed to fix server platform name"
270
271 + # Prevent PHP from activating the Apache config,
272 + # as we will do that ourselves
273 + sed -i \
274 + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
275 + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
276 + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
277 +
278 # Patch PHP to support heimdal instead of mit-krb5
279 if has_version "app-crypt/heimdal" ; then
280 sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
281 @@ -291,27 +308,17 @@ src_prepare() {
282 || die "Failed to fix heimdal crypt library reference"
283 fi
284
285 - # Add user patches #357637
286 + #Add user patches #357637
287 epatch_user
288
289 - # Force rebuilding aclocal.m4
290 - rm -f aclocal.m4 || die
291 + #force rebuilding aclocal.m4
292 + rm aclocal.m4
293 eautoreconf
294
295 if [[ ${CHOST} == *-darwin* ]] ; then
296 # http://bugs.php.net/bug.php?id=48795, bug #343481
297 sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
298 fi
299 -
300 - # In php-7.x, the FPM pool configuration files have been split off
301 - # of the main config. By default the pool config files go in
302 - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
303 - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
304 - # we'll install the pool configuration file "www.conf" there.
305 - php_set_ini_dir fpm
306 - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
307 - sapi/fpm/php-fpm.conf.in \
308 - || die 'failed to move the include directory in php-fpm.conf'
309 }
310
311 src_configure() {
312 @@ -320,183 +327,196 @@ src_configure() {
313
314 PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
315
316 - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
317 - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
318 - local our_conf=(
319 + # This is a global variable and should be in caps. It isn't because the
320 + # phpconfutils eclass relies on exactly this name...
321 + # for --with-libdir see bug #327025
322 + my_conf="
323 --prefix="${PHP_DESTDIR}"
324 - --mandir="${PHP_DESTDIR}/man"
325 - --infodir="${PHP_DESTDIR}/info"
326 - --libdir="${PHP_DESTDIR}/lib"
327 - --with-libdir="$(get_libdir)"
328 - --localstatedir="${EPREFIX}/var"
329 + --mandir="${PHP_DESTDIR}"/man
330 + --infodir="${PHP_DESTDIR}"/info
331 + --libdir="${PHP_DESTDIR}"/lib
332 + --with-libdir=$(get_libdir)
333 --without-pear
334 - $(use_enable threads maintainer-zts)
335 - )
336 -
337 - our_conf+=(
338 - $(use_enable bcmath bcmath)
339 - $(use_with bzip2 bz2 "${EPREFIX}/usr")
340 - $(use_enable calendar calendar)
341 - $(use_enable ctype ctype)
342 - $(use_with curl curl "${EPREFIX}/usr")
343 - $(use_enable xml dom)
344 - $(use_with enchant enchant "${EPREFIX}/usr")
345 - $(use_enable exif exif)
346 - $(use_enable fileinfo fileinfo)
347 - $(use_enable filter filter)
348 - $(use_enable ftp ftp)
349 - $(use_with nls gettext "${EPREFIX}/usr")
350 - $(use_with gmp gmp "${EPREFIX}/usr")
351 - $(use_enable hash hash)
352 - $(use_with mhash mhash "${EPREFIX}/usr")
353 - $(use_with iconv iconv \
354 - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
355 - $(use_enable intl intl)
356 - $(use_enable ipv6 ipv6)
357 - $(use_enable json json)
358 - $(use_with kerberos kerberos "${EPREFIX}/usr")
359 - $(use_enable xml libxml)
360 - $(use_with xml libxml-dir "${EPREFIX}/usr")
361 - $(use_enable unicode mbstring)
362 - $(use_with crypt mcrypt "${EPREFIX}/usr")
363 - $(use_with unicode onig "${EPREFIX}/usr")
364 - $(use_with ssl openssl "${EPREFIX}/usr")
365 - $(use_with ssl openssl-dir "${EPREFIX}/usr")
366 - $(use_enable pcntl pcntl)
367 - $(use_enable phar phar)
368 - $(use_enable pdo pdo)
369 - $(use_enable opcache opcache)
370 - $(use_with postgres pgsql "${EPREFIX}/usr")
371 - $(use_enable posix posix)
372 - $(use_with spell pspell "${EPREFIX}/usr")
373 - $(use_with recode recode "${EPREFIX}/usr")
374 - $(use_enable simplexml simplexml)
375 - $(use_enable sharedmem shmop)
376 - $(use_with snmp snmp "${EPREFIX}/usr")
377 - $(use_enable soap soap)
378 - $(use_enable sockets sockets)
379 - $(use_with sqlite sqlite3 "${EPREFIX}/usr")
380 - $(use_enable sysvipc sysvmsg)
381 - $(use_enable sysvipc sysvsem)
382 - $(use_enable sysvipc sysvshm)
383 - $(use_with systemd fpm-systemd)
384 - $(use_with tidy tidy "${EPREFIX}/usr")
385 - $(use_enable tokenizer tokenizer)
386 - $(use_enable wddx wddx)
387 - $(use_enable xml xml)
388 - $(use_enable xmlreader xmlreader)
389 - $(use_enable xmlwriter xmlwriter)
390 - $(use_with xmlrpc xmlrpc)
391 - $(use_with xslt xsl "${EPREFIX}/usr")
392 - $(use_enable zip zip)
393 - $(use_with zlib zlib "${EPREFIX}/usr")
394 - $(use_enable debug debug)
395 - )
396 + $(use_enable threads maintainer-zts)"
397 +
398 + # extension USE flag shared
399 + my_conf+="
400 + $(use_enable bcmath bcmath )
401 + $(use_with bzip2 bz2 "${EPREFIX}"/usr)
402 + $(use_enable calendar calendar )
403 + $(use_enable ctype ctype )
404 + $(use_with curl curl "${EPREFIX}"/usr)
405 + $(use_enable xml dom )
406 + $(use_with enchant enchant "${EPREFIX}"/usr)
407 + $(use_enable exif exif )
408 + $(use_enable fileinfo fileinfo )
409 + $(use_enable filter filter )
410 + $(use_enable ftp ftp )
411 + $(use_with nls gettext "${EPREFIX}"/usr)
412 + $(use_with gmp gmp "${EPREFIX}"/usr)
413 + $(use_enable hash hash )
414 + $(use_with mhash mhash "${EPREFIX}"/usr)
415 + $(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr))
416 + $(use_enable intl intl )
417 + $(use_enable ipv6 ipv6 )
418 + $(use_enable json json )
419 + $(use_with kerberos kerberos "${EPREFIX}"/usr)
420 + $(use_enable xml libxml )
421 + $(use_with xml libxml-dir "${EPREFIX}"/usr)
422 + $(use_enable unicode mbstring )
423 + $(use_with crypt mcrypt "${EPREFIX}"/usr)
424 + $(use_with mssql mssql "${EPREFIX}"/usr)
425 + $(use_with unicode onig "${EPREFIX}"/usr)
426 + $(use_with ssl openssl "${EPREFIX}"/usr)
427 + $(use_with ssl openssl-dir "${EPREFIX}"/usr)
428 + $(use_enable pcntl pcntl )
429 + $(use_enable phar phar )
430 + $(use_enable pdo pdo )
431 + $(use_enable opcache opcache )
432 + $(use_with postgres pgsql "${EPREFIX}"/usr)
433 + $(use_enable posix posix )
434 + $(use_with spell pspell "${EPREFIX}"/usr)
435 + $(use_with recode recode "${EPREFIX}"/usr)
436 + $(use_enable simplexml simplexml )
437 + $(use_enable sharedmem shmop )
438 + $(use_with snmp snmp "${EPREFIX}"/usr)
439 + $(use_enable soap soap )
440 + $(use_enable sockets sockets )
441 + $(use_with sqlite sqlite3 "${EPREFIX}"/usr)
442 + $(use_with sybase-ct sybase-ct "${EPREFIX}"/usr)
443 + $(use_enable sysvipc sysvmsg )
444 + $(use_enable sysvipc sysvsem )
445 + $(use_enable sysvipc sysvshm )
446 + $(use_with systemd fpm-systemd)
447 + $(use_with tidy tidy "${EPREFIX}"/usr)
448 + $(use_enable tokenizer tokenizer )
449 + $(use_enable wddx wddx )
450 + $(use_enable xml xml )
451 + $(use_enable xmlreader xmlreader )
452 + $(use_enable xmlwriter xmlwriter )
453 + $(use_with xmlrpc xmlrpc)
454 + $(use_with xslt xsl "${EPREFIX}"/usr)
455 + $(use_enable zip zip )
456 + $(use_with zlib zlib "${EPREFIX}"/usr)
457 + $(use_enable debug debug )"
458
459 # DBA support
460 if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
461 || use qdbm ; then
462 - our_conf+=( "--enable-dba${shared}" )
463 + my_conf="${my_conf} --enable-dba${shared}"
464 fi
465
466 # DBA drivers support
467 - our_conf+=(
468 - $(use_with cdb cdb)
469 - $(use_with berkdb db4 "${EPREFIX}/usr")
470 - $(use_enable flatfile flatfile)
471 - $(use_with gdbm gdbm "${EPREFIX}/usr")
472 - $(use_enable inifile inifile)
473 - $(use_with qdbm qdbm "${EPREFIX}/usr")
474 - )
475 + my_conf+="
476 + $(use_with cdb cdb)
477 + $(use_with berkdb db4 ${EPREFIX}/usr)
478 + $(use_enable flatfile flatfile )
479 + $(use_with gdbm gdbm ${EPREFIX}/usr)
480 + $(use_enable inifile inifile )
481 + $(use_with qdbm qdbm ${EPREFIX}/usr)"
482
483 # Support for the GD graphics library
484 - our_conf+=(
485 - $(use_with truetype freetype-dir "${EPREFIX}/usr")
486 - $(use_enable cjk gd-jis-conv)
487 - $(use_with gd jpeg-dir "${EPREFIX}/usr")
488 - $(use_with gd png-dir "${EPREFIX}/usr")
489 - $(use_with xpm xpm-dir "${EPREFIX}/usr")
490 - )
491 - if use vpx; then
492 - our_conf+=( --with-vpx-dir="${EPREFIX}/usr" )
493 - fi
494 + my_conf+="
495 + $(use_with truetype freetype-dir ${EPREFIX}/usr)
496 + $(use_with truetype t1lib ${EPREFIX}/usr)
497 + $(use_enable cjk gd-jis-conv )
498 + $(use_with gd jpeg-dir ${EPREFIX}/usr)
499 + $(use_with gd png-dir ${EPREFIX}/usr)
500 + $(use_with xpm xpm-dir ${EPREFIX}/usr)
501 + $(use_with vpx vpx-dir ${EPREFIX}/usr)"
502 # enable gd last, so configure can pick up the previous settings
503 - our_conf+=( $(use_with gd gd) )
504 + my_conf+="
505 + $(use_with gd gd)"
506
507 # IMAP support
508 if use imap ; then
509 - our_conf+=(
510 - $(use_with imap imap "${EPREFIX}/usr")
511 - $(use_with ssl imap-ssl "${EPREFIX}/usr")
512 - )
513 + my_conf+="
514 + $(use_with imap imap ${EPREFIX}/usr)
515 + $(use_with ssl imap-ssl ${EPREFIX}/usr)"
516 fi
517
518 # Interbase/firebird support
519 - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
520 +
521 + if use firebird ; then
522 + my_conf+="
523 + $(use_with firebird interbase ${EPREFIX}/usr)"
524 + fi
525
526 # LDAP support
527 if use ldap ; then
528 - our_conf+=(
529 - $(use_with ldap ldap "${EPREFIX}/usr")
530 - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
531 - )
532 + my_conf+="
533 + $(use_with ldap ldap ${EPREFIX}/usr)
534 + $(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)"
535 fi
536
537 # MySQL support
538 local mysqllib="mysqlnd"
539 local mysqlilib="mysqlnd"
540 + use libmysqlclient && mysqllib="${EPREFIX}/usr"
541 + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
542
543 - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
544 + my_conf+=" $(use_with mysql mysql $mysqllib)"
545 + my_conf+=" $(use_with mysqli mysqli $mysqlilib)"
546
547 - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
548 - if use mysql || use mysqli ; then
549 - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
550 + local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
551 + if use mysql ; then
552 + my_conf+="${mysqlsock}"
553 + elif use mysqli ; then
554 + my_conf+="${mysqlsock}"
555 fi
556
557 # ODBC support
558 - our_conf+=(
559 - $(use_with odbc unixODBC "${EPREFIX}/usr")
560 - $(use_with iodbc iodbc "${EPREFIX}/usr")
561 - )
562 + if use odbc ; then
563 + my_conf+="
564 + $(use_with odbc unixODBC ${EPREFIX}/usr)"
565 + fi
566 +
567 + if use iodbc ; then
568 + my_conf+="
569 + $(use_with iodbc iodbc ${EPREFIX}/usr)"
570 + fi
571
572 # Oracle support
573 - our_conf+=( $(use_with oci8-instant-client oci8) )
574 + if use oci8-instant-client ; then
575 + my_conf+="
576 + $(use_with oci8-instant-client oci8)"
577 + fi
578
579 # PDO support
580 if use pdo ; then
581 - our_conf+=(
582 - $(use_with mysql pdo-mysql "${mysqllib}")
583 - $(use_with postgres pdo-pgsql)
584 - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
585 - $(use_with firebird pdo-firebird "${EPREFIX}/usr")
586 - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
587 - $(use_with oci8-instant-client pdo-oci)
588 - )
589 + my_conf+="
590 + $(use_with mssql pdo-dblib )
591 + $(use_with mysql pdo-mysql ${mysqllib})
592 + $(use_with postgres pdo-pgsql )
593 + $(use_with sqlite pdo-sqlite ${EPREFIX}/usr)
594 + $(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)"
595 + if use oci8-instant-client ; then
596 + my_conf+="
597 + $(use_with oci8-instant-client pdo-oci)"
598 + fi
599 fi
600
601 # readline/libedit support
602 - our_conf+=(
603 - $(use_with readline readline "${EPREFIX}/usr")
604 - $(use_with libedit libedit "${EPREFIX}/usr")
605 - )
606 + my_conf+="
607 + $(use_with readline readline ${EPREFIX}/usr)
608 + $(use_with libedit libedit ${EPREFIX}/usr)"
609
610 # Session support
611 if use session ; then
612 - our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
613 + my_conf+="
614 + $(use_with sharedmem mm ${EPREFIX}/usr)"
615 else
616 - our_conf+=( $(use_enable session session) )
617 + my_conf+="
618 + $(use_enable session session )"
619 fi
620
621 # Use pic for shared modules such as apache2's mod_php
622 - our_conf+=( --with-pic )
623 + my_conf="${my_conf} --with-pic"
624
625 # we use the system copy of pcre
626 # --with-pcre-regex affects ext/pcre
627 # --with-pcre-dir affects ext/filter and ext/zip
628 - our_conf+=(
629 - --with-pcre-regex="${EPREFIX}/usr"
630 - --with-pcre-dir="${EPREFIX}/usr"
631 - )
632 + my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr"
633
634 # Catch CFLAGS problems
635 # Fixes bug #14067.
636 @@ -504,56 +524,43 @@ src_configure() {
637 replace-cpu-flags "k6*" "i586"
638
639 # Support user-passed configuration parameters
640 - our_conf+=( ${EXTRA_ECONF:-} )
641 + my_conf="${my_conf} ${EXTRA_ECONF:-}"
642
643 # Support the Apache2 extras, they must be set globally for all
644 # SAPIs to work correctly, especially for external PHP extensions
645
646 - mkdir -p "${WORKDIR}/sapis-build" || die
647 + mkdir -p "${WORKDIR}/sapis-build"
648 for one_sapi in $SAPIS ; do
649 use "${one_sapi}" || continue
650 php_set_ini_dir "${one_sapi}"
651
652 - # The BUILD_DIR variable is used to determine where to output
653 - # the files that autotools creates. This was all originally
654 - # based on the autotools-utils eclass.
655 - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
656 - cp -r "${S}" "${BUILD_DIR}" || die
657 - cd "${BUILD_DIR}" || die
658 + cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
659 + cd "${WORKDIR}/sapis-build/${one_sapi}"
660
661 - local sapi_conf=(
662 - --with-config-file-path="${PHP_INI_DIR}"
663 - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
664 - )
665 + sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
666 + --with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
667
668 for sapi in $SAPIS ; do
669 case "$sapi" in
670 - cli|cgi|embed|fpm|phpdbg)
671 + cli|cgi|embed|fpm)
672 if [[ "${one_sapi}" == "${sapi}" ]] ; then
673 - sapi_conf+=( "--enable-${sapi}" )
674 + sapi_conf="${sapi_conf} --enable-${sapi}"
675 else
676 - sapi_conf+=( "--disable-${sapi}" )
677 + sapi_conf="${sapi_conf} --disable-${sapi}"
678 fi
679 ;;
680
681 apache2)
682 if [[ "${one_sapi}" == "${sapi}" ]] ; then
683 - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" )
684 + sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs"
685 else
686 - sapi_conf+=( --without-apxs2 )
687 + sapi_conf="${sapi_conf} --without-apxs2"
688 fi
689 ;;
690 esac
691 done
692
693 - # Construct the $myeconfargs array by concatenating $our_conf
694 - # (the common args) and $sapi_conf (the SAPI-specific args).
695 - local myeconfargs=( "${our_conf[@]}" )
696 - myeconfargs+=( "${sapi_conf[@]}" )
697 -
698 - pushd "${BUILD_DIR}" > /dev/null || die
699 - econf "${myeconfargs[@]}"
700 - popd > /dev/null || die
701 + econf ${sapi_conf}
702 done
703 }
704
705 @@ -564,9 +571,8 @@ src_compile() {
706
707 for sapi in ${SAPIS} ; do
708 if use "${sapi}"; then
709 - cd "${WORKDIR}/sapis-build/$sapi" || \
710 - die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
711 - emake
712 + cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
713 + emake || die "emake failed"
714 fi
715 done
716 }
717 @@ -588,14 +594,15 @@ src_install() {
718 dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
719
720 # Install php environment (without any sapis)
721 - cd "${WORKDIR}/sapis-build/$first_sapi" || die
722 + cd "${WORKDIR}/sapis-build/$first_sapi"
723 emake INSTALL_ROOT="${D}" \
724 - install-build install-headers install-programs
725 + install-build install-headers install-programs \
726 + || die "emake install failed"
727
728 local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
729
730 # Create the directory where we'll put version-specific php scripts
731 - keepdir "/usr/share/php${PHP_MV}"
732 + keepdir /usr/share/php${PHP_MV}
733
734 local sapi="", file=""
735 local sapi_list=""
736 @@ -603,14 +610,13 @@ src_install() {
737 for sapi in ${SAPIS}; do
738 if use "${sapi}" ; then
739 einfo "Installing SAPI: ${sapi}"
740 - cd "${WORKDIR}/sapis-build/${sapi}" || die
741 + cd "${WORKDIR}/sapis-build/${sapi}"
742
743 if [[ "${sapi}" == "apache2" ]] ; then
744 # We're specifically not using emake install-sapi as libtool
745 # may cause unnecessary relink failures (see bug #351266)
746 insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
747 - newins ".libs/libphp${PHP_MV}$(get_libname)" \
748 - "libphp${PHP_MV}$(get_libname)"
749 + newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
750 keepdir "/usr/$(get_libdir)/apache2/modules"
751 else
752 # needed each time, php_install_ini would reset it
753 @@ -629,18 +635,15 @@ src_install() {
754 embed)
755 source="libs/libphp${PHP_MV}$(get_libname)"
756 ;;
757 - phpdbg)
758 - source="sapi/phpdbg/phpdbg"
759 - ;;
760 *)
761 die "unhandled sapi in src_install"
762 ;;
763 esac
764
765 if [[ "${source}" == *"$(get_libname)" ]]; then
766 - dolib.so "${source}"
767 + dolib.so "${source}" || die "Unable to install ${sapi} sapi"
768 else
769 - dobin "${source}"
770 + dobin "${source}" || die "Unable to install ${sapi} sapi"
771 local name="$(basename ${source})"
772 dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
773 fi
774 @@ -660,25 +663,26 @@ src_install() {
775
776 # Installing opcache module
777 if use_if_iuse opcache ; then
778 - dolib.so "modules/opcache$(get_libname)"
779 + dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
780 fi
781
782 # Install env.d files
783 - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
784 - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
785 - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
786 + newenvd "${FILESDIR}/20php5-envd" \
787 + "20php${SLOT}"
788 + sed -e "s|/lib/|/$(get_libdir)/|g" -i \
789 + "${ED}/etc/env.d/20php${SLOT}"
790 + sed -e "s|php5|php${SLOT}|g" -i \
791 + "${ED}/etc/env.d/20php${SLOT}"
792
793 # set php-config variable correctly (bug #278439)
794 sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
795 - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
796 + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
797
798 if use fpm ; then
799 if use systemd; then
800 - systemd_newunit "${FILESDIR}/php-fpm_at.service" \
801 - "php-fpm@${SLOT}.service"
802 + systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service"
803 else
804 - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
805 - "php-fpm@${SLOT}.service"
806 + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
807 fi
808 fi
809 }
810 @@ -697,13 +701,11 @@ src_test() {
811 export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
812 fi
813
814 - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
815 - "session.save_path=${T}" \
816 - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
817 - "session.save_path=${T}"
818 + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
819 + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
820
821 for name in ${EXPECTED_TEST_FAILURES}; do
822 - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
823 + mv "${name}.out" "${name}.out.orig" 2>/dev/null
824 done
825
826 local failed="$(find -name '*.out')"
827 @@ -737,7 +739,7 @@ pkg_postinst() {
828 # Output some general info to the user
829 if use apache2 ; then
830 APACHE2_MOD_DEFINE="PHP"
831 - APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php
832 + APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php
833 apache-module_pkg_postinst
834 fi
835
836 @@ -747,7 +749,7 @@ pkg_postinst() {
837 if use $m ; then
838 local ci=$(eselect php show $m)
839 if [[ -z $ci ]]; then
840 - eselect php set $m php${SLOT} || die
841 + eselect php set $m php${SLOT}
842 einfo "Switched ${m} to use php:${SLOT}"
843 einfo
844 elif [[ $ci != "php${SLOT}" ]] ; then
845 @@ -758,39 +760,25 @@ pkg_postinst() {
846 fi
847 done
848
849 - # Remove dead symlinks for SAPIs that were just disabled. For
850 - # example, if the user has the cgi SAPI enabled, then he has an
851 - # eselect-php symlink for it. If he later reinstalls PHP with
852 - # USE="-cgi", that symlink will break. This call to eselect is
853 - # supposed to remove that dead link per bug 572436.
854 - eselect php cleanup || die
855 -
856 - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes"
857 - elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI."
858 + elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order"
859 + elog "to compile extensions for the ${SLOT} ABI"
860 elog
861 - elog "This ebuild installed a version of php.ini based on"
862 - elog "php.ini-${PHP_INI_VERSION}. You can choose which version of"
863 - elog "php.ini to install by default by setting PHP_INI_VERSION"
864 - elog "to either 'production' or 'development' in your make.conf."
865 - elog "Both versions of php.ini can be found with the PHP docs in"
866 - elog "${EPREFIX}/usr/share/doc/${PF}"
867 + if ! use readline && use cli ; then
868 + ewarn "Note that in order to use php interactivly, you need to enable"
869 + ewarn "the readline USE flag or php -a will hang"
870 + fi
871 elog
872 - elog "For more details on how version slotting works, please see"
873 - elog "the wiki:"
874 + elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
875 + elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
876 + elog "'production' or 'development' in ${EPREFIX}/etc/make.conf"
877 + elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}"
878 +
879 elog
880 - elog " https://wiki.gentoo.org/wiki/PHP"
881 + elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
882 + elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml"
883 elog
884 }
885
886 -pkg_postrm() {
887 - # This serves two purposes. First, if we have just removed the last
888 - # installed version of PHP, then this will remove any dead symlinks
889 - # belonging to eselect-php. Second, if a user upgrades slots from
890 - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
891 - # his existing symlinks to point to the new 7.0 installation. The
892 - # latter is bug 432962.
893 - #
894 - # Note: the eselect-php package may not be installed at this point,
895 - # so we can't die() if this command fails.
896 +pkg_prerm() {
897 eselect php cleanup
898 }
899
900 diff --git a/dev-lang/php/php-7.0.3.ebuild b/dev-lang/php/php-5.6.19.ebuild
901 similarity index 93%
902 copy from dev-lang/php/php-7.0.3.ebuild
903 copy to dev-lang/php/php-5.6.19.ebuild
904 index f6014cd..0fb581b 100644
905 --- a/dev-lang/php/php-7.0.3.ebuild
906 +++ b/dev-lang/php/php-5.6.19.ebuild
907 @@ -12,7 +12,7 @@ function php_get_uri ()
908 {
909 case "${1}" in
910 "php-pre")
911 - echo "http://downloads.php.net/ab/${2}"
912 + echo "http://downloads.php.net/dsp/${2}"
913 ;;
914 "php")
915 echo "http://www.php.net/distributions/${2}"
916 @@ -49,14 +49,14 @@ PHP_FPM_CONF_VER="1"
917
918 SRC_URI="${PHP_SRC_URI}"
919
920 -DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
921 +DESCRIPTION="The PHP language runtime engine"
922 HOMEPAGE="http://php.net/"
923 LICENSE="PHP-3"
924
925 S="${WORKDIR}/${PHP_P}"
926
927 # We can build the following SAPIs in the given order
928 -SAPIS="embed cli cgi fpm apache2 phpdbg"
929 +SAPIS="embed cli cgi fpm apache2"
930
931 # SAPIs and SAPI-specific USE flags (cli SAPI is default on):
932 IUSE="${IUSE}
933 @@ -67,12 +67,12 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
934 crypt +ctype curl debug
935 enchant exif frontbase +fileinfo +filter firebird
936 flatfile ftp gd gdbm gmp +hash +iconv imap inifile
937 - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
938 - mysql mysqli nls
939 + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
940 + mhash mssql mysql libmysqlclient mysqli nls
941 oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
942 readline recode selinux +session sharedmem
943 +simplexml snmp soap sockets spell sqlite ssl
944 - sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
945 + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
946 +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
947
948 DEPEND="
949 @@ -118,6 +118,11 @@ DEPEND="${DEPEND}
950 ldap? ( >=net-nds/openldap-1.2.11 )
951 ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
952 libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
953 + mssql? ( dev-db/freetds[mssql] )
954 + libmysqlclient? (
955 + mysql? ( virtual/mysql )
956 + mysqli? ( >=virtual/mysql-4.1 )
957 + )
958 nls? ( sys-devel/gettext )
959 oci8-instant-client? ( dev-db/oracle-instantclient-basic )
960 odbc? ( >=dev-db/unixODBC-1.8.13 )
961 @@ -131,10 +136,15 @@ DEPEND="${DEPEND}
962 soap? ( >=dev-libs/libxml2-2.6.8 )
963 spell? ( >=app-text/aspell-0.50 )
964 sqlite? ( >=dev-db/sqlite-3.7.6.3 )
965 - ssl? ( dev-libs/openssl:0 )
966 + ssl? (
967 + !libressl? ( dev-libs/openssl:0 )
968 + libressl? ( dev-libs/libressl )
969 + )
970 + sybase-ct? ( dev-db/freetds )
971 tidy? ( app-text/htmltidy )
972 truetype? (
973 =media-libs/freetype-2*
974 + >=media-libs/t1lib-5.0.0
975 !gd? (
976 virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
977 )
978 @@ -177,15 +187,18 @@ REQUIRED_USE="
979 ldap-sasl? ( ldap )
980 mhash? ( hash )
981 phar? ( hash )
982 + libmysqlclient? ( || (
983 + mysql
984 + mysqli
985 + pdo
986 + ) )
987
988 qdbm? ( !gdbm )
989 readline? ( !libedit )
990 - recode? ( !imap !mysqli )
991 + recode? ( !imap !mysql !mysqli )
992 sharedmem? ( !threads )
993
994 - mysql? ( || ( mysqli pdo ) )
995 -
996 - || ( cli cgi fpm apache2 embed phpdbg )"
997 + !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
998
999 RDEPEND="${DEPEND}"
1000
1001 @@ -256,11 +269,9 @@ php_install_ini() {
1002
1003 # SAPI-specific handling
1004 if [[ "${sapi}" == "fpm" ]] ; then
1005 - einfo "Installing FPM config files php-fpm.conf and www.conf"
1006 + einfo "Installing FPM config file php-fpm.conf"
1007 insinto "${PHP_INI_DIR#${EPREFIX}}"
1008 doins sapi/fpm/php-fpm.conf
1009 - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
1010 - doins sapi/fpm/www.conf
1011 fi
1012
1013 dodoc php.ini-development
1014 @@ -283,6 +294,14 @@ src_prepare() {
1015 sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
1016 -i configure.in || die "Failed to fix server platform name"
1017
1018 + # Prevent PHP from activating the Apache config,
1019 + # as we will do that ourselves
1020 + sed -i \
1021 + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
1022 + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
1023 + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
1024 + || die
1025 +
1026 # Patch PHP to support heimdal instead of mit-krb5
1027 if has_version "app-crypt/heimdal" ; then
1028 sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
1029 @@ -302,16 +321,6 @@ src_prepare() {
1030 # http://bugs.php.net/bug.php?id=48795, bug #343481
1031 sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
1032 fi
1033 -
1034 - # In php-7.x, the FPM pool configuration files have been split off
1035 - # of the main config. By default the pool config files go in
1036 - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
1037 - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
1038 - # we'll install the pool configuration file "www.conf" there.
1039 - php_set_ini_dir fpm
1040 - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
1041 - sapi/fpm/php-fpm.conf.in \
1042 - || die 'failed to move the include directory in php-fpm.conf'
1043 }
1044
1045 src_configure() {
1046 @@ -359,6 +368,7 @@ src_configure() {
1047 $(use_with xml libxml-dir "${EPREFIX}/usr")
1048 $(use_enable unicode mbstring)
1049 $(use_with crypt mcrypt "${EPREFIX}/usr")
1050 + $(use_with mssql mssql "${EPREFIX}/usr")
1051 $(use_with unicode onig "${EPREFIX}/usr")
1052 $(use_with ssl openssl "${EPREFIX}/usr")
1053 $(use_with ssl openssl-dir "${EPREFIX}/usr")
1054 @@ -376,6 +386,7 @@ src_configure() {
1055 $(use_enable soap soap)
1056 $(use_enable sockets sockets)
1057 $(use_with sqlite sqlite3 "${EPREFIX}/usr")
1058 + $(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
1059 $(use_enable sysvipc sysvmsg)
1060 $(use_enable sysvipc sysvsem)
1061 $(use_enable sysvipc sysvshm)
1062 @@ -412,14 +423,13 @@ src_configure() {
1063 # Support for the GD graphics library
1064 our_conf+=(
1065 $(use_with truetype freetype-dir "${EPREFIX}/usr")
1066 + $(use_with truetype t1lib "${EPREFIX}/usr")
1067 $(use_enable cjk gd-jis-conv)
1068 $(use_with gd jpeg-dir "${EPREFIX}/usr")
1069 $(use_with gd png-dir "${EPREFIX}/usr")
1070 $(use_with xpm xpm-dir "${EPREFIX}/usr")
1071 + $(use_with vpx vpx-dir "${EPREFIX}/usr")
1072 )
1073 - if use vpx; then
1074 - our_conf+=( --with-vpx-dir="${EPREFIX}/usr" )
1075 - fi
1076 # enable gd last, so configure can pick up the previous settings
1077 our_conf+=( $(use_with gd gd) )
1078
1079 @@ -445,7 +455,10 @@ src_configure() {
1080 # MySQL support
1081 local mysqllib="mysqlnd"
1082 local mysqlilib="mysqlnd"
1083 + use libmysqlclient && mysqllib="${EPREFIX}/usr"
1084 + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
1085
1086 + our_conf+=( $(use_with mysql mysql "${mysqllib}") )
1087 our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
1088
1089 local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
1090 @@ -465,6 +478,7 @@ src_configure() {
1091 # PDO support
1092 if use pdo ; then
1093 our_conf+=(
1094 + $(use_with mssql pdo-dblib)
1095 $(use_with mysql pdo-mysql "${mysqllib}")
1096 $(use_with postgres pdo-pgsql)
1097 $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
1098 @@ -528,7 +542,7 @@ src_configure() {
1099
1100 for sapi in $SAPIS ; do
1101 case "$sapi" in
1102 - cli|cgi|embed|fpm|phpdbg)
1103 + cli|cgi|embed|fpm)
1104 if [[ "${one_sapi}" == "${sapi}" ]] ; then
1105 sapi_conf+=( "--enable-${sapi}" )
1106 else
1107 @@ -609,7 +623,7 @@ src_install() {
1108 # We're specifically not using emake install-sapi as libtool
1109 # may cause unnecessary relink failures (see bug #351266)
1110 insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
1111 - newins ".libs/libphp${PHP_MV}$(get_libname)" \
1112 + newins ".libs/libphp5$(get_libname)" \
1113 "libphp${PHP_MV}$(get_libname)"
1114 keepdir "/usr/$(get_libdir)/apache2/modules"
1115 else
1116 @@ -629,9 +643,6 @@ src_install() {
1117 embed)
1118 source="libs/libphp${PHP_MV}$(get_libname)"
1119 ;;
1120 - phpdbg)
1121 - source="sapi/phpdbg/phpdbg"
1122 - ;;
1123 *)
1124 die "unhandled sapi in src_install"
1125 ;;
1126
1127 diff --git a/dev-lang/php/php-7.0.3.ebuild b/dev-lang/php/php-7.0.4.ebuild
1128 similarity index 99%
1129 rename from dev-lang/php/php-7.0.3.ebuild
1130 rename to dev-lang/php/php-7.0.4.ebuild
1131 index f6014cd..6092aca 100644
1132 --- a/dev-lang/php/php-7.0.3.ebuild
1133 +++ b/dev-lang/php/php-7.0.4.ebuild
1134 @@ -49,7 +49,7 @@ PHP_FPM_CONF_VER="1"
1135
1136 SRC_URI="${PHP_SRC_URI}"
1137
1138 -DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
1139 +DESCRIPTION="The PHP language runtime engine"
1140 HOMEPAGE="http://php.net/"
1141 LICENSE="PHP-3"
1142
1143 @@ -67,8 +67,8 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
1144 crypt +ctype curl debug
1145 enchant exif frontbase +fileinfo +filter firebird
1146 flatfile ftp gd gdbm gmp +hash +iconv imap inifile
1147 - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
1148 - mysql mysqli nls
1149 + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
1150 + mhash mysql mysqli nls
1151 oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
1152 readline recode selinux +session sharedmem
1153 +simplexml snmp soap sockets spell sqlite ssl
1154 @@ -131,7 +131,10 @@ DEPEND="${DEPEND}
1155 soap? ( >=dev-libs/libxml2-2.6.8 )
1156 spell? ( >=app-text/aspell-0.50 )
1157 sqlite? ( >=dev-db/sqlite-3.7.6.3 )
1158 - ssl? ( dev-libs/openssl:0 )
1159 + ssl? (
1160 + !libressl? ( dev-libs/openssl:0 )
1161 + libressl? ( dev-libs/libressl )
1162 + )
1163 tidy? ( app-text/htmltidy )
1164 truetype? (
1165 =media-libs/freetype-2*