From 03a0cadd3a05039064a810f765cef6a8ee63f1ca Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 18 Oct 2015 09:05:48 +0200 Subject: add help for PHP 7 extension build --- REFLECTION-DEV | 105 ---------------- REFLECTION-PHP7 | 105 ++++++++++++++++ php-pecl-yaml-dev.spec | 320 ------------------------------------------------ php-pecl-yaml-php7.spec | 320 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 425 insertions(+), 425 deletions(-) delete mode 100644 REFLECTION-DEV create mode 100644 REFLECTION-PHP7 delete mode 100644 php-pecl-yaml-dev.spec create mode 100644 php-pecl-yaml-php7.spec diff --git a/REFLECTION-DEV b/REFLECTION-DEV deleted file mode 100644 index 52b7640..0000000 --- a/REFLECTION-DEV +++ /dev/null @@ -1,105 +0,0 @@ -Extension [ extension #99 yaml version 2.0.0RC5 ] { - - - Dependencies { - Dependency [ date (Optional) ] - } - - - INI { - Entry [ yaml.decode_binary ] - Current = '0' - } - Entry [ yaml.decode_timestamp ] - Current = '0' - } - Entry [ yaml.decode_php ] - Current = '0' - } - Entry [ yaml.output_canonical ] - Current = '0' - } - Entry [ yaml.output_indent ] - Current = '2' - } - Entry [ yaml.output_width ] - Current = '80' - } - } - - - Constants [25] { - Constant [ integer YAML_ANY_SCALAR_STYLE ] { 0 } - Constant [ integer YAML_PLAIN_SCALAR_STYLE ] { 1 } - Constant [ integer YAML_SINGLE_QUOTED_SCALAR_STYLE ] { 2 } - Constant [ integer YAML_DOUBLE_QUOTED_SCALAR_STYLE ] { 3 } - Constant [ integer YAML_LITERAL_SCALAR_STYLE ] { 4 } - Constant [ integer YAML_FOLDED_SCALAR_STYLE ] { 5 } - Constant [ string YAML_NULL_TAG ] { tag:yaml.org,2002:null } - Constant [ string YAML_BOOL_TAG ] { tag:yaml.org,2002:bool } - Constant [ string YAML_STR_TAG ] { tag:yaml.org,2002:str } - Constant [ string YAML_INT_TAG ] { tag:yaml.org,2002:int } - Constant [ string YAML_FLOAT_TAG ] { tag:yaml.org,2002:float } - Constant [ string YAML_TIMESTAMP_TAG ] { tag:yaml.org,2002:timestamp } - Constant [ string YAML_SEQ_TAG ] { tag:yaml.org,2002:seq } - Constant [ string YAML_MAP_TAG ] { tag:yaml.org,2002:map } - Constant [ string YAML_PHP_TAG ] { !php/object } - Constant [ string YAML_MERGE_TAG ] { tag:yaml.org,2002:merge } - Constant [ string YAML_BINARY_TAG ] { tag:yaml.org,2002:binary } - Constant [ integer YAML_ANY_ENCODING ] { 0 } - Constant [ integer YAML_UTF8_ENCODING ] { 1 } - Constant [ integer YAML_UTF16LE_ENCODING ] { 2 } - Constant [ integer YAML_UTF16BE_ENCODING ] { 3 } - Constant [ integer YAML_ANY_BREAK ] { 0 } - Constant [ integer YAML_CR_BREAK ] { 1 } - Constant [ integer YAML_LN_BREAK ] { 2 } - Constant [ integer YAML_CRLN_BREAK ] { 3 } - } - - - Functions { - Function [ function yaml_parse ] { - - - Parameters [4] { - Parameter #0 [ $input ] - Parameter #1 [ $pos ] - Parameter #2 [ &$ndocs ] - Parameter #3 [ array $callbacks ] - } - } - Function [ function yaml_parse_file ] { - - - Parameters [4] { - Parameter #0 [ $filename ] - Parameter #1 [ $pos ] - Parameter #2 [ &$ndocs ] - Parameter #3 [ array $callbacks ] - } - } - Function [ function yaml_parse_url ] { - - - Parameters [4] { - Parameter #0 [ $url ] - Parameter #1 [ $pos ] - Parameter #2 [ &$ndocs ] - Parameter #3 [ array $callbacks ] - } - } - Function [ function yaml_emit ] { - - - Parameters [4] { - Parameter #0 [ $data ] - Parameter #1 [ $encoding ] - Parameter #2 [ $linebreak ] - Parameter #3 [ array $callbacks ] - } - } - Function [ function yaml_emit_file ] { - - - Parameters [5] { - Parameter #0 [ $filename ] - Parameter #1 [ $data ] - Parameter #2 [ $encoding ] - Parameter #3 [ $linebreak ] - Parameter #4 [ array $callbacks ] - } - } - } -} - diff --git a/REFLECTION-PHP7 b/REFLECTION-PHP7 new file mode 100644 index 0000000..52b7640 --- /dev/null +++ b/REFLECTION-PHP7 @@ -0,0 +1,105 @@ +Extension [ extension #99 yaml version 2.0.0RC5 ] { + + - Dependencies { + Dependency [ date (Optional) ] + } + + - INI { + Entry [ yaml.decode_binary ] + Current = '0' + } + Entry [ yaml.decode_timestamp ] + Current = '0' + } + Entry [ yaml.decode_php ] + Current = '0' + } + Entry [ yaml.output_canonical ] + Current = '0' + } + Entry [ yaml.output_indent ] + Current = '2' + } + Entry [ yaml.output_width ] + Current = '80' + } + } + + - Constants [25] { + Constant [ integer YAML_ANY_SCALAR_STYLE ] { 0 } + Constant [ integer YAML_PLAIN_SCALAR_STYLE ] { 1 } + Constant [ integer YAML_SINGLE_QUOTED_SCALAR_STYLE ] { 2 } + Constant [ integer YAML_DOUBLE_QUOTED_SCALAR_STYLE ] { 3 } + Constant [ integer YAML_LITERAL_SCALAR_STYLE ] { 4 } + Constant [ integer YAML_FOLDED_SCALAR_STYLE ] { 5 } + Constant [ string YAML_NULL_TAG ] { tag:yaml.org,2002:null } + Constant [ string YAML_BOOL_TAG ] { tag:yaml.org,2002:bool } + Constant [ string YAML_STR_TAG ] { tag:yaml.org,2002:str } + Constant [ string YAML_INT_TAG ] { tag:yaml.org,2002:int } + Constant [ string YAML_FLOAT_TAG ] { tag:yaml.org,2002:float } + Constant [ string YAML_TIMESTAMP_TAG ] { tag:yaml.org,2002:timestamp } + Constant [ string YAML_SEQ_TAG ] { tag:yaml.org,2002:seq } + Constant [ string YAML_MAP_TAG ] { tag:yaml.org,2002:map } + Constant [ string YAML_PHP_TAG ] { !php/object } + Constant [ string YAML_MERGE_TAG ] { tag:yaml.org,2002:merge } + Constant [ string YAML_BINARY_TAG ] { tag:yaml.org,2002:binary } + Constant [ integer YAML_ANY_ENCODING ] { 0 } + Constant [ integer YAML_UTF8_ENCODING ] { 1 } + Constant [ integer YAML_UTF16LE_ENCODING ] { 2 } + Constant [ integer YAML_UTF16BE_ENCODING ] { 3 } + Constant [ integer YAML_ANY_BREAK ] { 0 } + Constant [ integer YAML_CR_BREAK ] { 1 } + Constant [ integer YAML_LN_BREAK ] { 2 } + Constant [ integer YAML_CRLN_BREAK ] { 3 } + } + + - Functions { + Function [ function yaml_parse ] { + + - Parameters [4] { + Parameter #0 [ $input ] + Parameter #1 [ $pos ] + Parameter #2 [ &$ndocs ] + Parameter #3 [ array $callbacks ] + } + } + Function [ function yaml_parse_file ] { + + - Parameters [4] { + Parameter #0 [ $filename ] + Parameter #1 [ $pos ] + Parameter #2 [ &$ndocs ] + Parameter #3 [ array $callbacks ] + } + } + Function [ function yaml_parse_url ] { + + - Parameters [4] { + Parameter #0 [ $url ] + Parameter #1 [ $pos ] + Parameter #2 [ &$ndocs ] + Parameter #3 [ array $callbacks ] + } + } + Function [ function yaml_emit ] { + + - Parameters [4] { + Parameter #0 [ $data ] + Parameter #1 [ $encoding ] + Parameter #2 [ $linebreak ] + Parameter #3 [ array $callbacks ] + } + } + Function [ function yaml_emit_file ] { + + - Parameters [5] { + Parameter #0 [ $filename ] + Parameter #1 [ $data ] + Parameter #2 [ $encoding ] + Parameter #3 [ $linebreak ] + Parameter #4 [ array $callbacks ] + } + } + } +} + diff --git a/php-pecl-yaml-dev.spec b/php-pecl-yaml-dev.spec deleted file mode 100644 index e06a9a8..0000000 --- a/php-pecl-yaml-dev.spec +++ /dev/null @@ -1,320 +0,0 @@ -# remirepo spec file for php-pecl-yaml -# -# Copyright (c) 2012-2015 Remi Collet - -# Fedora spec file for php-pecl-yaml -# -# License: MIT -# http://opensource.org/licenses/MIT -# -# 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 -%endif - -%{?scl: %scl_package php-pecl-yaml} -%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%{!?__pecl: %global __pecl %{_bindir}/pecl} -%{!?__php: %global __php %{_bindir}/php} - -%global with_zts 0%{?__ztsphp:1} -%global pecl_name yaml -%if "%{php_version}" < "5.6" -%global ini_name %{pecl_name}.ini -%else -%global ini_name 40-%{pecl_name}.ini -%endif -%global prever RC5 - -Summary: PHP Bindings for yaml -Name: %{?sub_prefix}php-pecl-yaml -Version: 2.0.0 -Release: 0.4.%{prever}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -License: MIT -Group: Development/Languages -URL: http://pecl.php.net/package/yaml - -Source: http://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel >= 7 -BuildRequires: %{?scl_prefix}php-pear -BuildRequires: libyaml-devel - -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 "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} -# 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} -%endif -%if "%{php_version}" > "7.0" -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter private shared -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -Support for YAML 1.1 (YAML Ain't Markup Language) serialization using the -LibYAML library. - -Documentation: http://php.net/yaml - -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 -c -q -mv %{pecl_name}-%{version}%{?prever} NTS - -# Remove test file to avoid regsitration -sed -e '/role="test"/d' -i package.xml - -cd NTS -# Check upstream version (often broken) -extver=$(sed -n '/#define PHP_YAML_VERSION/{s/.* "//;s/".*$//;p}' php_yaml.h) -if test "x${extver}" != "x%{version}%{?prever}"; then - : Error: Upstream version is ${extver}, expecting %{version}%{?prever}. - exit 1 -fi -cd .. - -cat << 'EOF' | tee %{ini_name} -; Enable %{summary} extension module -extension=%{pecl_name}.so - -; %{pecl_name} extension configuration -; see http://www.php.net/manual/en/yaml.configuration.php - -; Decode entities which have the explicit tag "tag:yaml.org,2002:binary" -;yaml.decode_binary = 0 - -; Controls the decoding of "tag:yaml.org,2002:timestamp" -; 0 will not apply any decoding, 1 will use strtotime() 2 will use date_create(). -;yaml.decode_timestamp = 0 - -; Cause canonical form output. -;yaml.output_canonical = 0 - -; Number of spaces to indent sections. Value should be between 1 and 10. -;yaml.output_indent = 2 - -; Set the preferred line width. -1 means unlimited. -;yaml.output_width = 80 - -; Enable/disable serialized php object processing. -;yaml.decode_php = 0 -EOF - -cp -pr NTS ZTS - - -%build -cd NTS - -%{_bindir}/phpize -%configure \ - --with-libdir=%{_lib} \ - --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure \ - --with-libdir=%{_lib} \ - --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -%endif - - -%install -make -C NTS install INSTALL_ROOT=%{buildroot} - -# Install XML package description -install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -# install config file -install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} - -%if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - -# Documentation -cd NTS -for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%check -cd NTS -: Minimal load test for NTS extension -%{__php} --no-php-ini \ - --define extension=modules/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -: Upstream test suite for NTS extension -TEST_PHP_EXECUTABLE=%{__php} \ -TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__php} -n run-tests.php --show-diff - -%if %{with_zts} -cd ../ZTS -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini \ - --define extension=modules/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -: Upstream test suite for ZTS extension -TEST_PHP_EXECUTABLE=%{__ztsphp} \ -TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__ztsphp} -n run-tests.php --show-diff - -%endif - - -%clean -rm -rf %{buildroot} - - -# 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 - - -%files -%defattr(-, root, root, -) -%{?_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 -* Sun Oct 18 2015 Remi Collet - 2.0.0-0.4.RC5 -- update to 2.0.0RC5 - -* Sat Oct 17 2015 Remi Collet - 2.0.0-0.3.RC4 -- update to 2.0.0RC4 - -* Sat Oct 17 2015 Remi Collet - 2.0.0-0.2.RC2 -- add uptream patches, fix segfault and test suite - -* Sat Oct 17 2015 Remi Collet - 2.0.0-0.1.RC2 -- update to 2.0.0RC2 for PHP 7 -- 2 failed tests, so ignore test suite results for now - -* Sat Oct 17 2015 Remi Collet - 2.0.0-0.1.RC1 -- update to 2.0.0RC1 for PHP 7 - -* Tue Jun 23 2015 Remi Collet - 1.2.0-2 -- allow build against rh-php56 (as more-php56) - -* Mon May 18 2015 Remi Collet - 1.2.0-1 -- Update to 1.2.0 (stable) - -* Mon May 4 2015 Remi Collet - 1.1.1-6 -- drop runtime dependency on pear, new scriptlets - -* Wed Dec 24 2014 Remi Collet - 1.1.1-5.1 -- Fedora 21 SCL mass rebuild - -* Fri Aug 29 2014 Remi Collet - 1.1.1-5 -- don't install tests - -* Mon Aug 25 2014 Remi Collet - 1.1.1-4 -- improve SCL build - -* Thu Apr 17 2014 Remi Collet - 1.1.1-3 -- add numerical prefix to extension configuration file (php 5.6) - -* Wed Mar 19 2014 Remi Collet - 1.1.1-2 -- allow SCL build - -* Tue Nov 19 2013 Remi Collet - 1.1.1-1 -- Update to 1.1.1 (stable) -- install doc in pecl doc_dir -- install tests in pecl test_dir - -* Fri Nov 30 2012 Remi Collet - 1.1.0-2.1 -- also provides php-yaml - -* Fri Apr 20 2012 Remi Collet - 1.1.0-2 -- update to 1.0.1 for php 5.4 - -* Fri Apr 20 2012 Remi Collet - 1.1.0-1 -- update to 1.0.1 for php 5.3 - -* Fri Apr 20 2012 Theodore Lee - 1.1.0-1 -- Update to upstream 1.1.0 release -- Drop upstreamed cflags patch - -* Sun Nov 13 2011 Remi Collet - 1.0.1-5 -- build against php 5.4 - -* Wed Oct 05 2011 Remi Collet - 1.0.1-4 -- ZTS extension -- spec cleanups - -* Fri May 06 2011 Remi Collet - 1.0.1-2 -- clean spec -- fix requirment, license, tests... - -* Thu May 05 2011 Thomas Morse 1.0.1-1 -- Version 1.0.1 -- initial RPM diff --git a/php-pecl-yaml-php7.spec b/php-pecl-yaml-php7.spec new file mode 100644 index 0000000..f52aa5f --- /dev/null +++ b/php-pecl-yaml-php7.spec @@ -0,0 +1,320 @@ +# remirepo spec file for php-pecl-yaml +# +# Copyright (c) 2012-2015 Remi Collet + +# Fedora spec file for php-pecl-yaml +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# 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 +%endif + +%{?scl: %scl_package php-pecl-yaml} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} + +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global pecl_name yaml +%if "%{php_version}" < "5.6" +%global ini_name %{pecl_name}.ini +%else +%global ini_name 40-%{pecl_name}.ini +%endif +%global prever RC5 + +Summary: PHP Bindings for yaml +Name: %{?sub_prefix}php-pecl-yaml +Version: 2.0.0 +Release: 0.4.%{prever}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +License: MIT +Group: Development/Languages +URL: http://pecl.php.net/package/yaml + +Source: http://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: %{?scl_prefix}php-devel >= 7 +BuildRequires: %{?scl_prefix}php-pear +BuildRequires: libyaml-devel + +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 "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} +# 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} +%endif +%if "%{php_version}" > "7.0" +Obsoletes: php70u-pecl-%{pecl_name} <= %{version} +Obsoletes: php70w-pecl-%{pecl_name} <= %{version} +%endif +%endif + +%if 0%{?fedora} < 20 && 0%{?rhel} < 7 +# Filter private shared +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} +%endif + + +%description +Support for YAML 1.1 (YAML Ain't Markup Language) serialization using the +LibYAML library. + +Documentation: http://php.net/yaml + +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 -c -q +mv %{pecl_name}-%{version}%{?prever} NTS + +# Remove test file to avoid regsitration +sed -e '/role="test"/d' -i package.xml + +cd NTS +# Check upstream version (often broken) +extver=$(sed -n '/#define PHP_YAML_VERSION/{s/.* "//;s/".*$//;p}' php_yaml.h) +if test "x${extver}" != "x%{version}%{?prever}"; then + : Error: Upstream version is ${extver}, expecting %{version}%{?prever}. + exit 1 +fi +cd .. + +cat << 'EOF' | tee %{ini_name} +; Enable %{summary} extension module +extension=%{pecl_name}.so + +; %{pecl_name} extension configuration +; see http://www.php.net/manual/en/yaml.configuration.php + +; Decode entities which have the explicit tag "tag:yaml.org,2002:binary" +;yaml.decode_binary = 0 + +; Controls the decoding of "tag:yaml.org,2002:timestamp" +; 0 will not apply any decoding, 1 will use strtotime() 2 will use date_create(). +;yaml.decode_timestamp = 0 + +; Cause canonical form output. +;yaml.output_canonical = 0 + +; Number of spaces to indent sections. Value should be between 1 and 10. +;yaml.output_indent = 2 + +; Set the preferred line width. -1 means unlimited. +;yaml.output_width = 80 + +; Enable/disable serialized php object processing. +;yaml.decode_php = 0 +EOF + +cp -pr NTS ZTS + + +%build +cd NTS + +%{_bindir}/phpize +%configure \ + --with-libdir=%{_lib} \ + --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +%{_bindir}/zts-phpize +%configure \ + --with-libdir=%{_lib} \ + --with-php-config=%{_bindir}/zts-php-config +make %{?_smp_mflags} +%endif + + +%install +make -C NTS install INSTALL_ROOT=%{buildroot} + +# Install XML package description +install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +# install config file +install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} + +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} +%endif + +# Documentation +cd NTS +for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +cd NTS +: Minimal load test for NTS extension +%{__php} --no-php-ini \ + --define extension=modules/%{pecl_name}.so \ + --modules | grep %{pecl_name} + +: Upstream test suite for NTS extension +TEST_PHP_EXECUTABLE=%{__php} \ +TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ +NO_INTERACTION=1 \ +REPORT_EXIT_STATUS=1 \ +%{__php} -n run-tests.php --show-diff + +%if %{with_zts} +cd ../ZTS +: Minimal load test for ZTS extension +%{__ztsphp} --no-php-ini \ + --define extension=modules/%{pecl_name}.so \ + --modules | grep %{pecl_name} + +: Upstream test suite for ZTS extension +TEST_PHP_EXECUTABLE=%{__ztsphp} \ +TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ +NO_INTERACTION=1 \ +REPORT_EXIT_STATUS=1 \ +%{__ztsphp} -n run-tests.php --show-diff + +%endif + + +%clean +rm -rf %{buildroot} + + +# 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 + + +%files +%defattr(-, root, root, -) +%{?_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 +* Sun Oct 18 2015 Remi Collet - 2.0.0-0.4.RC5 +- update to 2.0.0RC5 + +* Sat Oct 17 2015 Remi Collet - 2.0.0-0.3.RC4 +- update to 2.0.0RC4 + +* Sat Oct 17 2015 Remi Collet - 2.0.0-0.2.RC2 +- add uptream patches, fix segfault and test suite + +* Sat Oct 17 2015 Remi Collet - 2.0.0-0.1.RC2 +- update to 2.0.0RC2 for PHP 7 +- 2 failed tests, so ignore test suite results for now + +* Sat Oct 17 2015 Remi Collet - 2.0.0-0.1.RC1 +- update to 2.0.0RC1 for PHP 7 + +* Tue Jun 23 2015 Remi Collet - 1.2.0-2 +- allow build against rh-php56 (as more-php56) + +* Mon May 18 2015 Remi Collet - 1.2.0-1 +- Update to 1.2.0 (stable) + +* Mon May 4 2015 Remi Collet - 1.1.1-6 +- drop runtime dependency on pear, new scriptlets + +* Wed Dec 24 2014 Remi Collet - 1.1.1-5.1 +- Fedora 21 SCL mass rebuild + +* Fri Aug 29 2014 Remi Collet - 1.1.1-5 +- don't install tests + +* Mon Aug 25 2014 Remi Collet - 1.1.1-4 +- improve SCL build + +* Thu Apr 17 2014 Remi Collet - 1.1.1-3 +- add numerical prefix to extension configuration file (php 5.6) + +* Wed Mar 19 2014 Remi Collet - 1.1.1-2 +- allow SCL build + +* Tue Nov 19 2013 Remi Collet - 1.1.1-1 +- Update to 1.1.1 (stable) +- install doc in pecl doc_dir +- install tests in pecl test_dir + +* Fri Nov 30 2012 Remi Collet - 1.1.0-2.1 +- also provides php-yaml + +* Fri Apr 20 2012 Remi Collet - 1.1.0-2 +- update to 1.0.1 for php 5.4 + +* Fri Apr 20 2012 Remi Collet - 1.1.0-1 +- update to 1.0.1 for php 5.3 + +* Fri Apr 20 2012 Theodore Lee - 1.1.0-1 +- Update to upstream 1.1.0 release +- Drop upstreamed cflags patch + +* Sun Nov 13 2011 Remi Collet - 1.0.1-5 +- build against php 5.4 + +* Wed Oct 05 2011 Remi Collet - 1.0.1-4 +- ZTS extension +- spec cleanups + +* Fri May 06 2011 Remi Collet - 1.0.1-2 +- clean spec +- fix requirment, license, tests... + +* Thu May 05 2011 Thomas Morse 1.0.1-1 +- Version 1.0.1 +- initial RPM -- cgit