From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/, dev-lang/php/files/
Date: Fri, 16 Aug 2024 21:39:41 +0000 (UTC) [thread overview]
Message-ID: <1723844097.09a4b7ed4f24d04730e19ae146317c2032c81eac.mjo@gentoo> (raw)
commit: 09a4b7ed4f24d04730e19ae146317c2032c81eac
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 21:32:51 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 21:34:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09a4b7ed
dev-lang/php: add 8.2.22, upgrade 8.3.9 -> 8.3.10
Sorry for the big test patch (again). It's been upstream for a long time
but keeps getting overlooked when cutting the releases.
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
dev-lang/php/Manifest | 3 +-
...tch => php-8.3.10-optional-png-testfixen.patch} | 28 ---
.../php/{php-8.3.9.ebuild => php-8.2.22.ebuild} | 278 +++++++++++++--------
.../php/{php-8.3.9.ebuild => php-8.3.10.ebuild} | 2 +-
4 files changed, 178 insertions(+), 133 deletions(-)
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 0f0436a4d5b4..8bfd4776ccb2 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,3 +1,4 @@
DIST php-8.1.29.tar.xz 11826292 BLAKE2B 471f85504531c61e534c857a854de2ce9935b263e002deee19c4508390f6b2a11f89a02f55a90d660ee8d537b22a45db057e24373fb17fd2edf45f6e458f0196 SHA512 fd4f75224f71111a4cc40b3015ae70ac57a623326a3299da9ab8bd9dfad4ea27ff345d0eb75f1407d183207e763d372d738bbd8d217d01ec1414d29a547e8ba7
DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe327669c007f2e2a665ae14f5a045f6ad8a0a972f32618f88ea1ff3636c2692504478b5b094b48404d6c4a214f863b SHA512 c659ed4809b6507aa428b483c85c7322815ac9d7d8e4bfe575513a5e69c5a680b8d089fd98a19f83d3a00df3de61468809f21408455913aa24d519776e44abc5
-DIST php-8.3.9.tar.xz 12470616 BLAKE2B 44cc360c91b121f6fe1c768134d2e5e355fe1ab23ebefb98e60e878755e79b0bd31fa46a435eb5c3dabf034fb7b4bd785db014dc63f40331a6b168a14d849571 SHA512 f6291b71cf2c66f9effc2a8a7b0365364481cd5532551161194376893074f1f20dc7e9dbd628727e3b07460ac63b6d38bf4871bf4976e2b3b290f230b0111360
+DIST php-8.2.22.tar.xz 12099476 BLAKE2B 8c6c664f0d48ce839971e5316b6c6619434babdf26013709589b2c5e91a63d79eddc3d716762ff1714620e7e5e35cf24f06eb270931dc6f15603e233c34728af SHA512 b72df5bf8bde09571a965f512b970e2403f1c9b26fbf9efc4d1aeb5940def10e4088e5c7dbb06087b2f5206d711e34849b0726af6a81b0c3b6d9bcbd14f5172d
+DIST php-8.3.10.tar.xz 12484660 BLAKE2B a2cb60f83eea13aff7c907f322733a78f3d02bc334666a5350d795a84433252e0b27468f23eecc654fcfe882464da2699669bed247b7f4eaf40138bfb3773656 SHA512 99dc53cef802304dba455b7e1e54183e780fa21a58ec044ee5eac34d24fc9e5a1390447c18a3ef0035ef3dc531fc817016b47edab5b2e90af1233a73b59517be
diff --git a/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch b/dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch
similarity index 97%
rename from dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch
rename to dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch
index 04b55b3b6b81..def26884ef2f 100644
--- a/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch
+++ b/dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch
@@ -1247,31 +1247,3 @@ index 29cc89c1c56eb..a7be335ca92a6 100644
--FILE--
<?php
-From fa043f4716dcbd21630e16584e2d8d6baf17c77d Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Wed, 10 Jul 2024 08:20:31 -0400
-Subject: [PATCH 1/1] ext/gd/tests/gh10614.phpt: skip if no PNG support
-
-This test uses imagecreatefrompng(), which won't be there if libgd was
-built without PNG support.
----
- ext/gd/tests/gh10614.phpt | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ext/gd/tests/gh10614.phpt b/ext/gd/tests/gh10614.phpt
-index c068914183..1b91115d74 100644
---- a/ext/gd/tests/gh10614.phpt
-+++ b/ext/gd/tests/gh10614.phpt
-@@ -5,6 +5,9 @@
- --SKIPIF--
- <?php
- if (!GD_BUNDLED && version_compare(GD_VERSION, '2.3.4', '>=')) die("skip test requires GD 2.3.4 or older");
-+if (!(imagetypes() & IMG_PNG)) {
-+ die("skip No PNG support");
-+}
- ?>
- --FILE--
- <?php
---
-2.44.2
-
diff --git a/dev-lang/php/php-8.3.9.ebuild b/dev-lang/php/php-8.2.22.ebuild
similarity index 77%
copy from dev-lang/php/php-8.3.9.ebuild
copy to dev-lang/php/php-8.2.22.ebuild
index f0b4e07fb29d..b56a009d4a5b 100644
--- a/dev-lang/php/php-8.3.9.ebuild
+++ b/dev-lang/php/php-8.2.22.ebuild
@@ -5,7 +5,7 @@ EAPI=8
WANT_AUTOMAKE="none"
-inherit autotools flag-o-matic multilib systemd
+inherit flag-o-matic multilib systemd autotools
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
@@ -16,6 +16,7 @@ LICENSE="PHP-3.01
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
+ gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
@@ -30,22 +31,29 @@ IUSE="${IUSE}
threads"
IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar
- capstone cdb +ctype curl debug
+ cdb cjk +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb
+ intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
- odbc +opcache +opcache-jit pcntl pdo +phar +posix postgres png
- qdbm readline selinux +session session-mm sharedmem
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode
valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
+ avif? ( gd zlib )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
@@ -53,6 +61,7 @@ REQUIRED_USE="
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
+ oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
@@ -67,57 +76,58 @@ RESTRICT="!test? ( test )"
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
- app-eselect/eselect-php[apache2?,fpm?]
- dev-libs/libpcre2[jit?,unicode]
+ >=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
virtual/libcrypt:=
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
+ avif? ( media-libs/libavif:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
- capstone? ( dev-libs/capstone )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- curl? ( net-misc/curl )
+ curl? ( >=net-misc/curl-7.29.0 )
enchant? ( app-text/enchant:2 )
- ffi? ( dev-libs/libffi:= )
+ ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
- gd? (
- >=media-libs/gd-2.3.3-r4[avif?,jpeg?,png?,truetype?,webp?,xpm?]
- )
- gdbm? ( sys-libs/gdbm:0= )
+ gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( net-libs/c-client[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
+ ldap? ( >=net-nds/openldap-1.2.11:= )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( dev-db/unixODBC ) )
- postgres? ( dev-db/postgresql:* )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+ postgres? ( >=dev-db/postgresql-9.1:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
- snmp? ( net-analyzer/net-snmp )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium:=[-minimal(-)] )
- spell? ( app-text/aspell )
- sqlite? ( dev-db/sqlite )
- ssl? ( dev-libs/openssl:0= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? ( >=dev-libs/openssl-1.0.2:0= )
tidy? ( app-text/htmltidy )
tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( media-libs/freetype )
+ truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
valgrind? ( dev-debug/valgrind )
- xml? ( >=dev-libs/libxml2-2.12.5 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.9.0 )
+ xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
- zip? ( dev-libs/libzip:= )
- zlib? ( sys-libs/zlib:0= )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
-IDEPEND="app-eselect/eselect-php[apache2?,fpm?]"
+IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]"
RDEPEND="${COMMON_DEPEND}
virtual/mta
@@ -130,17 +140,19 @@ RDEPEND="${COMMON_DEPEND}
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
- sys-devel/bison"
+ >=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
+PHP_MV="$(ver_cut 1)"
+
PATCHES=(
- "${FILESDIR}/php-8.3.9-optional-png-testfixen.patch"
- "${FILESDIR}/php-8.3.9-gd-cachevars.patch"
+ "${FILESDIR}/php-iodbc-header-location.patch"
+ "${FILESDIR}/php-capstone-optional.patch"
+ "${FILESDIR}/php-8.2.8-openssl-tests.patch"
+ "${FILESDIR}/php-8.2.20-implicit-printf.patch"
)
-PHP_MV="$(ver_cut 1)"
-
# ARM/Windows functions (bug 923335)
QA_CONFIG_IMPL_DECL_SKIP=(
__crc32d
@@ -164,14 +176,15 @@ php_install_ini() {
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
- # Set the include path to point to where we want to find PEAR
- # packages
- local sed_src='^;include_path = ".:/php.*'
- local include_path="."
- include_path+=":${EPREFIX}/usr/share/php${PHP_MV}"
- include_path+=":${EPREFIX}/usr/share/php"
- local sed_dst="include_path = \"${include_path}\""
- sed -e "s|${sed_src}|${sed_dst}|" -i "${phpinisrc}" || die
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
@@ -184,7 +197,7 @@ php_install_ini() {
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
- echo "zend_extension = opcache.so" >> \
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
@@ -221,12 +234,62 @@ src_prepare() {
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
+ # Emulate buildconf to support cross-compilation
+ rm -fr aclocal.m4 autom4te.cache config.cache \
+ configure main/php_config.h.in || die
+ eautoconf --force
+ eautoheader
+
+ # missing skipif; fixed upstream already
+ rm sapi/cgi/tests/005.phpt || die
+
+ # These three get BORKED on no-ipv6 systems,
+ #
+ # https://github.com/php/php-src/pull/11651
+ #
+ rm ext/sockets/tests/mcast_ipv6_recv.phpt \
+ ext/sockets/tests/mcast_ipv6_recv_limited.phpt \
+ ext/sockets/tests/mcast_ipv6_send.phpt \
+ || die
+
# fails in a network sandbox,
#
# https://github.com/php/php-src/issues/11662
#
rm ext/sockets/tests/bug63000.phpt || die
+ # expected output needs to be updated,
+ #
+ # https://github.com/php/php-src/pull/11648
+ #
+ rm ext/dba/tests/dba_tcadb.phpt || die
+
+ # Two IMAP tests missing SKIPIFs,
+ #
+ # https://github.com/php/php-src/pull/11654
+ #
+ rm ext/imap/tests/imap_mutf7_to_utf8.phpt \
+ ext/imap/tests/imap_utf8_to_mutf7_basic.phpt \
+ || die
+
+ # broken upstream with icu-73.x,
+ #
+ # https://github.com/php/php-src/issues/11128
+ #
+ rm ext/intl/tests/calendar_clear_variation1.phpt || die
+
+ # overly sensitive to INI values; fixes sent upstream:
+ #
+ # https://github.com/php/php-src/pull/11631
+ #
+ rm ext/session/tests/{bug74514,bug74936,gh7787}.phpt || die
+
+ # This is sensitive to the current "nice" level:
+ #
+ # https://github.com/php/php-src/issues/11630
+ #
+ rm ext/standard/tests/general_functions/proc_nice_basic.phpt || die
+
# Tests ignoring the "-n" flag we pass to run-tests.php,
#
# https://github.com/php/php-src/pull/11669
@@ -245,12 +308,38 @@ src_prepare() {
sapi/cli/tests/bug78323.phpt \
|| die
+ # Same TEST_PHP_EXTRA_ARGS (-n) issue with this one, but it's
+ # already been fixed upstream.
+ rm sapi/cli/tests/017.phpt || die
+
+ # Most Oracle tests are borked,
+ #
+ # * https://github.com/php/php-src/issues/11804
+ # * https://github.com/php/php-src/pull/11820
+ # * https://github.com/php/php-src/issues/11819
+ #
+ rm ext/oci8/tests/*.phpt || die
+
+ # https://github.com/php/php-src/issues/12801
+ rm ext/pcre/tests/gh11374.phpt || die
+
# This is a memory usage test with hard-coded limits. Whenever the
# limits are surpassed... they get increased... but in the meantime,
# the tests fail. This is not really a test that end users should
# be running pre-install, in my opinion. Bug 927461.
rm ext/fileinfo/tests/bug78987.phpt || die
+ # glibc-2.39 compatibility, fixed upstream in
+ # https://github.com/php/php-src/pull/14097
+ rm ext/standard/tests/strings/setlocale_variation3.phpt || die
+
+ # The expected warnings aren't triggered in this test because we
+ # define session.save_path on the CLI:
+ #
+ # https://github.com/php/php-src/issues/14368
+ #
+ rm ext/session/tests/gh13856.phpt || die
+
# Bug 935382, fixed eventually by
#
# - https://github.com/php/php-src/pull/14788
@@ -266,25 +355,8 @@ src_prepare() {
#
rm ext/dba/tests/dba_gdbm.phpt || die
- # Most tests failing with an external libgd have been fixed,
- # but there are a few stragglers:
- #
- # * https://github.com/php/php-src/issues/11252
- #
- rm ext/gd/tests/bug43073.phpt \
- ext/gd/tests/bug48732.phpt \
- ext/gd/tests/bug48732-mb.phpt \
- ext/gd/tests/bug48801.phpt \
- ext/gd/tests/bug48801-mb.phpt \
- ext/gd/tests/bug53504.phpt \
- ext/gd/tests/bug65148.phpt \
- ext/gd/tests/bug73272.phpt \
- || die
-
- # One-off, somebody forgot to update a version constant
- rm ext/reflection/tests/ReflectionZendExtension.phpt || die
-
- eautoconf --force
+ # https://github.com/php/php-src/pull/14439
+ rm ext/openssl/tests/bug74341.phpt || die
}
src_configure() {
@@ -323,10 +395,10 @@ src_configure() {
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_with avif)
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
- $(use_with capstone)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
@@ -351,7 +423,6 @@ src_configure() {
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
- $(use_enable opcache-jit)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with selinux fpm-selinux)
@@ -378,17 +449,6 @@ src_configure() {
$(use_with valgrind)
)
- # Override autoconf cache variables for libcrypt algorithms.These
- # otherwise cannot be detected when cross-compiling. Bug 931884.
- our_conf+=(
- ac_cv_crypt_blowfish=yes
- ac_cv_crypt_des=yes
- ac_cv_crypt_ext_des=yes
- ac_cv_crypt_md5=yes
- ac_cv_crypt_sha512=yes
- ac_cv_crypt_sha256=yes
- )
-
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
@@ -407,20 +467,16 @@ src_configure() {
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
- # Use the system copy of GD. The autoconf cache variable overrides
- # allow cross-compilation to proceed since the corresponding
- # features cannot be detected by running a program.
+ # Support for the GD graphics library
our_conf+=(
- $(use_enable gd gd)
- $(use_with gd external-gd)
- php_cv_lib_gd_gdImageCreateFromAvif=$(usex avif)
- php_cv_lib_gd_gdImageCreateFromBmp=yes
- php_cv_lib_gd_gdImageCreateFromJpeg=$(usex jpeg)
- php_cv_lib_gd_gdImageCreateFromPng=$(usex png)
- php_cv_lib_gd_gdImageCreateFromTga=yes
- php_cv_lib_gd_gdImageCreateFromWebp=$(usex webp)
- php_cv_lib_gd_gdImageCreateFromXpm=$(usex xpm)
+ $(use_with truetype freetype)
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
)
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
@@ -448,22 +504,10 @@ src_configure() {
# ODBC support
if use odbc && use iodbc ; then
- # Obtain the correct -l and -I flags for the actual build from
- # pkg-config. We use the "generic" library type to avoid the
- # (wrong) hard-coded include dir for iodbc.
- #
- # We set the pdo_odbc_def_incdir variable because the
- # ./configure script checks for the headers using "test -f" and
- # ignores your CFLAGS... and pdo_odbc_def_libdir prevents the
- # build system from appending a nonsense -L flag.
- local iodbc_ldflags=$(pkg-config --libs libiodbc)
- local iodbc_cflags=$(pkg-config --cflags libiodbc)
our_conf+=(
- pdo_odbc_def_libdir="${EPREFIX}/usr/$(get_libdir)"
- pdo_odbc_def_incdir="${EPREFIX}/usr/include/iodbc"
--without-unixODBC
--with-iodbc
- $(use_with pdo pdo-odbc "generic,,iodbc,${iodbc_ldlags},${iodbc_cflags}")
+ $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
@@ -479,6 +523,9 @@ src_configure() {
)
fi
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
# PDO support
if use pdo ; then
our_conf+=(
@@ -487,6 +534,7 @@ src_configure() {
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
)
fi
@@ -534,10 +582,6 @@ src_configure() {
# in main/build-defs.h which is included in main/php.h which is
# included by basically everything; so, avoiding a rebuild after
# changing it is not an easy job.
- #
- # The upstream build system also does not support building the
- # apache2 and embed SAPIs at the same time, presumably because they
- # both produce a libphp.so.
local one_sapi
local sapi
mkdir "${WORKDIR}/sapis-build" || die
@@ -599,6 +643,17 @@ src_compile() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
+ if use oci8-instant-client && use kerberos && use imap && use phar; then
+ # A conspiracy takes place when the first three of these flags
+ # are set together, causing the newly-built "php" to open
+ # /dev/urandom with mode rw when it starts. That's not actually
+ # a problem... unless you also have USE=phar, which runs that
+ # "php" to build some phar thingy in src_compile(). Later in
+ # src_test(), portage (at least) sets "addpredict /" so the
+ # problem does not repeat.
+ addpredict /dev/urandom #nowarn
+ fi
+
local sapi
for sapi in ${SAPIS} ; do
use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}"
@@ -618,15 +673,20 @@ src_install() {
fi
done
- # Install SAPI-independent targets
+ # Makefile forgets to create this before trying to write to it...
+ dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+ # Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
- use opcache && emake INSTALL_ROOT="${D}" install-modules
+
+ local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
+ local file=""
local sapi_list=""
for sapi in ${SAPIS}; do
@@ -692,6 +752,12 @@ src_install() {
fi
done
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
@@ -729,6 +795,11 @@ src_test() {
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
+ # The sendmail override prevents ext/imap/tests/bug77020.phpt from
+ # actually trying to send mail, and will be fixed upstream soon:
+ #
+ # https://github.com/php/php-src/issues/11629
+ #
# The IO capture tests need to be disabled because they fail when
# std{in,out,err} are redirected (as they are within portage).
#
@@ -738,6 +809,7 @@ src_test() {
"${TEST_PHP_EXECUTABLE}" -n \
"${WORKDIR}/sapis-build/cli/run-tests.php" --offline -n -q \
-d "session.save_path=${T}" \
+ -d "sendmail_path=echo >/dev/null" \
|| die "tests failed"
}
diff --git a/dev-lang/php/php-8.3.9.ebuild b/dev-lang/php/php-8.3.10.ebuild
similarity index 99%
rename from dev-lang/php/php-8.3.9.ebuild
rename to dev-lang/php/php-8.3.10.ebuild
index f0b4e07fb29d..5abc04930731 100644
--- a/dev-lang/php/php-8.3.9.ebuild
+++ b/dev-lang/php/php-8.3.10.ebuild
@@ -135,7 +135,7 @@ DEPEND="${COMMON_DEPEND}
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}/php-8.3.9-optional-png-testfixen.patch"
+ "${FILESDIR}/php-8.3.10-optional-png-testfixen.patch"
"${FILESDIR}/php-8.3.9-gd-cachevars.patch"
)
next reply other threads:[~2024-08-16 21:39 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-16 21:39 Michael Orlitzky [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-03-15 16:59 [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/, dev-lang/php/files/ Michael Orlitzky
2024-09-22 14:08 Michael Orlitzky
2024-09-22 12:20 Michael Orlitzky
2024-07-06 0:46 Michael Orlitzky
2024-02-08 0:32 Michael Orlitzky
2024-02-07 14:45 Michael Orlitzky
2023-07-31 0:53 Michael Orlitzky
2023-02-20 19:43 Brian Evans
2022-01-21 15:05 Brian Evans
2021-11-24 14:16 Brian Evans
2021-10-25 14:42 Brian Evans
2021-02-25 19:23 Brian Evans
2019-12-06 17:27 Brian Evans
2018-12-07 0:01 Thomas Deutschmann
2018-04-04 13:21 Brian Evans
2016-12-19 18:45 Brian Evans
2016-10-26 14:52 Brian Evans
2016-08-04 19:04 Michael Orlitzky
2015-11-29 21:38 Michael Orlitzky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1723844097.09a4b7ed4f24d04730e19ae146317c2032c81eac.mjo@gentoo \
--to=mjo@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox