public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/files/, profiles/, dev-lang/php/
@ 2020-01-23 16:31 Brian Evans
  0 siblings, 0 replies; 2+ messages in thread
From: Brian Evans @ 2020-01-23 16:31 UTC (permalink / raw
  To: gentoo-commits

commit:     364e0decedaf1e8990bc88be05545544e15f5f6e
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 23 16:29:57 2020 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 16:29:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=364e0dec

dev-lang/php: Drop 7.1 slot

Signed-off-by: Brian Evans <grknight <AT> gentoo.org>

 dev-lang/php/Manifest                              |   1 -
 .../files/php-7.1.25-intl-use-icu-namespace.patch  | 379 -----------
 dev-lang/php/php-7.1.33.ebuild                     | 739 ---------------------
 profiles/package.mask                              |   6 -
 4 files changed, 1125 deletions(-)

diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index ca57a2a8c75..921365da2df 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,4 +1,3 @@
-DIST php-7.1.33.tar.xz 12370228 BLAKE2B 610f501c1729ca3f5fa6f104b9f229046cf1e497f2fdc1194b80b4a5f9ca7f799dc6a458de34dd7a87976b7252ba2f548a8d689e4b2a45c025f1807ab8489f12 SHA512 ed37a79e3402c767f20e55c1cbe27957cc78240eafc719fffccd7d29ae10a45112aa0f29082f56133cd9c25f2750e9e57246d95b4f38d766f49bd29d1397eb1d
 DIST php-7.2.26.tar.xz 12309176 BLAKE2B 2208aee696fc2aed50b4f08f2dd7ca0f70d9913c22091687f6c694a343e4b5fd5e1f0d0b6b127fe0c00c5611cb60e627c2257a1fad9bff6e9fc8bb921e1eb57d SHA512 457e3420120135e311a22cd11529d5a3efc5885af4f298196f403093141801619d4dcdb38d6a4a5f8d9dcfa619688d8fdf33fea4a30e2d885e987b739a268f12
 DIST php-7.2.27.tar.xz 12307512 BLAKE2B 8d51a1a88c718ba9ef683e190f9ed80b46fccfc7b237d9175f5db3012a3d4ae8f698dbe6b2b8f233121be6d08e28bdb1062a357dd6ae2df5228a7e56c8604807 SHA512 02416e2bdfcd47ef660c7403ca25c7358c2f9a685b1dee6a2a95c52d1b1178666f9fa0bb32dc070cfd09febb5c44ecdb70116546142369d7ead4432634dc38c5
 DIST php-7.3.13.tar.xz 12102012 BLAKE2B 32a346470ea0d0a3db873ae94b5e4dcc650c25e24db244ea94417f092e0458a0825cb99e9c3429000ee5cbd50120824d9bd2a58a7ed2ada1f39c6d7c41b2ba08 SHA512 d0624b3b841fed49d9cea56b17e7c8c7abf8e6572832b6f86c98f48c23f86690c310b460eae27a6fcd41fbfbc2e8a4b56f6bfb0c738fa1db36ce3795454d7798

diff --git a/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch b/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch
deleted file mode 100644
index 5a1cc472f10..00000000000
--- a/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch
+++ /dev/null
@@ -1,379 +0,0 @@
-Based on the following upstream commits:
-
-https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22
-https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7
-https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52
-
---- a/ext/intl/breakiterator/breakiterator_class.cpp
-+++ b/ext/intl/breakiterator/breakiterator_class.cpp
-@@ -38,6 +38,7 @@ extern "C" {
- }
- 
- using PHP::CodePointBreakIterator;
-+using icu::RuleBasedBreakIterator;
- 
- /* {{{ Global variables */
- zend_class_entry *BreakIterator_ce_ptr;
---- a/ext/intl/breakiterator/breakiterator_class.h
-+++ b/ext/intl/breakiterator/breakiterator_class.h
-@@ -26,6 +26,8 @@
- 
- #ifndef USE_BREAKITERATOR_POINTER
- typedef void BreakIterator;
-+#else
-+using icu::BreakIterator;
- #endif
- 
- typedef struct {
---- a/ext/intl/breakiterator/breakiterator_methods.cpp
-+++ b/ext/intl/breakiterator/breakiterator_methods.cpp
-@@ -32,6 +32,8 @@ extern "C" {
- }
- 
- using PHP::CodePointBreakIterator;
-+using icu::BreakIterator;
-+using icu::Locale;
- 
- U_CFUNC PHP_METHOD(BreakIterator, __construct)
- {
---- a/ext/intl/breakiterator/codepointiterator_internal.cpp
-+++ b/ext/intl/breakiterator/codepointiterator_internal.cpp
-@@ -33,6 +33,8 @@ typedef union {
- 
- using namespace PHP;
- 
-+using icu::UCharCharacterIterator;
-+
- UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator);
- 
- CodePointBreakIterator::CodePointBreakIterator()
---- a/ext/intl/breakiterator/codepointiterator_internal.h
-+++ b/ext/intl/breakiterator/codepointiterator_internal.h
-@@ -18,8 +18,11 @@
- #define CODEPOINTITERATOR_INTERNAL_H
- 
- #include <unicode/brkiter.h>
-+#include <unicode/unistr.h>
- 
--using U_ICU_NAMESPACE::BreakIterator;
-+using icu::BreakIterator;
-+using icu::CharacterIterator;
-+using icu::UnicodeString;
- 
- namespace PHP {
- 
---- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
-+++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
-@@ -26,6 +26,9 @@ extern "C" {
- #include "../intl_convertcpp.h"
- #include "../intl_common.h"
- 
-+using icu::RuleBasedBreakIterator;
-+using icu::Locale;
-+
- static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) {
- 	return (RuleBasedBreakIterator*)bio->biter;
- }
---- a/ext/intl/calendar/calendar_class.cpp
-+++ b/ext/intl/calendar/calendar_class.cpp
-@@ -34,6 +34,9 @@ extern "C" {
- #include <assert.h>
- }
- 
-+using icu::GregorianCalendar;
-+using icu::Locale;
-+
- /* {{{ Global variables */
- zend_class_entry *Calendar_ce_ptr;
- zend_class_entry *GregorianCalendar_ce_ptr;
---- a/ext/intl/calendar/calendar_class.h
-+++ b/ext/intl/calendar/calendar_class.h
-@@ -26,6 +26,8 @@
- 
- #ifndef USE_CALENDAR_POINTER
- typedef void Calendar;
-+#else
-+using icu::Calendar;
- #endif
- 
- typedef struct {
---- a/ext/intl/calendar/calendar_methods.cpp
-+++ b/ext/intl/calendar/calendar_methods.cpp
-@@ -40,6 +40,8 @@ extern "C" {
- }
- #include "../common/common_enum.h"
- 
-+using icu::Locale;
-+
- U_CFUNC PHP_METHOD(IntlCalendar, __construct)
- {
- 	zend_throw_exception( NULL,
---- a/ext/intl/calendar/gregoriancalendar_methods.cpp
-+++ b/ext/intl/calendar/gregoriancalendar_methods.cpp
-@@ -23,6 +23,8 @@
- #include <unicode/locid.h>
- #include <unicode/calendar.h>
- #include <unicode/gregocal.h>
-+#include <unicode/ustring.h>
-+
- extern "C" {
- #include "../php_intl.h"
- #include "../intl_common.h"
-@@ -34,6 +36,11 @@ extern "C" {
- #include "zend_exceptions.h"
- }
- 
-+using icu::GregorianCalendar;
-+using icu::Locale;
-+using icu::UnicodeString;
-+using icu::StringPiece;
-+
- static inline GregorianCalendar *fetch_greg(Calendar_object *co) {
- 	return (GregorianCalendar*)co->ucal;
- }
---- a/ext/intl/common/common_date.cpp
-+++ b/ext/intl/common/common_date.cpp
-@@ -25,6 +25,9 @@ extern "C" {
- #include <ext/date/php_date.h>
- }
- 
-+using icu::TimeZone;
-+using icu::UnicodeString;
-+
- #ifndef INFINITY
- #define INFINITY (DBL_MAX+DBL_MAX)
- #endif
---- a/ext/intl/common/common_date.h
-+++ b/ext/intl/common/common_date.h
-@@ -28,6 +28,8 @@ U_CDECL_END
- 
- #include <unicode/timezone.h>
- 
-+using icu::TimeZone;
-+
- U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func);
- U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz,
- 		intl_error *err, const char *func);
---- a/ext/intl/common/common_enum.h
-+++ b/ext/intl/common/common_enum.h
-@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter);
- U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter);
- 
- #ifdef __cplusplus
-+using icu::StringEnumeration;
- U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object);
- #endif
- 
---- a/ext/intl/converter/converter.c
-+++ b/ext/intl/converter/converter.c
-@@ -18,6 +18,8 @@
- #include "zend_exceptions.h"
- 
- #include <unicode/utypes.h>
-+#include <unicode/utf8.h>
-+#include <unicode/utf16.h>
- #include <unicode/ucnv.h>
- #include <unicode/ustring.h>
- 
---- a/ext/intl/dateformat/dateformat_format_object.cpp
-+++ b/ext/intl/dateformat/dateformat_format_object.cpp
-@@ -33,6 +33,12 @@ extern "C" {
- #include "../common/common_date.h"
- }
- 
-+using icu::Locale;
-+using icu::DateFormat;
-+using icu::GregorianCalendar;
-+using icu::StringPiece;
-+using icu::SimpleDateFormat;
-+
- static const DateFormat::EStyle valid_styles[] = {
- 		DateFormat::kNone,
- 		DateFormat::kFull,
---- a/ext/intl/dateformat/dateformat_helpers.cpp
-+++ b/ext/intl/dateformat/dateformat_helpers.cpp
-@@ -28,6 +28,8 @@ extern "C" {
- #include "../calendar/calendar_class.h"
- }
- 
-+using icu::GregorianCalendar;
-+
- int datefmt_process_calendar_arg(zval* calendar_zv,
- 								 Locale const& locale,
- 								 const char *func_name,
---- a/ext/intl/dateformat/dateformat_helpers.h
-+++ b/ext/intl/dateformat/dateformat_helpers.h
-@@ -22,11 +22,16 @@
- #endif
- 
- #include <unicode/calendar.h>
-+#include <unicode/datefmt.h>
- 
- extern "C" {
- #include "../php_intl.h"
- }
- 
-+using icu::Locale;
-+using icu::Calendar;
-+using icu::DateFormat;
-+
- int datefmt_process_calendar_arg(zval* calendar_zv,
- 								 Locale const& locale,
- 								 const char *func_name,
---- a/ext/intl/grapheme/grapheme_string.c
-+++ b/ext/intl/grapheme/grapheme_string.c
-@@ -24,6 +24,7 @@
- #include "grapheme_util.h"
- 
- #include <unicode/utypes.h>
-+#include <unicode/utf8.h>
- #include <unicode/ucol.h>
- #include <unicode/ustring.h>
- #include <unicode/ubrk.h>
-@@ -835,10 +836,10 @@ PHP_FUNCTION(grapheme_extract)
- 	pstr = str + start;
- 
- 	/* just in case pstr points in the middle of a character, move forward to the start of the next char */
--	if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
--		char *str_end = str + str_len;
-+	if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
-+		unsigned char *str_end = str + str_len;
- 
--		while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
-+		while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
- 			pstr++;
- 			if ( pstr >= str_end ) {
- 				intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR,
---- a/ext/intl/intl_convertcpp.h
-+++ b/ext/intl/intl_convertcpp.h
-@@ -26,6 +26,8 @@
- #include <unicode/unistr.h>
- #include <zend_types.h>
- 
-+using icu::UnicodeString;
-+
- int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status);
- 
- zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status);
---- a/ext/intl/msgformat/msgformat_helpers.cpp
-+++ b/ext/intl/msgformat/msgformat_helpers.cpp
-@@ -78,6 +78,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
- #endif
- U_NAMESPACE_END
- 
-+using icu::Formattable;
-+using icu::Format;
-+using icu::DateFormat;
-+using icu::MessageFormat;
-+#ifdef HAS_MESSAGE_PATTERN
-+using icu::MessagePattern;
-+#endif
-+using icu::MessageFormatAdapter;
-+using icu::FieldPosition;
-+
- U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt)
- {
- 	int32_t fmt_count = 0;
-@@ -229,15 +239,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
- 					UnicodeString typeString = mp.getSubstring(type_part);
- 					/* This is all based on the rules in the docs for MessageFormat
- 					 * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */
--					if (typeString == "number") {
-+#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1)
-+					if (typeString == ASCII_LITERAL("number")) {
- 						MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */
- 						if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) {
- 							UnicodeString styleString = mp.getSubstring(style_part);
--							if (styleString == "integer") {
-+							if (styleString == ASCII_LITERAL("integer")) {
- 								type = Formattable::kInt64;
--							} else if (styleString == "currency") {
-+							} else if (styleString == ASCII_LITERAL("currency")) {
- 								type = Formattable::kDouble;
--							} else if (styleString == "percent") {
-+							} else if (styleString == ASCII_LITERAL("percent")) {
- 								type = Formattable::kDouble;
- 							} else { /* some style invalid/unknown to us */
- 								type = Formattable::kDouble;
-@@ -245,12 +256,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
- 						} else { // if missing style, part, make it a double
- 							type = Formattable::kDouble;
- 						}
--					} else if ((typeString == "date") || (typeString == "time")) {
-+					} else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) {
- 						type = Formattable::kDate;
--					} else if ((typeString == "spellout") || (typeString == "ordinal")
--							|| (typeString == "duration")) {
-+					} else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal"))
-+							|| (typeString == ASCII_LITERAL("duration"))) {
- 						type = Formattable::kDouble;
- 					}
-+#undef ASCII_LITERAL
- 				} else {
- 					/* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a
- 					 * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern
---- a/ext/intl/normalizer/normalizer_normalize.c
-+++ b/ext/intl/normalizer/normalizer_normalize.c
-@@ -24,6 +24,7 @@
- #include "normalizer_class.h"
- #include "normalizer_normalize.h"
- #include "intl_convert.h"
-+#include <unicode/utf8.h>
- 
- /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] )
-  * Normalize a string. }}} */
---- a/ext/intl/timezone/timezone_class.cpp
-+++ b/ext/intl/timezone/timezone_class.cpp
-@@ -37,6 +37,8 @@ extern "C" {
- #include <ext/date/php_date.h>
- }
- 
-+using icu::Calendar;
-+
- /* {{{ Global variables */
- U_CDECL_BEGIN
- zend_class_entry *TimeZone_ce_ptr = NULL;
---- a/ext/intl/timezone/timezone_class.h
-+++ b/ext/intl/timezone/timezone_class.h
-@@ -29,6 +29,8 @@
- 
- #ifndef USE_TIMEZONE_POINTER
- typedef void TimeZone;
-+#else
-+using icu::TimeZone;
- #endif
- 
- typedef struct {
---- a/ext/intl/timezone/timezone_methods.cpp
-+++ b/ext/intl/timezone/timezone_methods.cpp
-@@ -23,6 +23,7 @@
- #include <unicode/locid.h>
- #include <unicode/timezone.h>
- #include <unicode/ustring.h>
-+#include <unicode/calendar.h>
- #include "intl_convertcpp.h"
- 
- #include "../common/common_date.h"
-@@ -37,6 +38,9 @@ extern "C" {
- }
- #include "common/common_enum.h"
- 
-+using icu::Locale;
-+using icu::Calendar;
-+
- U_CFUNC PHP_METHOD(IntlTimeZone, __construct)
- {
- 	zend_throw_exception( NULL,
---- a/ext/intl/uchar/uchar.c
-+++ b/ext/intl/uchar/uchar.c
-@@ -3,6 +3,7 @@
- #include "intl_convert.h"
- 
- #include <unicode/uchar.h>
-+#include <unicode/utf8.h>
- 
- #define IC_METHOD(mname) PHP_METHOD(IntlChar, mname)
- 
--- 
-2.19.2
-

diff --git a/dev-lang/php/php-7.1.33.ebuild b/dev-lang/php/php-7.1.33.ebuild
deleted file mode 100644
index 7ab761dd6e1..00000000000
--- a/dev-lang/php/php-7.1.33.ebuild
+++ /dev/null
@@ -1,739 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${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
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# 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
-
-	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 sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		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
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}

diff --git a/profiles/package.mask b/profiles/package.mask
index 08ea2d77ee7..ce060cdc478 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -672,12 +672,6 @@ sci-libs/naga
 sci-libs/spooles
 sci-libs/vecmath-objectclub
 
-# Brian Evans <grknight@gentoo.org> (2019-12-19)
-# PHP 7.1 is end of life and has security issues Bug 703326
-# Associated packages are not ready for new versions tracked in bug 702110
-# Removal in 30 days
-dev-lang/php:7.1
-
 # Tomáš Mózes <hydrapolic@gentoo.org> (2019-12-19)
 # Needs more testing.
 =app-emulation/xen-4.13.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/files/, profiles/, dev-lang/php/
@ 2023-09-15  7:52 David Seifert
  0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2023-09-15  7:52 UTC (permalink / raw
  To: gentoo-commits

commit:     e8d2efcc6257f0f976c80d31349d65a24fde1c9c
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 07:52:24 2023 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 07:52:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8d2efcc

dev-lang/php: drop 7.4.33-r4, 7.4.33-r5, 7.4.33-r6

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 dev-lang/php/Manifest                              |   1 -
 dev-lang/php/files/bug81656-gcc-11.patch           |  53 --
 dev-lang/php/files/php-7.4.33-CVE-2022-31631.patch |  50 --
 dev-lang/php/files/php-7.4.33-CVE-2023-0567.patch  | 114 ----
 dev-lang/php/files/php-7.4.33-CVE-2023-0568.patch  |  37 -
 dev-lang/php/files/php-7.4.33-CVE-2023-0662.patch  |  48 --
 dev-lang/php/metadata.xml                          |   3 -
 dev-lang/php/php-7.4.33-r4.ebuild                  | 749 --------------------
 dev-lang/php/php-7.4.33-r5.ebuild                  | 753 ---------------------
 dev-lang/php/php-7.4.33-r6.ebuild                  | 751 --------------------
 profiles/package.mask                              |   8 -
 11 files changed, 2567 deletions(-)

diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 25c8dbe4043c..64d30eed7555 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,4 +1,3 @@
-DIST php-7.4.33.tar.xz 10420144 BLAKE2B e75817e79c698628c873c90afb3b5677480d03ecf07e8f2e26a062bc5b91affc6079e792e864f28cf12d45f86e5d01ede289ecdcefc06477986d193d22c982ef SHA512 499b63b99e5d8e8082ff89d3a91b4cb9a593ea7553b96e48863414c13d2e50275904ed29070e2232e529ee91160f505e6060a4d129cb5bf098aa5b6ea0928d3d
 DIST php-8.0.29.tar.xz 10803592 BLAKE2B 6e15ce459aa5a51b2a07a4bfa1f6dba076dbbd4828ccdcb8dc4796f64ad3dbda6ee2b6789880591847a7de0d077072e63c46f13399b5b44a4ec34c83172fb6ac SHA512 5f849753bbcc12e253160af072213bc1ede32e5051684129707d32fd6ce8e12867fcf7a5f6790b25071fdda0508dfffd3344e4bb850a747cb8f3c9aee970311d
 DIST php-8.0.30.tar.xz 10821076 BLAKE2B 9a914ce99ec1d5d554f063ba324d95bd6d39912a13f34f9b3e09fa020c96c0a50ff919e8d829fd663522be2b68bea8934d7f67c52ad45b64d72946f0ba5f3925 SHA512 fb816e0a4e4dc506b0ea4425f26690edc6afadb5474ac84df0a1aa293abecd50d128b36074e3e0740c7228109d486ca446869a9c920419610a20ab5989870782
 DIST php-8.1.20.tar.xz 11793228 BLAKE2B ecdaf43278b69e039e5440b441a89d02ea53e8246515a89f430d7affbaefa3e1637a6830f91dc9062961719ba5bf7c56993f3b47db96b56c14111f77c74a3096 SHA512 d93767c6ff4d305c209e1a0fcb17f19b1d417fa872b002413ebe7883e93900c210e8f122410ac54da373b9d10dd2f522ea2bafc9b66214fb466314d64907a558

diff --git a/dev-lang/php/files/bug81656-gcc-11.patch b/dev-lang/php/files/bug81656-gcc-11.patch
deleted file mode 100644
index 8dfe1deb2b33..000000000000
--- a/dev-lang/php/files/bug81656-gcc-11.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From bb00a649e0c1ac57718cd9971e7e6f933cb2dadd Mon Sep 17 00:00:00 2001
-From: Michael Wallner <mike@php.net>
-Date: Thu, 25 Nov 2021 07:43:14 +0100
-Subject: [PATCH] fix #81656: GCC-11 silently ignores -R
-
----
- build/php.m4 | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/build/php.m4 b/build/php.m4
-index 3af2b8b72d47..4697c5df9274 100644
---- a/build/php.m4
-+++ b/build/php.m4
-@@ -279,25 +279,25 @@ dnl
- dnl Checks for -R, etc. switch.
- dnl
- AC_DEFUN([PHP_RUNPATH_SWITCH],[
--AC_MSG_CHECKING([if compiler supports -R])
--AC_CACHE_VAL(php_cv_cc_dashr,[
-+AC_MSG_CHECKING([if compiler supports -Wl,-rpath,])
-+AC_CACHE_VAL(php_cv_cc_rpath,[
-   SAVE_LIBS=$LIBS
--  LIBS="-R /usr/$PHP_LIBDIR $LIBS"
--  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],[php_cv_cc_dashr=yes],[php_cv_cc_dashr=no])
-+  LIBS="-Wl,-rpath,/usr/$PHP_LIBDIR $LIBS"
-+  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],[php_cv_cc_rpath=yes],[php_cv_cc_rpath=no])
-   LIBS=$SAVE_LIBS])
--AC_MSG_RESULT([$php_cv_cc_dashr])
--if test $php_cv_cc_dashr = "yes"; then
--  ld_runpath_switch=-R
-+AC_MSG_RESULT([$php_cv_cc_rpath])
-+if test $php_cv_cc_rpath = "yes"; then
-+  ld_runpath_switch=-Wl,-rpath,
- else
--  AC_MSG_CHECKING([if compiler supports -Wl,-rpath,])
--  AC_CACHE_VAL(php_cv_cc_rpath,[
-+  AC_MSG_CHECKING([if compiler supports -R])
-+  AC_CACHE_VAL(php_cv_cc_dashr,[
-     SAVE_LIBS=$LIBS
--    LIBS="-Wl,-rpath,/usr/$PHP_LIBDIR $LIBS"
--    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],[php_cv_cc_rpath=yes],[php_cv_cc_rpath=no])
-+    LIBS="-R /usr/$PHP_LIBDIR $LIBS"
-+    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],[php_cv_cc_dashr=yes],[php_cv_cc_dashr=no])
-     LIBS=$SAVE_LIBS])
--  AC_MSG_RESULT([$php_cv_cc_rpath])
--  if test $php_cv_cc_rpath = "yes"; then
--    ld_runpath_switch=-Wl,-rpath,
-+  AC_MSG_RESULT([$php_cv_cc_dashr])
-+  if test $php_cv_cc_dashr = "yes"; then
-+    ld_runpath_switch=-R
-   else
-     dnl Something innocuous.
-     ld_runpath_switch=-L

diff --git a/dev-lang/php/files/php-7.4.33-CVE-2022-31631.patch b/dev-lang/php/files/php-7.4.33-CVE-2022-31631.patch
deleted file mode 100644
index 6aa309549c88..000000000000
--- a/dev-lang/php/files/php-7.4.33-CVE-2022-31631.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 921b6813da3237a83e908998483f46ae3d8bacba Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Mon, 31 Oct 2022 17:20:23 +0100
-Subject: [PATCH] Fix #81740: PDO::quote() may return unquoted string
-
-`sqlite3_snprintf()` expects its first parameter to be `int`; we need
-to avoid overflow.
----
- ext/pdo_sqlite/sqlite_driver.c     |  3 +++
- ext/pdo_sqlite/tests/bug81740.phpt | 17 +++++++++++++++++
- 2 files changed, 20 insertions(+)
- create mode 100644 ext/pdo_sqlite/tests/bug81740.phpt
-
-diff --git a/ext/pdo_sqlite/sqlite_driver.c b/ext/pdo_sqlite/sqlite_driver.c
-index 4233ff10ff2e..5a72a1eda23f 100644
---- a/ext/pdo_sqlite/sqlite_driver.c
-+++ b/ext/pdo_sqlite/sqlite_driver.c
-@@ -232,6 +232,9 @@ static char *pdo_sqlite_last_insert_id(pdo_dbh_t *dbh, const char *name, size_t
- /* NB: doesn't handle binary strings... use prepared stmts for that */
- static int sqlite_handle_quoter(pdo_dbh_t *dbh, const char *unquoted, size_t unquotedlen, char **quoted, size_t *quotedlen, enum pdo_param_type paramtype )
- {
-+	if (unquotedlen > (INT_MAX - 3) / 2) {
-+		return 0;
-+	}
- 	*quoted = safe_emalloc(2, unquotedlen, 3);
- 	sqlite3_snprintf(2*unquotedlen + 3, *quoted, "'%q'", unquoted);
- 	*quotedlen = strlen(*quoted);
-diff --git a/ext/pdo_sqlite/tests/bug81740.phpt b/ext/pdo_sqlite/tests/bug81740.phpt
-new file mode 100644
-index 000000000000..99fb07c3048b
---- /dev/null
-+++ b/ext/pdo_sqlite/tests/bug81740.phpt
-@@ -0,0 +1,17 @@
-+--TEST--
-+Bug #81740 (PDO::quote() may return unquoted string)
-+--SKIPIF--
-+<?php
-+if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
-+if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
-+?>
-+--INI--
-+memory_limit=-1
-+--FILE--
-+<?php
-+$pdo = new PDO("sqlite::memory:");
-+$string = str_repeat("a", 0x80000000);
-+var_dump($pdo->quote($string));
-+?>
-+--EXPECT--
-+bool(false)

diff --git a/dev-lang/php/files/php-7.4.33-CVE-2023-0567.patch b/dev-lang/php/files/php-7.4.33-CVE-2023-0567.patch
deleted file mode 100644
index a0e72f380089..000000000000
--- a/dev-lang/php/files/php-7.4.33-CVE-2023-0567.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-diff --git a/ext/standard/crypt_blowfish.c b/ext/standard/crypt_blowfish.c
-index 3806a290aee4..351d40308089 100644
---- a/ext/standard/crypt_blowfish.c
-+++ b/ext/standard/crypt_blowfish.c
-@@ -371,7 +371,6 @@ static const unsigned char BF_atoi64[0x60] = {
- #define BF_safe_atoi64(dst, src) \
- { \
- 	tmp = (unsigned char)(src); \
--	if (tmp == '$') break; /* PHP hack */ \
- 	if ((unsigned int)(tmp -= 0x20) >= 0x60) return -1; \
- 	tmp = BF_atoi64[tmp]; \
- 	if (tmp > 63) return -1; \
-@@ -399,13 +398,6 @@ static int BF_decode(BF_word *dst, const char *src, int size)
- 		*dptr++ = ((c3 & 0x03) << 6) | c4;
- 	} while (dptr < end);
- 
--	if (end - dptr == size) {
--		return -1;
--	}
--
--	while (dptr < end) /* PHP hack */
--		*dptr++ = 0;
--
- 	return 0;
- }
- 
-diff --git a/ext/standard/tests/crypt/bcrypt_salt_dollar.phpt b/ext/standard/tests/crypt/bcrypt_salt_dollar.phpt
-new file mode 100644
-index 000000000000..32e335f4b087
---- /dev/null
-+++ b/ext/standard/tests/crypt/bcrypt_salt_dollar.phpt
-@@ -0,0 +1,82 @@
-+--TEST--
-+bcrypt correctly rejects salts containing $
-+--FILE--
-+<?php
-+for ($i = 0; $i < 23; $i++) {
-+	$salt = '$2y$04$' . str_repeat('0', $i) . '$';
-+	$result = crypt("foo", $salt);
-+	var_dump($salt);
-+	var_dump($result);
-+	var_dump($result === $salt);
-+}
-+?>
-+--EXPECT--
-+string(8) "$2y$04$$"
-+string(2) "*0"
-+bool(false)
-+string(9) "$2y$04$0$"
-+string(2) "*0"
-+bool(false)
-+string(10) "$2y$04$00$"
-+string(2) "*0"
-+bool(false)
-+string(11) "$2y$04$000$"
-+string(2) "*0"
-+bool(false)
-+string(12) "$2y$04$0000$"
-+string(2) "*0"
-+bool(false)
-+string(13) "$2y$04$00000$"
-+string(2) "*0"
-+bool(false)
-+string(14) "$2y$04$000000$"
-+string(2) "*0"
-+bool(false)
-+string(15) "$2y$04$0000000$"
-+string(2) "*0"
-+bool(false)
-+string(16) "$2y$04$00000000$"
-+string(2) "*0"
-+bool(false)
-+string(17) "$2y$04$000000000$"
-+string(2) "*0"
-+bool(false)
-+string(18) "$2y$04$0000000000$"
-+string(2) "*0"
-+bool(false)
-+string(19) "$2y$04$00000000000$"
-+string(2) "*0"
-+bool(false)
-+string(20) "$2y$04$000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(21) "$2y$04$0000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(22) "$2y$04$00000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(23) "$2y$04$000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(24) "$2y$04$0000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(25) "$2y$04$00000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(26) "$2y$04$000000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(27) "$2y$04$0000000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(28) "$2y$04$00000000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(29) "$2y$04$000000000000000000000$"
-+string(2) "*0"
-+bool(false)
-+string(30) "$2y$04$0000000000000000000000$"
-+string(60) "$2y$04$000000000000000000000u2a2UpVexIt9k3FMJeAVr3c04F5tcI8K"
-+bool(false)

diff --git a/dev-lang/php/files/php-7.4.33-CVE-2023-0568.patch b/dev-lang/php/files/php-7.4.33-CVE-2023-0568.patch
deleted file mode 100644
index 67c172ae214f..000000000000
--- a/dev-lang/php/files/php-7.4.33-CVE-2023-0568.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a92acbad873a05470af1a47cb785a18eadd827b5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= <tim@bastelstu.be>
-Date: Mon, 23 Jan 2023 22:13:57 +0100
-Subject: [PATCH] crypt: Fix possible buffer overread in php_crypt()
-
----
- ext/standard/crypt.c                                   | 1 +
- ext/standard/tests/password/password_bcrypt_short.phpt | 8 ++++++++
- 2 files changed, 9 insertions(+)
- create mode 100644 ext/standard/tests/password/password_bcrypt_short.phpt
-
-diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
-index 8c105cf910e8..8316c8b96063 100644
---- a/ext/standard/crypt.c
-+++ b/ext/standard/crypt.c
-@@ -135,6 +135,7 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch
- 		} else if (
- 				salt[0] == '$' &&
- 				salt[1] == '2' &&
-+				salt[2] != 0 &&
- 				salt[3] == '$') {
- 			char output[PHP_MAX_SALT_LEN + 1];
- 
-diff --git a/ext/standard/tests/password/password_bcrypt_short.phpt b/ext/standard/tests/password/password_bcrypt_short.phpt
-new file mode 100644
-index 000000000000..085bc8a23904
---- /dev/null
-+++ b/ext/standard/tests/password/password_bcrypt_short.phpt
-@@ -0,0 +1,8 @@
-+--TEST--
-+Test that password_hash() does not overread buffers when a short hash is passed
-+--FILE--
-+<?php
-+var_dump(password_verify("foo", '$2'));
-+?>
-+--EXPECT--
-+bool(false)

diff --git a/dev-lang/php/files/php-7.4.33-CVE-2023-0662.patch b/dev-lang/php/files/php-7.4.33-CVE-2023-0662.patch
deleted file mode 100644
index a6de37c27305..000000000000
--- a/dev-lang/php/files/php-7.4.33-CVE-2023-0662.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/main/main.c b/main/main.c
-index 40684f32dc14..c58ea58bf5ac 100644
---- a/main/main.c
-+++ b/main/main.c
-@@ -836,6 +836,7 @@ PHP_INI_BEGIN()
- 	PHP_INI_ENTRY("disable_functions",			"",			PHP_INI_SYSTEM,		NULL)
- 	PHP_INI_ENTRY("disable_classes",			"",			PHP_INI_SYSTEM,		NULL)
- 	PHP_INI_ENTRY("max_file_uploads",			"20",			PHP_INI_SYSTEM|PHP_INI_PERDIR,		NULL)
-+	PHP_INI_ENTRY("max_multipart_body_parts",	"-1",			PHP_INI_SYSTEM|PHP_INI_PERDIR,		NULL)
- 
- 	STD_PHP_INI_BOOLEAN("allow_url_fopen",		"1",		PHP_INI_SYSTEM,		OnUpdateBool,		allow_url_fopen,		php_core_globals,		core_globals)
- 	STD_PHP_INI_BOOLEAN("allow_url_include",	"0",		PHP_INI_SYSTEM,		OnUpdateBool,		allow_url_include,		php_core_globals,		core_globals)
-diff --git a/main/rfc1867.c b/main/rfc1867.c
-index b43cfae5a1e2..3086e8da3dbe 100644
---- a/main/rfc1867.c
-+++ b/main/rfc1867.c
-@@ -694,6 +694,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
- 	void *event_extra_data = NULL;
- 	unsigned int llen = 0;
- 	int upload_cnt = INI_INT("max_file_uploads");
-+	int body_parts_cnt = INI_INT("max_multipart_body_parts");
- 	const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
- 	php_rfc1867_getword_t getword;
- 	php_rfc1867_getword_conf_t getword_conf;
-@@ -715,6 +716,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
- 		return;
- 	}
- 
-+	if (body_parts_cnt < 0) {
-+		body_parts_cnt = PG(max_input_vars) + upload_cnt;
-+	}
-+	int body_parts_limit = body_parts_cnt;
-+
- 	/* Get the boundary */
- 	boundary = strstr(content_type_dup, "boundary");
- 	if (!boundary) {
-@@ -799,6 +805,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
- 			char *pair = NULL;
- 			int end = 0;
- 
-+			if (--body_parts_cnt < 0) {
-+				php_error_docref(NULL, E_WARNING, "Multipart body parts limit exceeded %d. To increase the limit change max_multipart_body_parts in php.ini.", body_parts_limit);
-+				goto fileupload_done;
-+			}
-+
- 			while (isspace(*cd)) {
- 				++cd;
- 			}

diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml
index 5783b3b852f7..99d06f8f9319 100644
--- a/dev-lang/php/metadata.xml
+++ b/dev-lang/php/metadata.xml
@@ -67,9 +67,6 @@
     <flag name="jit">
       Enable PCRE JIT support
     </flag>
-    <flag name="json">
-      Enable the JavaScript Object Notation extension
-    </flag>
     <flag name="ldap-sasl">
       Add SASL support for the PHP LDAP extension using
       <pkg>dev-libs/cyrus-sasl</pkg>

diff --git a/dev-lang/php/php-7.4.33-r4.ebuild b/dev-lang/php/php-7.4.33-r4.ebuild
deleted file mode 100644
index 7fbca4442887..000000000000
--- a/dev-lang/php/php-7.4.33-r4.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif ffi +fileinfo +filter firebird
-	+flatfile ftp gd gdbm gmp +iconv imap inifile
-	intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
-	mhash mssql mysql mysqli nls
-	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 webp
-	+xml xmlreader xmlwriter xmlrpc 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 )
-	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 )
-	xmlrpc? ( xml iconv )
-	xmlreader? ( xml )
-	xmlwriter? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	oci8-instant-client? ( !ldap )
-	qdbm? ( !gdbm )
-	session-mm? ( session !threads )
-	mysql? ( || ( mysqli pdo ) )
-	firebird? ( pdo )
-	mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre2-10.30[jit?,unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (  sys-libs/db:5.3 sys-libs/db:4.8 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	ffi? ( >=dev-libs/libffi-3.0.11:= )
-	firebird? ( dev-db/firebird )
-	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-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 )
-	oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
-	odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	session-mm? ( dev-libs/mm )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	sodium? ( dev-libs/libsodium:=[-minimal] )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? ( <dev-libs/openssl-3.0:= )
-	tidy? ( app-text/htmltidy )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.7.6 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt )
-	zip? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
-	"${FILESDIR}"/php-iodbc-header-location.patch
-	"${FILESDIR}"/bug81656-gcc-11.patch
-)
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${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
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "../ext/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Emulate buildconf to support cross-compilation
-	rm -fr aclocal.m4 autom4te.cache config.cache \
-		configure main/php_config.h.in || die
-	eautoconf --force
-	eautoheader
-}
-
-src_configure() {
-	filter-lto # bug 855644
-
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		--without-valgrind
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype)
-		$(use_with curl)
-		$(use_enable xml dom)
-		$(use_with enchant)
-		$(use_enable exif)
-		$(use_with ffi)
-		$(use_enable fileinfo)
-		$(use_enable filter)
-		$(use_enable ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
-		$(use_enable intl)
-		$(use_enable ipv6)
-		$(use_enable json)
-		$(use_with kerberos)
-		$(use_with xml libxml)
-		$(use_enable unicode mbstring)
-		$(use_with ssl openssl)
-		$(use_enable pcntl)
-		$(use_enable phar)
-		$(use_enable pdo)
-		$(use_enable opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_enable simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap)
-		$(use_enable sockets)
-		$(use_with sodium)
-		$(use_with sqlite sqlite3)
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer)
-		$(use_enable xml)
-		$(use_enable xmlreader)
-		$(use_enable xmlwriter)
-		$(use_with xmlrpc)
-		$(use_with xslt xsl)
-		$(use_with zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(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
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl)
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	if use odbc && use iodbc ; then
-		our_conf+=(
-			--without-unixODBC
-			--with-iodbc
-			$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
-		)
-	elif use odbc ; then
-		our_conf+=(
-			--with-unixODBC="${EPREFIX}/usr"
-			--without-iodbc
-			$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
-		)
-	else
-		our_conf+=(
-			--without-unixODBC
-			--without-iodbc
-			--without-pdo-odbc
-		)
-	fi
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite)
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit)
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-external-pcre affects ext/pcre
-	our_conf+=(
-		--with-external-pcre
-		$(use_with jit pcre-jit)
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	local one_sapi
-	local sapi
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	local sapi
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi="", sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# 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
-
-	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
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						# Install the "phar" archive utility.
-						if use phar ; then
-							emake INSTALL_ROOT="${D}" install-pharcmd
-							dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
-						fi
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		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
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	local m
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}

diff --git a/dev-lang/php/php-7.4.33-r5.ebuild b/dev-lang/php/php-7.4.33-r5.ebuild
deleted file mode 100644
index f59fb3340890..000000000000
--- a/dev-lang/php/php-7.4.33-r5.ebuild
+++ /dev/null
@@ -1,753 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif ffi +fileinfo +filter firebird
-	+flatfile ftp gd gdbm gmp +iconv imap inifile
-	intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
-	mhash mssql mysql mysqli nls
-	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 webp
-	+xml xmlreader xmlwriter xmlrpc 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 )
-	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 )
-	xmlrpc? ( xml iconv )
-	xmlreader? ( xml )
-	xmlwriter? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	oci8-instant-client? ( !ldap )
-	qdbm? ( !gdbm )
-	session-mm? ( session !threads )
-	mysql? ( || ( mysqli pdo ) )
-	firebird? ( pdo )
-	mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre2-10.30[jit?,unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (  sys-libs/db:5.3 sys-libs/db:4.8 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	ffi? ( >=dev-libs/libffi-3.0.11:= )
-	firebird? ( dev-db/firebird )
-	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-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 )
-	oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
-	odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	session-mm? ( dev-libs/mm )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	sodium? ( dev-libs/libsodium:=[-minimal] )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? ( <dev-libs/openssl-3.0:= )
-	tidy? ( app-text/htmltidy )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.7.6 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt )
-	zip? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
-	"${FILESDIR}"/php-iodbc-header-location.patch
-	"${FILESDIR}"/bug81656-gcc-11.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2022-31631.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0567.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0568.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0662.patch
-)
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${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
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "../ext/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Emulate buildconf to support cross-compilation
-	rm -fr aclocal.m4 autom4te.cache config.cache \
-		configure main/php_config.h.in || die
-	eautoconf --force
-	eautoheader
-}
-
-src_configure() {
-	filter-lto # bug 855644
-
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		--without-valgrind
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype)
-		$(use_with curl)
-		$(use_enable xml dom)
-		$(use_with enchant)
-		$(use_enable exif)
-		$(use_with ffi)
-		$(use_enable fileinfo)
-		$(use_enable filter)
-		$(use_enable ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
-		$(use_enable intl)
-		$(use_enable ipv6)
-		$(use_enable json)
-		$(use_with kerberos)
-		$(use_with xml libxml)
-		$(use_enable unicode mbstring)
-		$(use_with ssl openssl)
-		$(use_enable pcntl)
-		$(use_enable phar)
-		$(use_enable pdo)
-		$(use_enable opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_enable simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap)
-		$(use_enable sockets)
-		$(use_with sodium)
-		$(use_with sqlite sqlite3)
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer)
-		$(use_enable xml)
-		$(use_enable xmlreader)
-		$(use_enable xmlwriter)
-		$(use_with xmlrpc)
-		$(use_with xslt xsl)
-		$(use_with zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(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
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl)
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	if use odbc && use iodbc ; then
-		our_conf+=(
-			--without-unixODBC
-			--with-iodbc
-			$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
-		)
-	elif use odbc ; then
-		our_conf+=(
-			--with-unixODBC="${EPREFIX}/usr"
-			--without-iodbc
-			$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
-		)
-	else
-		our_conf+=(
-			--without-unixODBC
-			--without-iodbc
-			--without-pdo-odbc
-		)
-	fi
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite)
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit)
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-external-pcre affects ext/pcre
-	our_conf+=(
-		--with-external-pcre
-		$(use_with jit pcre-jit)
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	local one_sapi
-	local sapi
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	local sapi
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi="", sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# 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
-
-	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
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						# Install the "phar" archive utility.
-						if use phar ; then
-							emake INSTALL_ROOT="${D}" install-pharcmd
-							dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
-						fi
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		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
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	local m
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}

diff --git a/dev-lang/php/php-7.4.33-r6.ebuild b/dev-lang/php/php-7.4.33-r6.ebuild
deleted file mode 100644
index 6986b0537557..000000000000
--- a/dev-lang/php/php-7.4.33-r6.ebuild
+++ /dev/null
@@ -1,751 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif ffi +fileinfo +filter firebird
-	+flatfile ftp gd gdbm gmp +iconv imap inifile
-	intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
-	mhash mssql mysql mysqli nls
-	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 webp
-	+xml xmlreader xmlwriter xmlrpc 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 )
-	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 )
-	xmlrpc? ( xml iconv )
-	xmlreader? ( xml )
-	xmlwriter? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	oci8-instant-client? ( !ldap )
-	qdbm? ( !gdbm )
-	session-mm? ( session !threads )
-	mysql? ( || ( mysqli pdo ) )
-	firebird? ( pdo )
-	mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre2-10.30[jit?,unicode]
-	virtual/libcrypt:=
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (  sys-libs/db:5.3 sys-libs/db:4.8 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	ffi? ( >=dev-libs/libffi-3.0.11:= )
-	firebird? ( dev-db/firebird )
-	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-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 )
-	oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
-	odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	session-mm? ( dev-libs/mm )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	sodium? ( dev-libs/libsodium:=[-minimal] )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? ( <dev-libs/openssl-3.0:= )
-	tidy? ( app-text/htmltidy )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.7.6 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt )
-	zip? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
-	"${FILESDIR}"/php-iodbc-header-location.patch
-	"${FILESDIR}"/bug81656-gcc-11.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2022-31631.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0567.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0568.patch
-	"${FILESDIR}"/php-7.4.33-CVE-2023-0662.patch
-)
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${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
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "../ext/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Emulate buildconf to support cross-compilation
-	rm -fr aclocal.m4 autom4te.cache config.cache \
-		configure main/php_config.h.in || die
-	eautoconf --force
-	eautoheader
-}
-
-src_configure() {
-	filter-lto # bug 855644
-
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		--without-valgrind
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype)
-		$(use_with curl)
-		$(use_enable xml dom)
-		$(use_with enchant)
-		$(use_enable exif)
-		$(use_with ffi)
-		$(use_enable fileinfo)
-		$(use_enable filter)
-		$(use_enable ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
-		$(use_enable intl)
-		$(use_enable ipv6)
-		$(use_enable json)
-		$(use_with kerberos)
-		$(use_with xml libxml)
-		$(use_enable unicode mbstring)
-		$(use_with ssl openssl)
-		$(use_enable pcntl)
-		$(use_enable phar)
-		$(use_enable pdo)
-		$(use_enable opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_enable simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap)
-		$(use_enable sockets)
-		$(use_with sodium)
-		$(use_with sqlite sqlite3)
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer)
-		$(use_enable xml)
-		$(use_enable xmlreader)
-		$(use_enable xmlwriter)
-		$(use_with xmlrpc)
-		$(use_with xslt xsl)
-		$(use_with zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(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
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl)
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	if use odbc && use iodbc ; then
-		our_conf+=(
-			--without-unixODBC
-			--with-iodbc
-			$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
-		)
-	elif use odbc ; then
-		our_conf+=(
-			--with-unixODBC="${EPREFIX}/usr"
-			--without-iodbc
-			$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
-		)
-	else
-		our_conf+=(
-			--without-unixODBC
-			--without-iodbc
-			--without-pdo-odbc
-		)
-	fi
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite)
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit)
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-external-pcre affects ext/pcre
-	our_conf+=(
-		--with-external-pcre
-		$(use_with jit pcre-jit)
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	local one_sapi
-	local sapi
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	local sapi
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi="", sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# 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
-
-	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
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						# Install the "phar" archive utility.
-						if use phar ; then
-							emake INSTALL_ROOT="${D}" install-pharcmd
-							dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
-						fi
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		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
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	local m
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}

diff --git a/profiles/package.mask b/profiles/package.mask
index dc800b5450e5..e79876e96dc1 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -257,14 +257,6 @@ app-dicts/edictionary
 # Masked for removal on 2023-09-17.
 app-emacs/ruby-mode
 
-# Michael Orlitzky <mjo@gentoo.org> (2023-08-11)
-# php-7.x is End Of Life (EOL) upstream and no longer receives security
-# fixes. We lose phpunit because it depends on CodeCoverage which
-# depends on TokenStream, and TokenStream is limited to 7.x. Bug 887739
-# to upgrade moodle is seven months old, which I think is long enough to
-# have waited. Selfoss has a newer version. Removal after 2023-09-11.
-dev-lang/php:7.4
-
 # Volkmar W. Pogatzki <gentoo@pogatzki.net> (2023-07-05)
 # Library without consumers. Bug #906882
 # Removal on 2023-08-05.


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-15  7:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15  7:52 [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/files/, profiles/, dev-lang/php/ David Seifert
  -- strict thread matches above, loose matches on Subject: below --
2020-01-23 16:31 Brian Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox