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