summaryrefslogtreecommitdiff
path: root/dev-php
diff options
context:
space:
mode:
Diffstat (limited to 'dev-php')
-rw-r--r--dev-php/Manifest.gzbin39728 -> 39718 bytes
-rw-r--r--dev-php/pecl-stomp/Manifest5
-rw-r--r--dev-php/pecl-stomp/files/pecl-stomp-2.0.2-php8.patch369
-rw-r--r--dev-php/pecl-stomp/pecl-stomp-2.0.3.ebuild (renamed from dev-php/pecl-stomp/pecl-stomp-2.0.2-r1.ebuild)8
-rw-r--r--dev-php/pecl-yaz/Manifest2
-rw-r--r--dev-php/pecl-yaz/pecl-yaz-1.2.4.ebuild30
6 files changed, 37 insertions, 377 deletions
diff --git a/dev-php/Manifest.gz b/dev-php/Manifest.gz
index ef771222619c..ad7166c1c06a 100644
--- a/dev-php/Manifest.gz
+++ b/dev-php/Manifest.gz
Binary files differ
diff --git a/dev-php/pecl-stomp/Manifest b/dev-php/pecl-stomp/Manifest
index f8253b2e9e71..685b01f431e3 100644
--- a/dev-php/pecl-stomp/Manifest
+++ b/dev-php/pecl-stomp/Manifest
@@ -1,4 +1,3 @@
-AUX pecl-stomp-2.0.2-php8.patch 14470 BLAKE2B b189a359249587c9cb5282bf933fbe29f8ff0a056c0093064cc0d5cca002ff6d58362695b833f7cddf54d1db58c0472ae3f3a5ae67156e7dd4dd7187736c7595 SHA512 df553399f81f3a5665828f270321e37915c0cc1f0afd248d72fd5b147cacb7c3d205085d45602215ebff86741e503beabdab00fe81693912e58eeac1d0b2723a
-DIST stomp-2.0.2.tgz 23609 BLAKE2B b6ed89b5b8fd0bb501b2337e87107797eedc6ac53c81ba86d2e755cfa2dd716bf4e409cee623430791e0b4854833ef44ed7f6f9e1d89fcd2250d598af0dcaea6 SHA512 577a781b45ef394cd833fb69c808da9b8a8ff69b31b1093c5eef3f7b5d1b37cd0b45c32a03883f56f86213e32bb18aaf0a80010c6bec7efa7239ea48bc57b4b4
-EBUILD pecl-stomp-2.0.2-r1.ebuild 671 BLAKE2B 26f9fd2aac1eddb576c32b4108d0d7e8b47efddfb5356ec75bf7aaaaa957dad19cd2927c59e15b2085bd1f383204442ae4b615de61e584b0a5ad31fdb97bdcec SHA512 e1b9e9a06d2755ddbf954866c9e3fea507debdbcf4f646c7a43dce1ba441698e0ba38bb53629bb8ca08161e8a757e889f18bedb744c3819c9bd36aa6f20319c2
+DIST stomp-2.0.3.tgz 23518 BLAKE2B f0253d0e6d1bb51d95007ce2580cb4e5a271547b73705d1ab5be36975cd58068e5fceea64b1451e438fb17601c1b1f513f287b189e3d2922747f735a48e582ef SHA512 e34a63d776cb79da7676d200e4aa2b4a9d4272014fff30eb4c07bc27417d8dc4e7738fb8d62e283cdaac0a411a7bd6e06ef5b06171caa629a404601d14da71d6
+EBUILD pecl-stomp-2.0.3.ebuild 623 BLAKE2B af0c407efc5023fd7b9f250d54be10dee71faf9bcd524c5b1b93d9936bb0966b1128757a05fe6db2dd0b9362026e4c6b8c03bb3f97656a34887440c2669eb545 SHA512 5e5d8d2b1c429e4494ef66ca8a6d8adce9079ca57e0bec3a0ff83e90adbe118ac96e62cdcb3a6eebabe8ef3f65497dca7e429fbb9c2c639877f08bb96325ca3e
MISC metadata.xml 240 BLAKE2B f60f325331d493a555e53c29c7cf2742a415356da28a467505f1441f3fd790fd0d59050df84854bdc379d19d94a46121216479807975a2922d5a2fefde83416b SHA512 fada9d69055f2be962b95aac82f260ec5db7a3f4392d10f0458a1d125938fa17539f7ec486000f3a95cff85a3fbb6bbf1f6f4fe6c2de7aa420a7543a3e89d03e
diff --git a/dev-php/pecl-stomp/files/pecl-stomp-2.0.2-php8.patch b/dev-php/pecl-stomp/files/pecl-stomp-2.0.2-php8.patch
deleted file mode 100644
index 9d38a2d7ff41..000000000000
--- a/dev-php/pecl-stomp/files/pecl-stomp-2.0.2-php8.patch
+++ /dev/null
@@ -1,369 +0,0 @@
-From 13681a79d9389603d9788802f0a114671a753df1 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Fri, 25 Sep 2020 16:06:39 +0200
-Subject: [PATCH] Fix compatibility with PHP 8 - cleanup remaining TSRMLS
- macros - fix read/update_property parameters - adapt test suite for exception
- in arg. parsing - fix callback
-
----
- php_stomp.c | 38 ++++++++++++++++++++--------------
- stomp.c | 6 +++---
- stomp.h | 4 ++--
- tests/003-connect/003.phpt | 2 +-
- tests/005-close/001.phpt | 8 +++++--
- tests/007-subscribe/001.phpt | 2 +-
- tests/008-unsubscribe/001.phpt | 2 +-
- tests/010-timeout/001.phpt | 24 ++++++++++++---------
- tests/010-timeout/002.phpt | 26 ++++++++++++++---------
- 9 files changed, 67 insertions(+), 45 deletions(-)
-
-diff --git a/php_stomp.c b/php_stomp.c
-index 0dcefed..b99a9ff 100644
---- a/php_stomp.c
-+++ b/php_stomp.c
-@@ -97,7 +97,7 @@
- zval _object, *object = &_object; \
- THROW_STOMP_EXCEPTION(object, errno, msg) \
- if (details) { \
-- zend_update_property_string(stomp_ce_exception, object, "details", sizeof("details")-1, (char *) details ); \
-+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(object), "details", sizeof("details")-1, (char *) details ); \
- } \
- }
-
-@@ -107,6 +107,12 @@
- #define STOMP_URL_STR(a) ZSTR_VAL(a)
- #endif
-
-+#if PHP_VERSION_ID < 80000
-+#define OBJ_FOR_PROP(zv) (zv)
-+#else
-+#define OBJ_FOR_PROP(zv) Z_OBJ_P(zv)
-+#endif
-+
- static int le_stomp;
- static zend_object_handlers stomp_obj_handlers;
-
-@@ -564,7 +570,7 @@ PHP_FUNCTION(stomp_connect)
- zval excobj;
- THROW_STOMP_EXCEPTION(&excobj, stomp->errnum, stomp->error);
- if (stomp->error_details) {
-- zend_update_property_string(stomp_ce_exception, &excobj, "details", sizeof("details")-1, stomp->error_details );
-+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), "details", sizeof("details")-1, stomp->error_details );
- }
- return;
- }
-@@ -578,7 +584,7 @@ PHP_FUNCTION(stomp_connect)
- if ((error_msg = zend_hash_str_find(res->headers, ZEND_STRL("message"))) != NULL) {
- THROW_STOMP_EXCEPTION(&excobj, 0, ZSTR_VAL(Z_STR_P(error_msg)));
- if (res->body) {
-- zend_update_property_string(stomp_ce_exception, &excobj, "details", sizeof("details")-1, (char *) res->body );
-+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), "details", sizeof("details")-1, (char *) res->body );
- }
- }
- stomp_free_frame(res);
-@@ -735,17 +741,17 @@ PHP_FUNCTION(stomp_send)
- frame.body_length = Z_STRLEN_P(msg);
- } else if (Z_TYPE_P(msg) == IS_OBJECT && instanceof_function(Z_OBJCE_P(msg), stomp_ce_frame )) {
- zval *frame_obj_prop = NULL;
-- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "command", sizeof("command")-1, 1, &rv);
-+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "command", sizeof("command")-1, 1, &rv);
- if (Z_TYPE_P(frame_obj_prop) == IS_STRING) {
- frame.command = Z_STRVAL_P(frame_obj_prop);
- frame.command_length = Z_STRLEN_P(frame_obj_prop);
- }
-- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "body", sizeof("body")-1, 1, &rv);
-+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "body", sizeof("body")-1, 1, &rv);
- if (Z_TYPE_P(frame_obj_prop) == IS_STRING) {
- frame.body = Z_STRVAL_P(frame_obj_prop);
- frame.body_length = Z_STRLEN_P(frame_obj_prop);
- }
-- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "headers", sizeof("headers")-1, 1, &rv);
-+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "headers", sizeof("headers")-1, 1, &rv);
- if (Z_TYPE_P(frame_obj_prop) == IS_ARRAY) {
- FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(frame_obj_prop));
- }
-@@ -930,7 +936,7 @@ PHP_FUNCTION(stomp_read_frame)
- zval excobj;
- THROW_STOMP_EXCEPTION(&excobj, 0, Z_STRVAL_P(error_msg));
- if (res->body) {
-- zend_update_property_string(stomp_ce_exception, &excobj, ZEND_STRL("details"), (char *)res->body );
-+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), ZEND_STRL("details"), (char *)res->body );
- }
- stomp_free_frame(res);
- RETURN_FALSE;
-@@ -968,10 +974,11 @@ PHP_FUNCTION(stomp_read_frame)
- ZVAL_NULL(&body);
- }
-
-+ memset(&fci, 0, sizeof(fci));
-+ memset(&fcc, 0, sizeof(fcc));
- fci.size = sizeof(fci);
- #if (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION == 0)
- fci.function_table = &ce->function_table;
-- fci.symbol_table = NULL;
- #endif
- /* PARAMS */
- fci.param_count = 3;
-@@ -983,8 +990,9 @@ PHP_FUNCTION(stomp_read_frame)
- ZVAL_UNDEF(&fci.function_name);
- fci.object = Z_OBJ_P(return_value);
- fci.retval = &retval;
-+#if PHP_VERSION_ID < 80000
- fci.no_separation = 1;
--
-+#endif
- #if PHP_VERSION_ID < 70300
- fcc.initialized = 1;
- #endif
-@@ -997,7 +1005,7 @@ PHP_FUNCTION(stomp_read_frame)
- fcc.object = Z_OBJ_P(return_value);
-
- if (zend_call_function(&fci, &fcc ) == FAILURE) {
-- zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 , "Could not execute %s::%s()", ZSTR_VAL(ce->name), ZSTR_VAL(ce->constructor->common.function_name));
-+ zend_throw_exception_ex(zend_exception_get_default(), 0 , "Could not execute %s::%s()", ZSTR_VAL(ce->name), ZSTR_VAL(ce->constructor->common.function_name));
- } else {
- zval_ptr_dtor(&retval);
- }
-@@ -1127,7 +1135,7 @@ static void _php_stomp_acknowledgment(INTERNAL_FUNCTION_PARAMETERS, char *cmd) {
- } else if (Z_TYPE_P(msg) == IS_OBJECT && instanceof_function(Z_OBJCE_P(msg), stomp_ce_frame )) {
- zval *frame_obj_prop, rv;
-
-- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "headers", sizeof("headers")-1, 1, &rv);
-+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "headers", sizeof("headers")-1, 1, &rv);
- if (Z_TYPE_P(frame_obj_prop) == IS_ARRAY) {
- FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(frame_obj_prop));
- }
-@@ -1257,13 +1265,13 @@ PHP_METHOD(stompframe, __construct)
- }
-
- if (command_length > 0) {
-- zend_update_property_stringl(stomp_ce_frame, object, "command", sizeof("command")-1, command, command_length );
-+ zend_update_property_stringl(stomp_ce_frame, OBJ_FOR_PROP(object), "command", sizeof("command")-1, command, command_length );
- }
- if (headers) {
-- zend_update_property(stomp_ce_frame, object, "headers", sizeof("headers")-1, headers );
-+ zend_update_property(stomp_ce_frame, OBJ_FOR_PROP(object), "headers", sizeof("headers")-1, headers );
- }
- if (body_length > 0) {
-- zend_update_property_stringl(stomp_ce_frame, object, "body", sizeof("body")-1, body, body_length );
-+ zend_update_property_stringl(stomp_ce_frame, OBJ_FOR_PROP(object), "body", sizeof("body")-1, body, body_length );
- }
- }
- /* }}} */
-@@ -1273,7 +1281,7 @@ PHP_METHOD(stompframe, __construct)
- PHP_METHOD(stompexception, getDetails)
- {
- zval *object = getThis();
-- zval rv, *details = zend_read_property(stomp_ce_exception, object, "details", sizeof("details")-1, 1, &rv);
-+ zval rv, *details = zend_read_property(stomp_ce_exception, OBJ_FOR_PROP(object), "details", sizeof("details")-1, 1, &rv);
- RETURN_STR(zval_get_string(details));
- }
- /* }}} */
-diff --git a/stomp.c b/stomp.c
-index d83a4e6..6e77ede 100644
---- a/stomp.c
-+++ b/stomp.c
-@@ -36,7 +36,7 @@ extern zend_class_entry *stomp_ce_exception;
-
- /* {{{ DEBUG */
- #if PHP_DEBUG
--static void print_stomp_frame(stomp_frame_t *frame TSRMLS_DC) {
-+static void print_stomp_frame(stomp_frame_t *frame) {
- php_printf("------ START FRAME ------\n");
- php_printf("%s\n", frame->command);
- /* Headers */
-@@ -188,7 +188,7 @@ int stomp_writable(stomp_t *stomp)
-
- /* {{{ stomp_connect
- */
--int stomp_connect(stomp_t *stomp, const char *host, unsigned short port TSRMLS_DC)
-+int stomp_connect(stomp_t *stomp, const char *host, unsigned short port)
- {
- char error[1024];
- socklen_t size;
-@@ -299,7 +299,7 @@ void stomp_close(stomp_t *stomp)
-
- /* {{{ stomp_send
- */
--int stomp_send(stomp_t *stomp, stomp_frame_t *frame TSRMLS_DC)
-+int stomp_send(stomp_t *stomp, stomp_frame_t *frame)
- {
- smart_str buf = {0};
-
-diff --git a/stomp.h b/stomp.h
-index 1a422b7..e4d02b3 100644
---- a/stomp.h
-+++ b/stomp.h
-@@ -81,9 +81,9 @@ typedef struct _stomp {
- } stomp_t;
-
- stomp_t *stomp_init();
--int stomp_connect(stomp_t *stomp, const char *host, unsigned short port TSRMLS_DC);
-+int stomp_connect(stomp_t *stomp, const char *host, unsigned short port);
- void stomp_close(stomp_t *stomp);
--int stomp_send(stomp_t *connection, stomp_frame_t *frame TSRMLS_DC);
-+int stomp_send(stomp_t *connection, stomp_frame_t *frame);
- stomp_frame_t *stomp_read_frame_ex(stomp_t *connection, int use_stack);
- int stomp_valid_receipt(stomp_t *connection, stomp_frame_t *frame);
- int stomp_select_ex(stomp_t *connection, const long int sec, const long int usec);
-diff --git a/tests/003-connect/003.phpt b/tests/003-connect/003.phpt
-index b3de8d6..ba60e15 100644
---- a/tests/003-connect/003.phpt
-+++ b/tests/003-connect/003.phpt
-@@ -2,7 +2,7 @@
- Test stomp_connect() - Test error on CONNECT
- --SKIPIF--
- <?php
--include "../skipif.inc"
-+include dirname(__DIR__) . "/skipif.inc";
- ?>
- --FILE--
- <?php
-diff --git a/tests/005-close/001.phpt b/tests/005-close/001.phpt
-index 0a23a59..77cc014 100644
---- a/tests/005-close/001.phpt
-+++ b/tests/005-close/001.phpt
-@@ -6,7 +6,11 @@ include dirname(__DIR__) . "/skipif.inc";
- ?>
- --FILE--
- <?php
--stomp_close(null);
-+try {
-+ stomp_close(null);
-+} catch (TypeError $e) {
-+ echo $e->getMessage() . PHP_EOL;
-+}
- ?>
- --EXPECTF--
--Warning: stomp_close() expects parameter 1 to be resource, null given in %s on line %d
-+%stomp_close()%s1%s null %s
-diff --git a/tests/007-subscribe/001.phpt b/tests/007-subscribe/001.phpt
-index 8d190dd..494471c 100644
---- a/tests/007-subscribe/001.phpt
-+++ b/tests/007-subscribe/001.phpt
-@@ -16,7 +16,7 @@ $s->subscribe('/queue/test', 'string');
- --EXPECTF--
- Warning: Stomp::subscribe(): Destination can not be empty in %s007-subscribe%c001.php on line %d
-
--Fatal error: Uncaught TypeError: Argument 2 passed to Stomp::subscribe() must be of the type array, string given in %s007-subscribe%c001.php:%d
-+Fatal error: Uncaught TypeError: %s, string given in %s007-subscribe%c001.php:%d
- Stack trace:
- #0 %s001.php(%d): Stomp->subscribe('/queue/test', 'string')
- #1 {main}
-diff --git a/tests/008-unsubscribe/001.phpt b/tests/008-unsubscribe/001.phpt
-index c1200eb..7d1b50f 100644
---- a/tests/008-unsubscribe/001.phpt
-+++ b/tests/008-unsubscribe/001.phpt
-@@ -17,7 +17,7 @@ $s->unsubscribe('/queue/test', 'string');
- --EXPECTF--
- Warning: Stomp::unsubscribe(): Destination can not be empty in %s008-unsubscribe%c001.php on line %d
-
--Fatal error: Uncaught TypeError: Argument 2 passed to Stomp::unsubscribe() must be of the type array, string given in %s008-unsubscribe%c001.php:%d
-+Fatal error: Uncaught TypeError: %s2%s string given in %s008-unsubscribe%c001.php:%d
- Stack trace:
- #0 %s(%d): Stomp->unsubscribe('/queue/test', 'string')
- #1 {main}
-diff --git a/tests/010-timeout/001.phpt b/tests/010-timeout/001.phpt
-index 7389f70..b9886db 100644
---- a/tests/010-timeout/001.phpt
-+++ b/tests/010-timeout/001.phpt
-@@ -25,13 +25,21 @@ var_dump($s->setReadTimeout(10, 5));
- // Third test, read supposed to return 10.5
- var_dump($s->getReadTimeout());
-
--// Set read timout with the first param as a string, supposed to trigger a warning
--var_dump($s->setReadTimeout(''));
-+try {
-+ // Set read timout with the first param as a string, supposed to trigger a warning/exception
-+ var_dump($s->setReadTimeout(''));
-+} catch (TypeError $e) {
-+ echo $e->getMessage() . PHP_EOL;
-+}
- // Fourth test, read supposed to get the last value set : 10.5
- var_dump($s->getReadTimeout());
-
--// Set read timout with the second param as a string, supposed to trigger a warning
--var_dump($s->setReadTimeout(10, ''));
-+try {
-+ // Set read timout with the second param as a string, supposed to trigger a warning/exception
-+ var_dump($s->setReadTimeout(10, ''));
-+} catch (TypeError $e) {
-+ echo $e->getMessage() . PHP_EOL;
-+}
- // Fourth test, read supposed to get the last value set : 10.5
- var_dump($s->getReadTimeout());
-
-@@ -64,18 +72,14 @@ array(2) {
- ["usec"]=>
- int(5)
- }
--
--Warning: Stomp::setReadTimeout() expects parameter 1 to be long, string given in %s on line %d
--NULL
-+%AStomp::setReadTimeout()%s1%s string given%A
- array(2) {
- ["sec"]=>
- int(10)
- ["usec"]=>
- int(5)
- }
--
--Warning: Stomp::setReadTimeout() expects parameter 2 to be long, string given in %s on line %d
--NULL
-+%AStomp::setReadTimeout()%s2%s string given%A
- array(2) {
- ["sec"]=>
- int(10)
-diff --git a/tests/010-timeout/002.phpt b/tests/010-timeout/002.phpt
-index a6a9b4a..c22dedf 100644
---- a/tests/010-timeout/002.phpt
-+++ b/tests/010-timeout/002.phpt
-@@ -25,13 +25,23 @@ var_dump(stomp_set_read_timeout($link, 10, 5));
- // Third test, read supposed to return 10.5
- var_dump(stomp_get_read_timeout($link));
-
--// Set read timout with the first param as a string, supposed to trigger a warning
--var_dump(stomp_set_read_timeout($link, ''));
-+try {
-+ // Set read timout with the first param as a string, supposed to trigger a warning on PHP 7
-+ // supposed to trigger an exception on PHP 8
-+ var_dump(stomp_set_read_timeout($link, ''));
-+} catch (TypeError $e) {
-+ echo $e->getMessage() . PHP_EOL;
-+}
- // Fourth test, read supposed to get the last value set : 10.5
- var_dump(stomp_get_read_timeout($link));
-
--// Set read timout with the second param as a string, supposed to trigger a warning
--var_dump(stomp_set_read_timeout($link, 10, ''));
-+try {
-+ // Set read timout with the second param as a string, supposed to trigger a warning on PHP 7
-+ // supposed to trigger an exception on PHP 8
-+ var_dump(stomp_set_read_timeout($link, 10, ''));
-+} catch (TypeError $e) {
-+ echo $e->getMessage() . PHP_EOL;
-+}
- // Fourth test, read supposed to get the last value set : 10.5
- var_dump(stomp_get_read_timeout($link));
-
-@@ -64,18 +74,14 @@ array(2) {
- ["usec"]=>
- int(5)
- }
--
--Warning: stomp_set_read_timeout() expects parameter 2 to be long, string given in %s on line %d
--NULL
-+%Astomp_set_read_timeout()%s2%S string given%A
- array(2) {
- ["sec"]=>
- int(10)
- ["usec"]=>
- int(5)
- }
--
--Warning: stomp_set_read_timeout() expects parameter 3 to be long, string given in %s on line %d
--NULL
-+%Astomp_set_read_timeout()%s3%s string given%A
- array(2) {
- ["sec"]=>
- int(10)
diff --git a/dev-php/pecl-stomp/pecl-stomp-2.0.2-r1.ebuild b/dev-php/pecl-stomp/pecl-stomp-2.0.3.ebuild
index 9a975221aa49..fc45df0a10a7 100644
--- a/dev-php/pecl-stomp/pecl-stomp-2.0.2-r1.ebuild
+++ b/dev-php/pecl-stomp/pecl-stomp-2.0.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-USE_PHP="php7-3 php7-4 php8-0"
+USE_PHP="php7-4 php8-0 php8-1 php8-2"
PHP_EXT_NAME="stomp"
PHP_EXT_NEEDED_USE="ssl(-)?"
DOCS=( CREDITS doc/classes.php doc/functions.php )
@@ -20,8 +20,6 @@ RESTRICT="!test? ( test )"
BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/pecl-stomp-2.0.2-php8.patch" )
-
src_configure() {
local PHP_EXT_ECONF_ARGS=(
--enable-stomp
diff --git a/dev-php/pecl-yaz/Manifest b/dev-php/pecl-yaz/Manifest
index 32405688717e..b210f4619cd3 100644
--- a/dev-php/pecl-yaz/Manifest
+++ b/dev-php/pecl-yaz/Manifest
@@ -1,5 +1,7 @@
AUX 1.2.3/0001-arginfo_php8-support.patch 7166 BLAKE2B 42859817ae81ba437670c721e3967e9ec3d5eaca15dacee049a0e57d84ef9df1ac6fcff564d3ab1ba07acb75a0ce15dfdfa761d6eda4556a129c91d317292ca4 SHA512 01e742cf947fa2d4e167d16e9112a863ab23911aace807ca6a9e17f66cb304c96aec2a93dcef9f712243b2eeaa24df3a51afd999fcdf95ee7345f2586ba9768b
AUX 1.2.3/0002-arginfo-fixes.patch 1148 BLAKE2B 5910c1ccf81193cd4da155302c460b8a4859995c94bf2994631c288b60f4bc4681687a0426642b902c31e5ffd515c67346ad3fcd7e507fd45621a7f163a279d5 SHA512 5cb04810fc9dcf6cd6aa3b8f605dd8059c3e528b135c1433f2801c2737308341dc5f5475f5c14d91abe526d8fb86cbb13f62244ac26d223ad88aff2804e10d81
DIST yaz-1.2.3.tgz 20059 BLAKE2B 3fbf6d57e8519f6d363dbf308cb6ba259098521ae352f8886e8e12ca2a0d8119eaa31fc30301aea6979b32c6c321c4de0ad63ebe72e8f52cbb630d7f136f3e60 SHA512 5e6ebccac05fa44b0758b6817530e8cb436e45ead659f6a5029383515213bcce8c8cc7ceb8ef5ff4ec2335ad5c3009c6ccf8786116b115c24a013329d107bd7a
+DIST yaz-1.2.4.tgz 20204 BLAKE2B f36a0db6b8c49a8a4235f49ef07e28196954e9e25bcbe1a2fe94d69d14224b777f692bdc135b17b4d12d1684bb2abd52fd7966a3d78460e563d8475e31cb0ce6 SHA512 c7e17681ec82805ba74d643b427d6fdb4c4542a7efcf690cf9e4ac8adf61b9a9bfe3268ed317dc5220a85f9962f86387c3054f50e98cd986b29f8fb3f5be6b1e
EBUILD pecl-yaz-1.2.3-r1.ebuild 597 BLAKE2B a92bdafce8e9a69925a443b2e9adec4acc9b2833dce6d500ec9ec2e80686cf67c52216e8e1551119b757d66d1506d5823a1524b50baa7c45473b2e5d38e7fa4b SHA512 ee7044f1e861664e1e1ca4b58153d0840bfb46591405c8812c36f0489b59d30d54bf892e955d157db1967b37b839d742d502c82bead3b59fab17c0877d2a0382
+EBUILD pecl-yaz-1.2.4.ebuild 651 BLAKE2B 8d0216ac6ea7d7797520278fa53a82dd3dd8068d4caa92fe1e3b43ab6accfd113dcbcb65fa72c57924aabf917083ba855ef2d6bc983d8f07a5446827ca3d4f79 SHA512 21ddb9330556a24d7c61b3c31102adbfc04db76a561d56e3cda0cc4e1bae9a07de59c0dda23d99ac8bc88e184ed6bcef6c2f6f777870e0af6c059c31eddf058f
MISC metadata.xml 240 BLAKE2B f60f325331d493a555e53c29c7cf2742a415356da28a467505f1441f3fd790fd0d59050df84854bdc379d19d94a46121216479807975a2922d5a2fefde83416b SHA512 fada9d69055f2be962b95aac82f260ec5db7a3f4392d10f0458a1d125938fa17539f7ec486000f3a95cff85a3fbb6bbf1f6f4fe6c2de7aa420a7543a3e89d03e
diff --git a/dev-php/pecl-yaz/pecl-yaz-1.2.4.ebuild b/dev-php/pecl-yaz/pecl-yaz-1.2.4.ebuild
new file mode 100644
index 000000000000..757dad0ff483
--- /dev/null
+++ b/dev-php/pecl-yaz/pecl-yaz-1.2.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PHP_EXT_NAME="yaz"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS=( README )
+
+USE_PHP="php7-4 php8-0 php8-1 php8-2"
+
+inherit php-ext-pecl-r3
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+DESCRIPTION="This extension implements a Z39.50 client for PHP using the YAZ toolkit"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=dev-libs/yaz-3.0.2:0="
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+# Needs network access to z3950.indexdata.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+PHP_EXT_ECONF_ARGS="--with-yaz=/usr"