git: eed0de23279f - main - www/pecl-yaf: Fix build with PHP 8.2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 30 Jun 2023 07:18:42 UTC
The branch main has been updated by sunpoet:
URL: https://cgit.FreeBSD.org/ports/commit/?id=eed0de23279ffa5fb5be7186f8998003efcb191d
commit eed0de23279ffa5fb5be7186f8998003efcb191d
Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-06-30 07:02:55 +0000
Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-06-30 07:02:55 +0000
www/pecl-yaf: Fix build with PHP 8.2
- Update WWW
Obtained from: https://github.com/laruence/yaf/pull/579 [1]
---
www/pecl-yaf/Makefile | 5 ++--
www/pecl-yaf/files/patch-php82 | 64 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/www/pecl-yaf/Makefile b/www/pecl-yaf/Makefile
index ce14f4c7f153..aeff5b8a6efe 100644
--- a/www/pecl-yaf/Makefile
+++ b/www/pecl-yaf/Makefile
@@ -4,7 +4,8 @@ CATEGORIES= www
MAINTAINER= sunpoet@freeBSD.org
COMMENT= MVC framework written as a C PHP extension
-WWW= https://pecl.php.net/package/yaf
+WWW= https://pecl.php.net/package/yaf \
+ https://github.com/laruence/yaf
LICENSE= PHP301
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -13,6 +14,6 @@ LIB_DEPENDS= libpcre.so:devel/pcre
USES= localbase php:pecl
-IGNORE_WITH_PHP=82 83
+IGNORE_WITH_PHP=83
.include <bsd.port.mk>
diff --git a/www/pecl-yaf/files/patch-php82 b/www/pecl-yaf/files/patch-php82
new file mode 100644
index 000000000000..aa8f63eaa43e
--- /dev/null
+++ b/www/pecl-yaf/files/patch-php82
@@ -0,0 +1,64 @@
+Obtained from: https://github.com/laruence/yaf/pull/579
+
+--- requests/yaf_request_simple.c.orig 2022-05-20 02:26:39 UTC
++++ requests/yaf_request_simple.c
+@@ -140,6 +140,9 @@ YAF_STARTUP_FUNCTION(request_simple){
+ zend_class_entry ce;
+ YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Simple", "Yaf\\Request\\Simple", yaf_request_simple_methods);
+ yaf_request_simple_ce = zend_register_internal_class_ex(&ce, yaf_request_ce);
++#if PHP_VERSION_ID >= 80200
++ yaf_request_simple_ce->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES;
++#endif
+
+ return SUCCESS;
+ }
+--- tests/031.phpt.orig 2022-05-20 02:26:39 UTC
++++ tests/031.phpt
+@@ -36,7 +36,7 @@ Array
+ )
+ array (
+ '_default' =>
+- Yaf_Route_Map::__set_state(array(
++ %saf_Route_Map::__set_state(array(
+ 'ctl_prefer:protected' => true,
+ 'delimiter:protected' => '##',
+ )),
+--- tests/issue231.phpt.orig 2022-05-20 02:26:40 UTC
++++ tests/issue231.phpt
+@@ -34,7 +34,7 @@ Yaf_Request_Http Object
+ )
+
+ )
+-Yaf_Request_Http::__set_state(array(
++%saf_Request_Http::__set_state(array(
+ 'method' => 'POST',
+ 'module' => NULL,
+ 'controller' => NULL,
+--- views/yaf_view_simple.c.orig 2022-05-20 02:26:39 UTC
++++ views/yaf_view_simple.c
+@@ -388,8 +388,10 @@ static int yaf_view_simple_eval(yaf_view_t *view, zend
+ ZVAL_STR(&phtml, strpprintf(0, "?>%s", ZSTR_VAL(tpl)));
+ #if PHP_VERSION_ID < 80000
+ op_array = zend_compile_string(&phtml, eval_desc);
+-#else
++#elif PHP_VERSION_ID < 80200
+ op_array = zend_compile_string(Z_STR(phtml), eval_desc);
++#else
++ op_array = zend_compile_string(Z_STR(phtml), eval_desc, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG);
+ #endif
+ zval_dtor(&phtml);
+ efree(eval_desc);
+--- yaf_application.c.orig 2022-05-20 02:26:40 UTC
++++ yaf_application.c
+@@ -1053,8 +1053,10 @@ YAF_STARTUP_FUNCTION(application) {
+ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL;
+ yaf_application_ce->serialize = zend_class_serialize_deny;
+ yaf_application_ce->unserialize = zend_class_unserialize_deny;
+-#else
++#elif PHP_VERSION_ID < 80200
+ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE;
++#else
++ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE | ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES;
+ #endif
+
+ memcpy(&yaf_application_obj_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));