Gentoo Archives: gentoo-commits

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