summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--14.patch51
-rw-r--r--php-pecl-hprose.spec31
2 files changed, 62 insertions, 20 deletions
diff --git a/14.patch b/14.patch
new file mode 100644
index 0000000..0191414
--- /dev/null
+++ b/14.patch
@@ -0,0 +1,51 @@
+From 42e38feb2bd06b0504d0a5efe2f22de332b8de9d Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Tue, 26 Jun 2018 10:10:48 +0200
+Subject: [PATCH] fix for PHP 7.3
+
+---
+ hprose_common.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/hprose_common.c b/hprose_common.c
+index f7ecdde..a2de5f5 100644
+--- a/hprose_common.c
++++ b/hprose_common.c
+@@ -158,12 +158,15 @@ zend_fcall_info_cache __get_fcall_info_cache(zval *obj, char *name, int32_t len
+ lcname = zend_str_tolower_dup(fname, flen);
+ #if PHP_MAJOR_VERSION < 7
+ if (zend_hash_find(&ce->function_table, lcname, flen + 1, (void **) &fptr) == FAILURE) {
++ efree(lcname);
++ zend_throw_exception_ex(NULL, 0 TSRMLS_CC,
++ "Method %s::%s() does not exist", ce->name, fname);
+ #else
+ if ((fptr = zend_hash_str_find_ptr(&ce->function_table, lcname, flen)) == NULL) {
+-#endif
+ efree(lcname);
+ zend_throw_exception_ex(NULL, 0 TSRMLS_CC,
+- "Method %s::%s() does not exist", ce->name, fname);
++ "Method %s::%s() does not exist", ZSTR_VAL(ce->name), fname);
++#endif
+ return fcc;
+ }
+ fcc.function_handler = fptr;
+@@ -199,7 +202,9 @@ zend_fcall_info_cache __get_fcall_info_cache(zval *obj, char *name, int32_t len
+ if (lcname) {
+ efree(lcname);
+ }
++#if PHP_VERSION_ID < 70300
+ fcc.initialized = 1;
++#endif
+ return fcc;
+ }
+
+@@ -761,7 +766,9 @@ zend_class_entry *__create_php_object(char *class_name, int32_t len, zval *retur
+ fci.params = params;
+ fci.no_separation = 1;
+
++#if PHP_VERSION_ID < 70300
+ fcc.initialized = 1;
++#endif
+ fcc.function_handler = constructor;
+ fcc.calling_scope = scope;
+ fcc.called_scope = Z_OBJCE_P(return_value);
diff --git a/php-pecl-hprose.spec b/php-pecl-hprose.spec
index 04f0758..68ef46a 100644
--- a/php-pecl-hprose.spec
+++ b/php-pecl-hprose.spec
@@ -1,6 +1,6 @@
# remirepo spec file for php-pecl-hprose
#
-# Copyright (c) 2015-2017 Remi Collet
+# Copyright (c) 2015-2018 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
@@ -23,14 +23,14 @@
Summary: Hprose for PHP
Name: %{?sub_prefix}php-pecl-%{pecl_name}
Version: 1.6.6
-Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: MIT
-Group: Development/Languages
URL: http://pecl.php.net/package/%{pecl_name}
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: %{?scl_prefix}php-devel > 5.3
+Patch0: https://patch-diff.githubusercontent.com/raw/hprose/hprose-pecl/pull/14.patch
+
+BuildRequires: %{?scl_prefix}php-devel
BuildRequires: %{?scl_prefix}php-pear
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
@@ -48,14 +48,6 @@ Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{rele
%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}
# Other third party repo stuff
-Obsoletes: php53-pecl-%{pecl_name} <= %{version}
-Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
-%if "%{php_version}" > "5.5"
-Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
-%endif
%if "%{php_version}" > "5.6"
Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
@@ -109,6 +101,7 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
+%patch0 -p1 -b .pr14
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_HPROSE_VERSION/{s/.* "//;s/".*$//;p}' php_hprose.h)
@@ -153,7 +146,6 @@ make %{?_smp_mflags}
%install
-rm -rf %{buildroot}
%{?dtsenable}
make -C NTS install INSTALL_ROOT=%{buildroot}
@@ -176,7 +168,7 @@ do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
done
-%if 0%{?fedora} < 24
+%if 0%{?fedora} < 24 && 0%{?rhel} < 8
# when pear installed alone, after us
%triggerin -- %{?scl_prefix}php-pear
if [ -x %{__pecl} ] ; then
@@ -230,12 +222,7 @@ REPORT_EXIT_STATUS=1 \
%endif
-%clean
-rm -rf %{buildroot}
-
-
%files
-%defattr(-,root,root,-)
%{?_licensedir:%license NTS/LICENSE.md}
%doc %{pecl_docdir}/%{pecl_name}
%{pecl_xmldir}/%{name}.xml
@@ -250,6 +237,10 @@ rm -rf %{buildroot}
%changelog
+* Tue Jun 26 2018 Remi Collet <remi@remirepo.net> - 1.6.6-3
+- add patch for PHP 7.3 from
+ https://github.com/hprose/hprose-pecl/pull/14
+
* Tue Jul 18 2017 Remi Collet <remi@remirepo.net> - 1.6.6-2
- rebuild for PHP 7.2.0beta1 new API