summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--358.patch188
-rw-r--r--php-pecl-yaf.spec17
2 files changed, 204 insertions, 1 deletions
diff --git a/358.patch b/358.patch
new file mode 100644
index 0000000..1468b2f
--- /dev/null
+++ b/358.patch
@@ -0,0 +1,188 @@
+From 7c96eeac28e5bf9dcfc63abfbc7fd832247c78ee Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Sun, 25 Jun 2017 08:03:41 +0200
+Subject: [PATCH] fix for PHP 7.2
+
+---
+ configs/yaf_config_ini.c | 6 ++++--
+ configs/yaf_config_simple.c | 6 ++++--
+ requests/yaf_request_http.c | 2 +-
+ requests/yaf_request_simple.c | 2 +-
+ yaf_application.c | 2 +-
+ yaf_dispatcher.c | 2 +-
+ yaf_loader.c | 2 +-
+ yaf_registry.c | 2 +-
+ yaf_session.c | 10 ++++++----
+ 9 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/configs/yaf_config_ini.c b/configs/yaf_config_ini.c
+index 77e00c6..b7987b9 100644
+--- a/configs/yaf_config_ini.c
++++ b/configs/yaf_config_ini.c
+@@ -31,7 +31,7 @@
+
+ zend_class_entry *yaf_config_ini_ce;
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ extern PHPAPI zend_class_entry *spl_ce_Countable;
+ #endif
+
+@@ -654,8 +654,10 @@ YAF_STARTUP_FUNCTION(config_ini) {
+ YAF_INIT_CLASS_ENTRY(ce, "Yaf_Config_Ini", "Yaf\\Config\\Ini", yaf_config_ini_methods);
+ yaf_config_ini_ce = zend_register_internal_class_ex(&ce, yaf_config_ce);
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ zend_class_implements(yaf_config_ini_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, spl_ce_Countable);
++#elif PHP_VERSION_ID >= 70200
++ zend_class_implements(yaf_config_ini_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, zend_ce_countable);
+ #else
+ zend_class_implements(yaf_config_ini_ce, 2, zend_ce_iterator, zend_ce_arrayaccess);
+ #endif
+diff --git a/configs/yaf_config_simple.c b/configs/yaf_config_simple.c
+index 8718613..ecf2094 100644
+--- a/configs/yaf_config_simple.c
++++ b/configs/yaf_config_simple.c
+@@ -30,7 +30,7 @@
+
+ zend_class_entry *yaf_config_simple_ce;
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ extern PHPAPI zend_class_entry *spl_ce_Countable;
+ #endif
+
+@@ -365,8 +365,10 @@ YAF_STARTUP_FUNCTION(config_simple) {
+ YAF_INIT_CLASS_ENTRY(ce, "Yaf_Config_Simple", "Yaf\\Config\\Simple", yaf_config_simple_methods);
+ yaf_config_simple_ce = zend_register_internal_class_ex(&ce, yaf_config_ce);
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ zend_class_implements(yaf_config_simple_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, spl_ce_Countable);
++#elif PHP_VERSION_ID >= 70200
++ zend_class_implements(yaf_config_simple_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, zend_ce_countable);
+ #else
+ zend_class_implements(yaf_config_simple_ce, 2, zend_ce_iterator, zend_ce_arrayaccess);
+ #endif
+diff --git a/requests/yaf_request_http.c b/requests/yaf_request_http.c
+index 48cede1..2e0b263 100644
+--- a/requests/yaf_request_http.c
++++ b/requests/yaf_request_http.c
+@@ -265,7 +265,7 @@ zend_function_entry yaf_request_http_methods[] = {
+ PHP_ME(yaf_request_http, get, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_request_http, isXmlHttpRequest, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_request_http, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
+- PHP_ME(yaf_request_http, __clone, NULL, ZEND_ACC_PRIVATE | ZEND_ACC_CLONE)
++ PHP_ME(yaf_request_http, __clone, NULL, ZEND_ACC_PRIVATE)
+ {NULL, NULL, NULL}
+ };
+ /* }}} */
+diff --git a/requests/yaf_request_simple.c b/requests/yaf_request_simple.c
+index 8652117..e4405c7 100644
+--- a/requests/yaf_request_simple.c
++++ b/requests/yaf_request_simple.c
+@@ -234,7 +234,7 @@ PHP_METHOD(yaf_request_simple, __clone) {
+ */
+ zend_function_entry yaf_request_simple_methods[] = {
+ PHP_ME(yaf_request_simple, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
+- PHP_ME(yaf_request_simple, __clone, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_CLONE)
++ PHP_ME(yaf_request_simple, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_request_simple, getQuery, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_request_simple, getRequest, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_request_simple, getPost, NULL, ZEND_ACC_PUBLIC)
+diff --git a/yaf_application.c b/yaf_application.c
+index a4bc554..fe7ec77 100644
+--- a/yaf_application.c
++++ b/yaf_application.c
+@@ -651,7 +651,7 @@ zend_function_entry yaf_application_methods[] = {
+ PHP_ME(yaf_application, getLastErrorMsg, yaf_application_void_arginfo, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_application, clearLastError, yaf_application_void_arginfo, ZEND_ACC_PUBLIC)
+ PHP_ME(yaf_application, __destruct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_DTOR)
+- PHP_ME(yaf_application, __clone, NULL, ZEND_ACC_PRIVATE | ZEND_ACC_CLONE)
++ PHP_ME(yaf_application, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_application, __sleep, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_application, __wakeup, NULL, ZEND_ACC_PRIVATE)
+ {NULL, NULL, NULL}
+diff --git a/yaf_dispatcher.c b/yaf_dispatcher.c
+index 9967972..f20b40a 100644
+--- a/yaf_dispatcher.c
++++ b/yaf_dispatcher.c
+@@ -1314,7 +1314,7 @@ PHP_METHOD(yaf_dispatcher, __clone) {
+ */
+ zend_function_entry yaf_dispatcher_methods[] = {
+ PHP_ME(yaf_dispatcher, __construct, NULL, ZEND_ACC_PRIVATE | ZEND_ACC_CTOR)
+- PHP_ME(yaf_dispatcher, __clone, NULL, ZEND_ACC_PRIVATE | ZEND_ACC_CLONE)
++ PHP_ME(yaf_dispatcher, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_dispatcher, __sleep, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_dispatcher, __wakeup, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_dispatcher, enableView, yaf_dispatcher_void_arginfo, ZEND_ACC_PUBLIC)
+diff --git a/yaf_loader.c b/yaf_loader.c
+index 2010551..62e34e9 100644
+--- a/yaf_loader.c
++++ b/yaf_loader.c
+@@ -764,7 +764,7 @@ PHP_FUNCTION(yaf_override_spl_autoload) {
+ */
+ zend_function_entry yaf_loader_methods[] = {
+ PHP_ME(yaf_loader, __construct, yaf_loader_void_arginfo, ZEND_ACC_PRIVATE|ZEND_ACC_CTOR)
+- PHP_ME(yaf_loader, __clone, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_CLONE)
++ PHP_ME(yaf_loader, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_loader, __sleep, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_loader, __wakeup, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_loader, autoload, yaf_loader_autoloader_arginfo, ZEND_ACC_PUBLIC)
+diff --git a/yaf_registry.c b/yaf_registry.c
+index e7649e7..891b47b 100644
+--- a/yaf_registry.c
++++ b/yaf_registry.c
+@@ -186,7 +186,7 @@ PHP_METHOD(yaf_registry, getInstance) {
+ */
+ zend_function_entry yaf_registry_methods[] = {
+ PHP_ME(yaf_registry, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE)
+- PHP_ME(yaf_registry, __clone, NULL, ZEND_ACC_CLONE|ZEND_ACC_PRIVATE)
++ PHP_ME(yaf_registry, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_registry, get, yaf_registry_get_arginfo, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+ PHP_ME(yaf_registry, has, yaf_registry_has_arginfo, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+ PHP_ME(yaf_registry, set, yaf_registry_set_arginfo, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+diff --git a/yaf_session.c b/yaf_session.c
+index 1b2d05f..ff48291 100644
+--- a/yaf_session.c
++++ b/yaf_session.c
+@@ -19,7 +19,7 @@
+ #endif
+
+ #include "php.h"
+-#include "Zend/zend_interfaces.h" /* for zend_ce_iterator */
++#include "Zend/zend_interfaces.h" /* for zend_ce_iterator, zend_ce_countable*/
+
+ #include "php_yaf.h"
+ #include "yaf_namespace.h"
+@@ -28,7 +28,7 @@
+
+ zend_class_entry *yaf_session_ce;
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ extern PHPAPI zend_class_entry *spl_ce_Countable;
+ #endif
+
+@@ -320,7 +320,7 @@ PHP_METHOD(yaf_session, valid) {
+ */
+ zend_function_entry yaf_session_methods[] = {
+ PHP_ME(yaf_session, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE)
+- PHP_ME(yaf_session, __clone, NULL, ZEND_ACC_CLONE|ZEND_ACC_PRIVATE)
++ PHP_ME(yaf_session, __clone, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_session, __sleep, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_session, __wakeup, NULL, ZEND_ACC_PRIVATE)
+ PHP_ME(yaf_session, getInstance, yaf_session_void_arginfo, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+@@ -358,8 +358,10 @@ YAF_STARTUP_FUNCTION(session) {
+ yaf_session_ce = zend_register_internal_class_ex(&ce, NULL);
+ yaf_session_ce->ce_flags |= ZEND_ACC_FINAL;
+
+-#ifdef HAVE_SPL
++#if defined(HAVE_SPL) && PHP_VERSION_ID < 70200
+ zend_class_implements(yaf_session_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, spl_ce_Countable);
++#elif PHP_VERSION_ID >= 70200
++ zend_class_implements(yaf_session_ce, 3, zend_ce_iterator, zend_ce_arrayaccess, zend_ce_countable);
+ #else
+ zend_class_implements(yaf_session_ce, 2, zend_ce_iterator, zend_ce_arrayaccess);
+ #endif
diff --git a/php-pecl-yaf.spec b/php-pecl-yaf.spec
index af4873a..78aa158 100644
--- a/php-pecl-yaf.spec
+++ b/php-pecl-yaf.spec
@@ -27,7 +27,7 @@ Version: 3.0.4
Release: 0.9.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz
%else
-Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source: http://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz
%endif
License: PHP
@@ -35,6 +35,8 @@ Group: Development/Languages
URL: http://pecl.php.net/package/yaf
Source1: %{pecl_name}.ini
+Patch0: 358.patch
+
BuildRequires: %{?scl_prefix}php-devel >= 7
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: pcre-devel
@@ -68,6 +70,10 @@ Obsoletes: php70w-pecl-%{pecl_name} <= %{version}
Obsoletes: php71u-pecl-%{pecl_name} <= %{version}
Obsoletes: php71w-pecl-%{pecl_name} <= %{version}
%endif
+%if "%{php_version}" > "7.2"
+Obsoletes: php72u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php72w-pecl-%{pecl_name} <= %{version}
+%endif
%endif
%if 0%{?fedora} < 20 && 0%{?rhel} < 7
@@ -99,6 +105,7 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
+%patch0 -p1 -b .pr358
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_YAF_VERSION/{s/.*\t"//;s/".*$//;p}' php_yaf.h )
@@ -115,6 +122,8 @@ cp -pr NTS ZTS
%build
+%{?dtsenable}
+
cd NTS
%{_bindir}/phpize
%configure --with-php-config=%{_bindir}/php-config
@@ -129,6 +138,8 @@ make %{?_smp_mflags}
%install
+%{?dtsenable}
+
# Install the NTS stuff
make -C NTS install INSTALL_ROOT=%{buildroot}
install -D -m 644 %{SOURCE1} %{buildroot}%{php_inidir}/%{ini_name}
@@ -218,6 +229,10 @@ fi
%changelog
+* Sun Jun 25 2017 Remi Collet <remi@remirepo.net> - 3.0.4-4
+- add patch for PHP 7.2 from
+ https://github.com/laruence/yaf/pull/358
+
* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 3.0.4-3
- rebuild with PHP 7.1.0 GA