diff options
author | Remi Collet <remi@remirepo.net> | 2025-07-18 10:25:50 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2025-07-18 10:25:50 +0200 |
commit | 23f1e90d271b16f24e96da7861d7df32530a8220 (patch) | |
tree | af2bfb45c2979c80a9898268c9788e60c42d2c80 | |
parent | 7be14e8a2d638f53fc2f2084a9c61934a2a57993 (diff) |
https://github.com/laruence/yaf/pull/594
re-license spec file to CECILL-2.1
-rw-r--r-- | 0001-remove-trailing-space.patch | 4 | ||||
-rw-r--r-- | 0002-relax-test-expectations-for-8.4.patch | 4 | ||||
-rw-r--r-- | 0003-Fix-for-PHP-8.5.patch | 129 | ||||
-rw-r--r-- | php-pecl-yaf.spec | 19 |
4 files changed, 147 insertions, 9 deletions
diff --git a/0001-remove-trailing-space.patch b/0001-remove-trailing-space.patch index 69f8efe..ad156a9 100644 --- a/0001-remove-trailing-space.patch +++ b/0001-remove-trailing-space.patch @@ -1,7 +1,7 @@ From 6553d00c0d103b1abe530c9dfdc2e37a6f8875f9 Mon Sep 17 00:00:00 2001 From: Remi Collet <remi@remirepo.net> Date: Tue, 1 Oct 2024 12:00:16 +0200 -Subject: [PATCH] remove trailing space +Subject: [PATCH 1/3] remove trailing space --- config.m4 | 2 +- @@ -21,5 +21,5 @@ index 73f8097..68f14fa 100644 yaf_loader.c \ yaf_registry.c \ -- -2.46.2 +2.50.1 diff --git a/0002-relax-test-expectations-for-8.4.patch b/0002-relax-test-expectations-for-8.4.patch index 977d26d..ff26364 100644 --- a/0002-relax-test-expectations-for-8.4.patch +++ b/0002-relax-test-expectations-for-8.4.patch @@ -1,7 +1,7 @@ From 5ddaa82f4c43eeac372b8c1ebe606ebff43829a8 Mon Sep 17 00:00:00 2001 From: Remi Collet <remi@remirepo.net> Date: Tue, 1 Oct 2024 12:04:15 +0200 -Subject: [PATCH 2/2] relax test expectations for 8.4 +Subject: [PATCH 2/3] relax test expectations for 8.4 --- tests/038.phpt | 2 +- @@ -30,5 +30,5 @@ index bac421d..2564aa9 100755 -syntax error, unexpected %s}%c +syntax error, unexpected %s -- -2.46.2 +2.50.1 diff --git a/0003-Fix-for-PHP-8.5.patch b/0003-Fix-for-PHP-8.5.patch new file mode 100644 index 0000000..d38d12d --- /dev/null +++ b/0003-Fix-for-PHP-8.5.patch @@ -0,0 +1,129 @@ +From af27b18c2112114b2dfd18e535ceb1846282823a Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Fri, 18 Jul 2025 10:18:56 +0200 +Subject: [PATCH 3/3] Fix for PHP 8.5 + +- use zend_ce_exception instead of zend_exception_get_default +- use ZSTR_ALLOCA_* instead of STR_ALLOCA_* +- relax test expectation in error message +--- + tests/104.phpt | 2 +- + yaf_dispatcher.c | 18 +++++++++--------- + yaf_exception.c | 2 +- + yaf_request.c | 2 +- + 4 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/tests/104.phpt b/tests/104.phpt +index 797a35a..6eb545c 100644 +--- a/tests/104.phpt ++++ b/tests/104.phpt +@@ -174,4 +174,4 @@ string(%s) "Failed opening action script %sindex.php: No such file or directory" + string(61) "Action 'IndexAction' is not a subclass of Yaf_Action_Abstract" + string(61) "Action 'IndexAction' is not a subclass of Yaf_Action_Abstract" + +-Fatal error: Class FooAction contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Yaf_Action_Abstract::execute) in %sfoo.php on line %d ++Fatal error: Class FooAction contains 1 abstract method and must therefore be declared abstract or implement the remaining method%s(Yaf_Action_Abstract::execute) in %sfoo.php on line %d +diff --git a/yaf_dispatcher.c b/yaf_dispatcher.c +index 6bf98f9..c585bb0 100644 +--- a/yaf_dispatcher.c ++++ b/yaf_dispatcher.c +@@ -21,7 +21,7 @@ + #include "php.h" + #include "main/SAPI.h" /* for sapi_module */ + #include "Zend/zend_interfaces.h" /* for zend_call_method_with_* */ +-#include "Zend/zend_exceptions.h" /* for zend_exception_get_default */ ++#include "Zend/zend_exceptions.h" /* for zend_ce_exception */ + + #include "php_yaf.h" + #include "yaf_namespace.h" +@@ -355,7 +355,7 @@ static zend_class_entry *yaf_dispatcher_get_controller(zend_string *app_dir, yaf + directory_len += yaf_compose_2_pathes(directory + directory_len, module, ZEND_STRL(YAF_CONTROLLER_DIRECTORY_NAME)); + } + +- STR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(controller) + YAF_G(name_separator_len) + sizeof("controller") - 1, use_heap); ++ ZSTR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(controller) + YAF_G(name_separator_len) + sizeof("controller") - 1, use_heap); + if (EXPECTED(yaf_is_name_suffix())) { + char *p = ZSTR_VAL(lc_name); + zend_str_tolower_copy(p, ZSTR_VAL(controller), ZSTR_LEN(controller)); +@@ -381,15 +381,15 @@ static zend_class_entry *yaf_dispatcher_get_controller(zend_string *app_dir, yaf + if (yaf_loader_load_internal(l, ZSTR_VAL(controller), ZSTR_LEN(controller), directory, directory_len)) { + if (EXPECTED((ce = zend_hash_find_ptr(EG(class_table), lc_name)))) { + if (EXPECTED(instanceof_function(ce, yaf_controller_ce))) { +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + return ce; + } + } + } +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + return yaf_dispatcher_get_errors_hub(1, ce, controller, directory, directory_len); + } +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + return ce; + } + /* }}} */ +@@ -417,7 +417,7 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con + zend_string *lc_name; + ALLOCA_FLAG(use_heap); + +- STR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(action) + YAF_G(name_separator_len) + sizeof("action") - 1, use_heap); ++ ZSTR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(action) + YAF_G(name_separator_len) + sizeof("action") - 1, use_heap); + if (EXPECTED(yaf_is_name_suffix())) { + char *p = ZSTR_VAL(lc_name); + memcpy(p, ZSTR_VAL(action), ZSTR_LEN(action)); +@@ -440,7 +440,7 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con + + if ((ce = zend_hash_find_ptr(EG(class_table), lc_name)) != NULL) { + if (EXPECTED(instanceof_function(ce, yaf_action_ce))) { +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + return ce; + } + } else if (((pzval = zend_hash_find_ind(Z_ARRVAL_P(actions_map), action)) != NULL) && +@@ -453,13 +453,13 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con + if (yaf_loader_import(path, len)) { + if ((ce = zend_hash_find_ptr(EG(class_table), lc_name)) != NULL) { + if (EXPECTED(instanceof_function(ce, yaf_action_ce))) { +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + return ce; + } + } + } + } +- STR_ALLOCA_FREE(lc_name, use_heap); ++ ZSTR_ALLOCA_FREE(lc_name, use_heap); + } + + return yaf_dispatcher_get_errors_hub(2, ce, actions_map, action, controller, path); +diff --git a/yaf_exception.c b/yaf_exception.c +index e987756..9e25b5b 100644 +--- a/yaf_exception.c ++++ b/yaf_exception.c +@@ -73,7 +73,7 @@ zend_class_entry * yaf_get_exception_base(int root) /* {{{ */ { + } + #endif + +- return zend_exception_get_default(); ++ return zend_ce_exception; + } + /* }}} */ + +diff --git a/yaf_request.c b/yaf_request.c +index e4869c5..372823a 100644 +--- a/yaf_request.c ++++ b/yaf_request.c +@@ -21,7 +21,7 @@ + #include "php.h" + #include "main/SAPI.h" + #include "standard/php_string.h" /* for php_basename */ +-#include "Zend/zend_exceptions.h" /* for zend_exception_get_default */ ++#include "Zend/zend_exceptions.h" /* for zend_ce_exception */ + #include "Zend/zend_interfaces.h" /* for zend_class_serialize_deny */ + #include "Zend/zend_smart_str.h" + +-- +2.50.1 + diff --git a/php-pecl-yaf.spec b/php-pecl-yaf.spec index 3600747..d2f13b7 100644 --- a/php-pecl-yaf.spec +++ b/php-pecl-yaf.spec @@ -1,8 +1,8 @@ # remirepo spec file for php-pecl-yaf # -# Copyright (c) 2012-2024 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2012-2025 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # @@ -24,7 +24,7 @@ Summary: Yet Another Framework Name: %{?scl_prefix}php-pecl-yaf Version: 3.3.6 -Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: PHP-3.01 URL: https://pecl.php.net/package/yaf Source0: https://pecl.php.net/get/%{sources}%{?prever}.tgz @@ -33,12 +33,12 @@ Source1: %{pecl_name}.ini Patch0: %{pecl_name}-upstream.patch Patch1: 0001-remove-trailing-space.patch Patch2: 0002-relax-test-expectations-for-8.4.patch +Patch3: 0003-Fix-for-PHP-8.5.patch BuildRequires: make BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7.0 BuildRequires: %{?scl_prefix}php-pear -BuildRequires: pcre-devel # for tests BuildRequires: %{?scl_prefix}php-json @@ -70,6 +70,7 @@ cd %{sources} %patch -P0 -p1 %patch -P1 -p1 %patch -P2 -p1 +%patch -P3 -p1 # Sanity check, really often broken extver=$(sed -n '/#define PHP_YAF_VERSION/{s/.*\t"//;s/".*$//;p}' php_yaf.h ) @@ -171,6 +172,14 @@ REPORT_EXIT_STATUS=1 \ %changelog +* Fri Jul 18 2025 Remi Collet <remi@remirepo.net> - 3.3.6-5 +- fix PHP 8.5.0alpha2 build using patch from + https://github.com/laruence/yaf/pull/594 +- re-license spec file to CECILL-2.1 + +* Tue Nov 26 2024 Remi Collet <remi@remirepo.net> - 3.3.6-4 +- drop BR on pcre-devel + * Tue Oct 1 2024 Remi Collet <remi@remirepo.net> - 3.3.6-3 - fix PHP 8.4 build using patch from https://github.com/laruence/yaf/pull/594 |