diff options
author | Remi Collet <remi@remirepo.net> | 2017-06-23 17:06:34 +0200 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2017-06-23 17:06:34 +0200 |
commit | ec89f5d4e71e9eab6126224b9c9a3578098a2f52 (patch) | |
tree | 8eea80d77a142c606d00fe758ec4c2a21d5b7b77 | |
parent | 6236aac37a962b6f3d033d711011cdb2125ab310 (diff) |
upstream patch for 7.2
-rw-r--r-- | REFLECTION | 145 | ||||
-rw-r--r-- | REFLECTION-PHP7 | 56 | ||||
-rw-r--r-- | php-pecl-uopz-php7.spec | 325 | ||||
-rw-r--r-- | php-pecl-uopz.spec | 130 | ||||
-rw-r--r-- | uopz-upstream.patch | 62 |
5 files changed, 158 insertions, 560 deletions
@@ -1,24 +1,6 @@ -Extension [ <persistent> extension #17 uopz version 2.0.7 ] { +Extension [ <persistent> extension #15 uopz version 5.0.1 ] { - - INI { - Entry [ uopz.overloads <SYSTEM> ] - Current = '0' - } - Entry [ uopz.backup <SYSTEM> ] - Current = '1' - } - Entry [ uopz.fixup <SYSTEM> ] - Current = '0' - } - } - - - Constants [24] { - Constant [ integer ZEND_USER_OPCODE_CONTINUE ] { 0 } - Constant [ integer ZEND_USER_OPCODE_ENTER ] { 3 } - Constant [ integer ZEND_USER_OPCODE_LEAVE ] { 4 } - Constant [ integer ZEND_USER_OPCODE_DISPATCH ] { 2 } - Constant [ integer ZEND_USER_OPCODE_DISPATCH_TO ] { 256 } - Constant [ integer ZEND_USER_OPCODE_RETURN ] { 1 } + - Constants [7] { Constant [ integer ZEND_ACC_PUBLIC ] { 256 } Constant [ integer ZEND_ACC_PRIVATE ] { 1024 } Constant [ integer ZEND_ACC_PROTECTED ] { 512 } @@ -26,121 +8,48 @@ Extension [ <persistent> extension #17 uopz version 2.0.7 ] { Constant [ integer ZEND_ACC_STATIC ] { 1 } Constant [ integer ZEND_ACC_FINAL ] { 4 } Constant [ integer ZEND_ACC_ABSTRACT ] { 2 } - Constant [ integer ZEND_ACC_CLASS ] { 0 } - Constant [ integer ZEND_ACC_INTERFACE ] { 128 } - Constant [ integer ZEND_ACC_TRAIT ] { 288 } - Constant [ integer ZEND_ACC_FETCH ] { 9223372036854775807 } - Constant [ integer ZEND_NEW ] { 68 } - Constant [ integer ZEND_THROW ] { 108 } - Constant [ integer ZEND_FETCH_CLASS ] { 109 } - Constant [ integer ZEND_ADD_TRAIT ] { 154 } - Constant [ integer ZEND_ADD_INTERFACE ] { 144 } - Constant [ integer ZEND_INSTANCEOF ] { 138 } - Constant [ integer ZEND_EXIT ] { 79 } } - Functions { - Function [ <internal:uopz> function uopz_overload ] { - - - Parameters [2] { - Parameter #0 [ <required> $opcode ] - Parameter #1 [ <required> $callable ] - } + Function [ <internal:uopz> function uopz_set_return ] { } - Function [ <internal:uopz> function uopz_backup ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - } + Function [ <internal:uopz> function uopz_get_return ] { } - Function [ <internal:uopz> function uopz_restore ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - } + Function [ <internal:uopz> function uopz_unset_return ] { } - Function [ <internal:uopz> function uopz_copy ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - } + Function [ <internal:uopz> function uopz_set_mock ] { } - Function [ <internal:uopz> function uopz_rename ] { - - - Parameters [3] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - Parameter #2 [ <required> $overload ] - } + Function [ <internal:uopz> function uopz_get_mock ] { } - Function [ <internal:uopz> function uopz_delete ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - } + Function [ <internal:uopz> function uopz_unset_mock ] { } - Function [ <internal:uopz> function uopz_redefine ] { - - - Parameters [3] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $constant ] - Parameter #2 [ <required> $value ] - } + Function [ <internal:uopz> function uopz_get_static ] { } - Function [ <internal:uopz> function uopz_undefine ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $constant ] - } + Function [ <internal:uopz> function uopz_set_static ] { } - Function [ <internal:uopz> function uopz_function ] { - - - Parameters [4] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - Parameter #2 [ <required> $handler ] - Parameter #3 [ <required> $modifiers ] - } + Function [ <internal:uopz> function uopz_set_hook ] { } - Function [ <internal:uopz> function uopz_flags ] { - - - Parameters [3] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $function ] - Parameter #2 [ <required> $flags ] - } + Function [ <internal:uopz> function uopz_get_hook ] { } - Function [ <internal:uopz> function uopz_implement ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $interface ] - } + Function [ <internal:uopz> function uopz_unset_hook ] { + } + Function [ <internal:uopz> function uopz_add_function ] { + } + Function [ <internal:uopz> function uopz_del_function ] { } Function [ <internal:uopz> function uopz_extend ] { - - - Parameters [2] { - Parameter #0 [ <required> $class ] - Parameter #1 [ <required> $parent ] - } } - Function [ <internal:uopz> function uopz_compose ] { - - - Parameters [2] { - Parameter #0 [ <required> $name ] - Parameter #1 [ <required> $classes ] - } + Function [ <internal:uopz> function uopz_implement ] { } - Function [ <internal:uopz> function __uopz_exit_overload ] { - - - Parameters [1] { - Parameter #0 [ <required> $status ] - } + Function [ <internal:uopz> function uopz_flags ] { + } + Function [ <internal:uopz> function uopz_redefine ] { + } + Function [ <internal:uopz> function uopz_undefine ] { + } + Function [ <internal:uopz> function uopz_set_property ] { + } + Function [ <internal:uopz> function uopz_get_property ] { } } } diff --git a/REFLECTION-PHP7 b/REFLECTION-PHP7 deleted file mode 100644 index 69196ce..0000000 --- a/REFLECTION-PHP7 +++ /dev/null @@ -1,56 +0,0 @@ -Extension [ <persistent> extension #15 uopz version 5.0.1 ] { - - - Constants [7] { - Constant [ integer ZEND_ACC_PUBLIC ] { 256 } - Constant [ integer ZEND_ACC_PRIVATE ] { 1024 } - Constant [ integer ZEND_ACC_PROTECTED ] { 512 } - Constant [ integer ZEND_ACC_PPP_MASK ] { 1792 } - Constant [ integer ZEND_ACC_STATIC ] { 1 } - Constant [ integer ZEND_ACC_FINAL ] { 4 } - Constant [ integer ZEND_ACC_ABSTRACT ] { 2 } - } - - - Functions { - Function [ <internal:uopz> function uopz_set_return ] { - } - Function [ <internal:uopz> function uopz_get_return ] { - } - Function [ <internal:uopz> function uopz_unset_return ] { - } - Function [ <internal:uopz> function uopz_set_mock ] { - } - Function [ <internal:uopz> function uopz_get_mock ] { - } - Function [ <internal:uopz> function uopz_unset_mock ] { - } - Function [ <internal:uopz> function uopz_get_static ] { - } - Function [ <internal:uopz> function uopz_set_static ] { - } - Function [ <internal:uopz> function uopz_set_hook ] { - } - Function [ <internal:uopz> function uopz_get_hook ] { - } - Function [ <internal:uopz> function uopz_unset_hook ] { - } - Function [ <internal:uopz> function uopz_add_function ] { - } - Function [ <internal:uopz> function uopz_del_function ] { - } - Function [ <internal:uopz> function uopz_extend ] { - } - Function [ <internal:uopz> function uopz_implement ] { - } - Function [ <internal:uopz> function uopz_flags ] { - } - Function [ <internal:uopz> function uopz_redefine ] { - } - Function [ <internal:uopz> function uopz_undefine ] { - } - Function [ <internal:uopz> function uopz_set_property ] { - } - Function [ <internal:uopz> function uopz_get_property ] { - } - } -} - diff --git a/php-pecl-uopz-php7.spec b/php-pecl-uopz-php7.spec deleted file mode 100644 index ae1e69f..0000000 --- a/php-pecl-uopz-php7.spec +++ /dev/null @@ -1,325 +0,0 @@ -# remirepo spec file for php-pecl-uopz -# -# Copyright (c) 2014-2017 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ -# -# Please, preserve the changelog entries -# -%if 0%{?scl:1} -%global sub_prefix %{scl_prefix} -%scl_package php-pecl-uopz -%endif - -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%global pecl_name uopz -%global ini_name 05-%{pecl_name}.ini - -# see https://github.com/krakjoe/uopz/releases -#global gh_commit c335700be4dc4350605bc4fb1efd8e96ba51b733 -#global gh_short %%(c=µ%{gh_commit}; echo ${c:0:7}) -#global gh_owner krakjoe -#global gh_project uopz - -Summary: User Operations for Zend -Name: %{?sub_prefix}php-pecl-%{pecl_name} -Version: 5.0.1 -Release: 4%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} -License: PHP -Group: Development/Languages -URL: http://pecl.php.net/package/%{pecl_name} -%if 0%{?gh_commit:1} -Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz -%else -Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -%endif - -Patch0: %{pecl_name}-upstream.patch - -BuildRequires: %{?scl_prefix}php-devel > 7 -BuildRequires: %{?scl_prefix}php-pear - -Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} -Requires: %{?scl_prefix}php(api) = %{php_core_api} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} - -Provides: %{?scl_prefix}php-%{pecl_name} = %{version} -Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} -%if "%{?scl_prefix}" != "%{?sub_prefix}" -Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} -%endif - -%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} -Obsoletes: php55u-pecl-%{pecl_name} <= %{version} -Obsoletes: php55w-pecl-%{pecl_name} <= %{version} -Obsoletes: php56u-pecl-%{pecl_name} <= %{version} -Obsoletes: php56w-pecl-%{pecl_name} <= %{version} -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%if "%{php_version}" > "7.1" -Obsoletes: php71u-pecl-%{pecl_name} <= %{version} -Obsoletes: php71w-pecl-%{pecl_name} <= %{version} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter shared private -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -User Operations for Zend: doing things you probably shouldn't since 2014. - -The uopz extension exposes Zend engine functionality normally used at -compilation and execution time in order to allow modification of the -internal structures that represent PHP code. - -It supports the following activities: -- Overloading some Zend opcodes including exit/new and composure opcodes -- Renaming functions and methods -- Aliasing functions and methods -- Deletion of functions and methods -- Redefinition of constants -- Deletion of constants -- Runtime composition and modification of classes - -Documentation: http://php.net/uopz - -Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. - - -%prep -%setup -q -c -%if 0%{?gh_commit:1} -mv %{gh_project}-%{gh_commit} NTS -# Temporary, until released on PECL -%{__php} -r ' - $pkg = simplexml_load_file("NTS/package.xml"); - $pkg->date = "2016-04-12"; - $pkg->version->release = "%{version}"; - $pkg->version->release = "%{version}"; - $pkg->stability->release = "beta"; - $pkg->stability->api = "beta"; - $pkg->asXML("package.xml"); -' -%else -mv %{pecl_name}-%{version} NTS -%endif - -# Don't install/register tests -sed -e 's/role="test"/role="src"/' \ - %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ - -i package.xml - -cd NTS -%patch0 -p1 -b .upstream - -# Sanity check, really often broken -extver=$(sed -n '/#define PHP_UOPZ_VERSION/{s/.* "//;s/".*$//;p}' uopz.h) -if test "x${extver}" != "x%{version}"; then - : Error: Upstream extension version is ${extver}, expecting %{version}. - exit 1 -fi -cd .. - -# Create configuration files -cat << EOF | tee %{ini_name} -; Enable '%{summary}' extension module -extension=%{pecl_name}.so -EOF - -%if %{with_zts} -# Duplicate source tree for NTS / ZTS build -cp -pr NTS ZTS -%endif - - -%build -cd NTS -%{_bindir}/phpize -%configure \ - --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure \ - --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -%endif - - -%install -make -C NTS install INSTALL_ROOT=%{buildroot} - -# install config file -install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} - -# Install XML package description -install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -%if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - -# Documentation -for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%if 0%{?fedora} < 24 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi -%endif - - -%check -cd NTS -: Minimal load test for NTS extension -%{__php} --no-php-ini \ - --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -: Upstream test suite for NTS extension -TEST_PHP_EXECUTABLE=%{__php} \ -TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__php} -n run-tests.php - -%if %{with_zts} -cd ../ZTS -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini \ - --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -: Upstream test suite for ZTS extension -TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \ -TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{_bindir}/zts-php -n run-tests.php -%endif - - -%files -%{?_licensedir:%license NTS/LICENSE} -%doc %{pecl_docdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml - -%config(noreplace) %{php_inidir}/%{ini_name} -%{php_extdir}/%{pecl_name}.so - -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/%{ini_name} -%{php_ztsextdir}/%{pecl_name}.so -%endif - - -%changelog -* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-4 -- rebuild with PHP 7.1.0 GA - -* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-3 -- rebuild for PHP 7.1 new API version - -* Thu Jun 9 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-2 -- add upstream patch for PHP 7.1 - -* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-1 -- update to 5.0.1 - -* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.0-1 -- update to 5.0.0 for PHP 7 -- sources from github (not yet released on pecl) - -* Tue Mar 8 2016 Remi Collet <remi@fedoraproject.org> - 2.0.7-2 -- adapt for F24 - -* Wed Mar 04 2015 Remi Collet <remi@fedoraproject.org> - 2.0.7-1 -- Update to 2.0.7 -- drop runtime dependency on pear, new scriptlets - -* Wed Dec 24 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-1.1 -- Fedora 21 SCL mass rebuild - -* Wed Oct 15 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-1 -- Update to 2.0.6 -- don't provide test suite - -* Tue Aug 26 2014 Remi Collet <rcollet@redhat.com> - 2.0.5-2 -- improve SCL build - -* Thu Jun 05 2014 Remi Collet <remi@fedoraproject.org> - 2.0.5-1 -- Update to 2.0.5 (stable) - -* Tue Apr 8 2014 Remi Collet <remi@fedoraproject.org> - 2.0.4-2 -- add numerical prefix to extension configuration files - -* Fri Apr 04 2014 Remi Collet <remi@fedoraproject.org> - 2.0.4-1 -- Update to 2.0.4 (stable) -- improve uopz.ini (comments) - -* Thu Apr 03 2014 Remi Collet <remi@fedoraproject.org> - 2.0.3-1 -- Update to 2.0.3 (stable) - -* Wed Apr 02 2014 Remi Collet <remi@fedoraproject.org> - 2.0.2-1 -- Update to 2.0.2 (stable) - -* Tue Apr 01 2014 Remi Collet <remi@fedoraproject.org> - 2.0.1-1 -- Update to 2.0.1 (stable) - -* Mon Mar 31 2014 Remi Collet <remi@fedoraproject.org> - 2.0.0-1 -- Update to 2.0.0 (2014-03-31 06:00:49, stable) - -* Sun Mar 30 2014 Remi Collet <remi@fedoraproject.org> - 1.0.11-1 -- Update to 1.0.11 (2014-03-30 14:05:44, beta) - -* Fri Mar 28 2014 Remi Collet <remi@fedoraproject.org> - 1.0.5-1 -- Update to 1.0.5 (2014-03-28 00:48:31, beta) - -* Thu Mar 27 2014 Remi Collet <remi@fedoraproject.org> - 1.0.4-1 -- Update to 1.0.4 (2014-03-27 18:34:03, beta) - -* Thu Mar 27 2014 Remi Collet <remi@fedoraproject.org> - 1.0.4-0 -- pre-release test build - -* Tue Mar 25 2014 Remi Collet <remi@fedoraproject.org> - 1.0.3-1 -- Update to 1.0.3 (2014-03-24 19:37:04, beta) - -* Mon Mar 24 2014 Remi Collet <remi@fedoraproject.org> - 1.0.2-1 -- Update to 1.0.2 (2014-03-24 10:34:02, beta) - -* Mon Mar 24 2014 Remi Collet <remi@fedoraproject.org> - 1.0.1-1 -- Update to 1.0.1 (2014-03-23 19:03:27, beta) - -* Sun Mar 23 2014 Remi Collet <remi@fedoraproject.org> - 1.0.0-1 -- initial package, version 1.0.0 (12:55, beta) diff --git a/php-pecl-uopz.spec b/php-pecl-uopz.spec index 74b7f61..9e411ad 100644 --- a/php-pecl-uopz.spec +++ b/php-pecl-uopz.spec @@ -7,35 +7,36 @@ # Please, preserve the changelog entries # %if 0%{?scl:1} -%if "%{scl}" == "rh-php56" -%global sub_prefix more-php56- -%else %global sub_prefix %{scl_prefix} -%endif -%scl_package php-pecl-uopz +%scl_package php-pecl-uopz %endif -%global with_zts 0%{?__ztsphp:1} -%global pecl_name uopz +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global pecl_name uopz +%global ini_name 05-%{pecl_name}.ini -%if "%{php_version}" < "5.6" -# uopz should be loaded before opcache (k as krakjoe) -%global ini_name k-%{pecl_name}.ini -%else -%global ini_name 05-%{pecl_name}.ini -%endif +# see https://github.com/krakjoe/uopz/releases +#global gh_commit c335700be4dc4350605bc4fb1efd8e96ba51b733 +#global gh_short %%(c=µ%{gh_commit}; echo ${c:0:7}) +#global gh_owner krakjoe +#global gh_project uopz Summary: User Operations for Zend Name: %{?sub_prefix}php-pecl-%{pecl_name} -Version: 2.0.7 -Release: 2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Version: 5.0.1 +Release: 5%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: PHP Group: Development/Languages URL: http://pecl.php.net/package/%{pecl_name} +%if 0%{?gh_commit:1} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz +%else Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +%endif -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel > 5.4 +Patch0: %{pecl_name}-upstream.patch + +BuildRequires: %{?scl_prefix}php-devel > 7 BuildRequires: %{?scl_prefix}php-pear Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} @@ -57,13 +58,19 @@ 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} +Obsoletes: php70u-pecl-%{pecl_name} <= %{version} +Obsoletes: php70w-pecl-%{pecl_name} <= %{version} +%if "%{php_version}" > "7.1" +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 @@ -97,7 +104,21 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep %setup -q -c +%if 0%{?gh_commit:1} +mv %{gh_project}-%{gh_commit} NTS +# Temporary, until released on PECL +%{__php} -r ' + $pkg = simplexml_load_file("NTS/package.xml"); + $pkg->date = "2016-04-12"; + $pkg->version->release = "%{version}"; + $pkg->version->release = "%{version}"; + $pkg->stability->release = "beta"; + $pkg->stability->api = "beta"; + $pkg->asXML("package.xml"); +' +%else mv %{pecl_name}-%{version} NTS +%endif # Don't install/register tests sed -e 's/role="test"/role="src"/' \ @@ -105,7 +126,7 @@ sed -e 's/role="test"/role="src"/' \ -i package.xml cd NTS -#sed -e /PHP_UOPZ_VERSION/s/2.0.0/%{version}/ -i uopz.h +%patch0 -p1 -b .upstream # Sanity check, really often broken extver=$(sed -n '/#define PHP_UOPZ_VERSION/{s/.* "//;s/".*$//;p}' uopz.h) @@ -116,39 +137,14 @@ fi cd .. # Create configuration files -cat << EOF | tee NTS/%{ini_name} +cat << EOF | tee %{ini_name} ; Enable '%{summary}' extension module -%if "%{php_version}" > "5.5" -zend_extension=%{pecl_name}.so -%else -zend_extension=%{php_extdir}/%{pecl_name}.so -%endif - -; Configuration -; http://php.net/manual/en/uopz.configuration.php -;uopz.overloads=0 -;uopz.backup=1 -;uopz.fixup=0 +extension=%{pecl_name}.so EOF %if %{with_zts} # Duplicate source tree for NTS / ZTS build cp -pr NTS ZTS - -cat << EOF | tee ZTS/%{ini_name} -; Enable '%{summary}' extension module -%if "%{php_version}" > "5.5" -zend_extension=%{pecl_name}.so -%else -zend_extension=%{php_ztsextdir}/%{pecl_name}.so -%endif - -; Configuration -; http://php.net/manual/en/uopz.configuration.php -;uopz.overloads=0 -;uopz.backup=1 -;uopz.fixup=0 -EOF %endif @@ -169,19 +165,17 @@ make %{?_smp_mflags} %install -rm -rf %{buildroot} - make -C NTS install INSTALL_ROOT=%{buildroot} # install config file -install -D -m 644 NTS/%{ini_name} %{buildroot}%{php_inidir}/%{ini_name} +install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} # Install XML package description install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 ZTS/%{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} +install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Documentation @@ -214,12 +208,12 @@ fi cd NTS : Minimal load test for NTS extension %{__php} --no-php-ini \ - --define zend_extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ -TEST_PHP_ARGS="-n -d zend_extension=$PWD/modules/%{pecl_name}.so" \ +TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php @@ -228,24 +222,19 @@ REPORT_EXIT_STATUS=1 \ cd ../ZTS : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ - --define zend_extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ + --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} : Upstream test suite for ZTS extension TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \ -TEST_PHP_ARGS="-n -d zend_extension=$PWD/modules/%{pecl_name}.so" \ +TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{_bindir}/zts-php -n run-tests.php %endif -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %{?_licensedir:%license NTS/LICENSE} %doc %{pecl_docdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml @@ -260,6 +249,25 @@ rm -rf %{buildroot} %changelog +* Fri Jun 23 2017 Remi Collet <remi@fedoraproject.org> - 5.0.1-5 +- add upstream patch for PHP 7.2 + +* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-4 +- rebuild with PHP 7.1.0 GA + +* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-3 +- rebuild for PHP 7.1 new API version + +* Thu Jun 9 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-2 +- add upstream patch for PHP 7.1 + +* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-1 +- update to 5.0.1 + +* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.0-1 +- update to 5.0.0 for PHP 7 +- sources from github (not yet released on pecl) + * Tue Mar 8 2016 Remi Collet <remi@fedoraproject.org> - 2.0.7-2 - adapt for F24 diff --git a/uopz-upstream.patch b/uopz-upstream.patch index 35a29a7..fc956be 100644 --- a/uopz-upstream.patch +++ b/uopz-upstream.patch @@ -224,3 +224,65 @@ index 11b7f5f..98e9c37 100644 } } +From 90fb02322be03a3dec2f4e70db18b5626e8915c0 Mon Sep 17 00:00:00 2001 +From: Joe Watkins <krakjoe@php.net> +Date: Fri, 20 Jan 2017 07:37:07 +0000 +Subject: [PATCH] add 7.2 to travis, fix 7.2 build + +--- + .travis.yml | 1 + + src/copy.c | 11 ++++++++++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/copy.c b/src/copy.c +index 889eada..a1c937c 100644 +--- a/src/copy.c ++++ b/src/copy.c +@@ -165,8 +165,17 @@ static inline zend_arg_info* uopz_copy_arginfo(zend_op_array *op_array, zend_arg + while (it < end) { + if (info[it].name) + info[it].name = zend_string_copy(old[it].name); ++#if PHP_VERSION_ID >= 70200 ++ if (ZEND_TYPE_IS_SET(old[it].type) && ZEND_TYPE_IS_CLASS(old[it].type)) { ++ info[it].type = ZEND_TYPE_ENCODE_CLASS( ++ zend_string_new( ++ ZEND_TYPE_NAME(info[it].type)), ++ ZEND_TYPE_ALLOW_NULL(info[it].type)); ++ } ++#else + if (info[it].class_name) +- info[it].class_name = zend_string_copy(old[it].class_name); ++ info[it].class_name = zend_string_new(old[it].class_name); ++#endif + it++; + } + +From 9634704d803c9b85efa897599545cb5dac646146 Mon Sep 17 00:00:00 2001 +From: Joe Watkins <krakjoe@php.net> +Date: Sun, 22 Jan 2017 19:20:22 +0000 +Subject: [PATCH] there is no zend_string_new here + +--- + src/copy.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/copy.c b/src/copy.c +index a1c937c..c8ca411 100644 +--- a/src/copy.c ++++ b/src/copy.c +@@ -168,13 +168,13 @@ static inline zend_arg_info* uopz_copy_arginfo(zend_op_array *op_array, zend_arg + #if PHP_VERSION_ID >= 70200 + if (ZEND_TYPE_IS_SET(old[it].type) && ZEND_TYPE_IS_CLASS(old[it].type)) { + info[it].type = ZEND_TYPE_ENCODE_CLASS( +- zend_string_new( ++ zend_string_copy( + ZEND_TYPE_NAME(info[it].type)), + ZEND_TYPE_ALLOW_NULL(info[it].type)); + } + #else + if (info[it].class_name) +- info[it].class_name = zend_string_new(old[it].class_name); ++ info[it].class_name = zend_string_copy(old[it].class_name); + #endif + it++; + } |