summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2017-06-23 17:06:34 +0200
committerRemi Collet <remi@remirepo.net>2017-06-23 17:06:34 +0200
commitec89f5d4e71e9eab6126224b9c9a3578098a2f52 (patch)
tree8eea80d77a142c606d00fe758ec4c2a21d5b7b77
parent6236aac37a962b6f3d033d711011cdb2125ab310 (diff)
upstream patch for 7.2
-rw-r--r--REFLECTION145
-rw-r--r--REFLECTION-PHP756
-rw-r--r--php-pecl-uopz-php7.spec325
-rw-r--r--php-pecl-uopz.spec130
-rw-r--r--uopz-upstream.patch62
5 files changed, 158 insertions, 560 deletions
diff --git a/REFLECTION b/REFLECTION
index 3211cc3..69196ce 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -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++;
+ }