diff options
Diffstat (limited to 'php-twig.spec')
-rw-r--r-- | php-twig.spec | 341 |
1 files changed, 119 insertions, 222 deletions
diff --git a/php-twig.spec b/php-twig.spec index 0591ef8..4331931 100644 --- a/php-twig.spec +++ b/php-twig.spec @@ -1,9 +1,8 @@ # remirepo spec file for php-twig -# With SCL stuff, from Fedora: # # Fedora spec file for php-twig # -# Copyright (c) 2014-2019 Shawn Iwinski <shawn.iwinski@gmail.com> +# Copyright (c) 2014-2022 Shawn Iwinski <shawn.iwinski@gmail.com> # Remi Collet <remi@fedoraproject.org> # # License: MIT @@ -11,163 +10,98 @@ # # Please preserve changelog entries # -%if 0%{?scl:1} -# PHPUnit not available in SCL -%global with_tests 0 -%global sub_prefix %{scl_prefix} -%scl_package php-twig -%else -%global pkg_name %{name} -%if 0%{?fedora} || 0%{?rhel} >= 8 + # Build using "--without tests" to disable tests -%global with_tests 0%{!?_without_tests:1} -%else -# Build using "--with tests" to enable tests -# PHPUnit in remi requires PHP 5.6 -%global with_tests 0%{?_with_tests:1} -%endif -%endif +%bcond_without tests %global github_owner twigphp %global github_name Twig -%global github_version 1.42.2 -%global github_commit 21707d6ebd05476854805e4f91b836531941bcd4 +%global github_version 1.44.7 +%global github_commit 0887422319889e442458e48e2f3d9add1a172ad5 %global github_short %(c=%{github_commit}; echo ${c:0:7}) -%if "%{php_version}" < "7" -%global with_ext 1 -%else -%global with_ext 0 -BuildArch: noarch -%endif - # Lib %global composer_vendor twig %global composer_project twig -# Ext -%global ext_name twig -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%if "%{php_version}" < "5.6" -%global ini_name %{ext_name}.ini -%else -%global ini_name 40-%{ext_name}.ini -%endif +# "php": ">=7.2.5" +%global php_min_ver 7.2.5 -# "php": ">=5.4.0" -%global php_min_ver 5.4 +%{!?phpdir: %global phpdir %{_datadir}/php} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%global phpdir %{_datadir}/php - -Name: %{?sub_prefix}php-%{composer_project} +Name: php-%{composer_project} Version: %{github_version} -Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 1%{?dist} Summary: The flexible, fast, and secure template engine for PHP License: BSD URL: http://twig.sensiolabs.org -Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{pkg_name}-%{github_version}-%{github_short}.tar.gz +Source0: %{name}-%{github_version}-%{github_short}.tgz +Source1: makesrc.sh -BuildRequires: %{?scl_prefix}php-devel >= %{php_min_ver} -%if %{with_tests} -# For tests -BuildRequires: php-composer(phpunit/phpunit) +BuildArch: noarch +# as we use phpunit9 (for assertFileDoesNotExist) +BuildRequires: php-devel >= 7.3 +# Tests +%if %{with tests} +# remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(symfony/debug) >= 2.7 with php-composer(symfony/debug) < 3) +BuildRequires: (php-composer(symfony/debug) >= 3.4 with php-composer(symfony/debug) < 4) BuildRequires: (php-composer(psr/container) >= 1.0 with php-composer(psr/container) < 2) +# remirepo:5 %else -BuildRequires: php-symfony-debug >= 2.7 -BuildRequires: php-composer(psr/container) < 2 -BuildRequires: php-composer(psr/container) >= 1.0 +BuildRequires: php-symfony3-debug >= 3.4 +BuildRequires: php-psr-container < 2 +BuildRequires: php-psr-container >= 1.0 %endif +%global phpunit %{_bindir}/phpunit9 +BuildRequires: %{phpunit} ## phpcompatinfo (computed from version 1.42.2) -BuildRequires: %{?scl_prefix}php-ctype -BuildRequires: %{?scl_prefix}php-date -BuildRequires: %{?scl_prefix}php-dom -BuildRequires: %{?scl_prefix}php-hash -BuildRequires: %{?scl_prefix}php-iconv -BuildRequires: %{?scl_prefix}php-json -BuildRequires: %{?scl_prefix}php-mbstring -BuildRequires: %{?scl_prefix}php-pcre -BuildRequires: %{?scl_prefix}php-reflection -BuildRequires: %{?scl_prefix}php-simplexml -BuildRequires: %{?scl_prefix}php-spl +BuildRequires: php-ctype +BuildRequires: php-date +BuildRequires: php-dom +BuildRequires: php-hash +BuildRequires: php-iconv +BuildRequires: php-json +BuildRequires: php-mbstring +BuildRequires: php-pcre +BuildRequires: php-reflection +BuildRequires: php-simplexml +BuildRequires: php-spl %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # Lib ## composer.json -Requires: %{?scl_prefix}php(language) >= %{php_min_ver} +Requires: php(language) >= %{php_min_ver} ## phpcompatinfo (computed from version 1.42.2) -Requires: %{?scl_prefix}php-ctype -Requires: %{?scl_prefix}php-date -Requires: %{?scl_prefix}php-dom -Requires: %{?scl_prefix}php-hash -Requires: %{?scl_prefix}php-iconv -Requires: %{?scl_prefix}php-json -Requires: %{?scl_prefix}php-mbstring -Requires: %{?scl_prefix}php-pcre -Requires: %{?scl_prefix}php-reflection -Requires: %{?scl_prefix}php-simplexml -Requires: %{?scl_prefix}php-spl -%if %{with_ext} -# Ext -Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} -Requires: %{?scl_prefix}php(api) = %{php_core_api} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} -%endif +Requires: php-ctype +Requires: php-date +Requires: php-dom +Requires: php-hash +Requires: php-iconv +Requires: php-json +Requires: php-mbstring +Requires: php-pcre +Requires: php-reflection +Requires: php-simplexml +Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Lib ## Composer -Provides: %{?scl_prefix}php-composer(%{composer_vendor}/%{composer_project}) = %{version} +Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} ## Rename -Obsoletes: %{?scl_prefix}php-twig-Twig < %{version}-%{release} -Provides: %{?scl_prefix}php-twig-Twig = %{version}-%{release} +Obsoletes: php-twig-Twig < %{version}-%{release} +Provides: php-twig-Twig = %{version}-%{release} ## PEAR -Provides: %{?scl_prefix}php-pear(pear.twig-project.org/Twig) = %{version} -%if %{with_ext} -# Ext -## Rename -Obsoletes: %{?scl_prefix}php-twig-ctwig < %{version}-%{release} -Provides: %{?scl_prefix}php-twig-ctwig = %{version}-%{release} -Provides: %{?scl_prefix}php-twig-ctwig%{?_isa} = %{version}-%{release} -%if "%{?scl_prefix}" != "%{?sub_prefix}" -## Compat SCL (rh-php56) -Provides: %{?scl_prefix}php-twig = %{version}-%{release} -Provides: %{?scl_prefix}php-twig%{?_isa} = %{version}-%{release} -%endif -## PECL -Provides: %{?scl_prefix}php-pecl(pear.twig-project.org/CTwig) = %{version} -Provides: %{?scl_prefix}php-pecl(pear.twig-project.org/CTwig)%{?_isa} = %{version} -%endif +Provides: php-pear(pear.twig-project.org/Twig) = %{version} # This pkg was the only one in this channel so the channel is no longer needed -Obsoletes: %{?scl_prefix}php-channel-twig - -%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -Obsoletes: php53-%{ext_name} <= %{version} -Obsoletes: php53u-%{ext_name} <= %{version} -Obsoletes: php54-%{ext_name} <= %{version} -Obsoletes: php54w-%{ext_name} <= %{version} -%if "%{php_version}" > "5.5" -Obsoletes: php55u-%{ext_name} <= %{version} -Obsoletes: php55w-%{ext_name} <= %{version} -%endif -%if "%{php_version}" > "5.6" -Obsoletes: php56u-%{ext_name} <= %{version} -Obsoletes: php56w-%{ext_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 +Obsoletes: php-channel-twig < 1.4 %description @@ -184,31 +118,12 @@ Obsoletes: php56w-%{ext_name} <= %{version} developer to define its own custom tags and filters, and create its own DSL. -Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. +Autoloader: %{phpdir}/Twig/autoload.php %prep %setup -qn %{github_name}-%{github_commit} -: PHP version %{php_version} -: Build extension %{with_ext} - -%if %{with_ext} -: Ext -- NTS -mv ext/%{ext_name} ext/NTS -sed -e '/PHP_TWIG_VERSION/s/-DEV//' -i ext/NTS/php_twig.h - %if %{with_zts} -: Ext -- ZTS -cp -pr ext/NTS ext/ZTS -%endif - -: Ext -- Create configuration file -cat > %{ini_name} << 'INI' -; Enable %{ext_name} extension module -extension=%{ext_name}.so -INI -%endif - : Move the PSR-4 compat library mv src lib/Twig/psr4 @@ -217,45 +132,14 @@ phpab --template fedora --output lib/Twig/autoload.php lib %build -%{?dtsenable} - -%if %{with_ext} -: Ext -- NTS -pushd ext/NTS -%{_bindir}/phpize -%configure --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} -popd - -: Ext -- ZTS -%if %{with_zts} -pushd ext/ZTS -%{_bindir}/zts-phpize -%configure --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -popd -%endif -%endif +: nothing %install -%{?dtsenable} - : PSR-0 and PSR-4 Libraries mkdir -p %{buildroot}%{phpdir} cp -rp lib/* %{buildroot}%{phpdir}/ -%if %{with_ext} -: Ext -- NTS -make -C ext/NTS install INSTALL_ROOT=%{buildroot} -install -D -m 0644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} -: Ext -- ZTS -%if %{with_zts} -make -C ext/ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 0644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif -%endif - %check : Library version check @@ -265,85 +149,98 @@ install -D -m 0644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %{_bindir}/php -r 'require_once "%{buildroot}%{phpdir}/Twig/autoload.php"; exit(version_compare("%{version}", Twig\Environment::VERSION, "=") ? 0 : 1);' -%if %{with_ext} -: Extension version check -EXT_VERSION=`grep PHP_TWIG_VERSION ext/NTS/php_twig.h | awk '{print $3}' | sed 's/"//g'` \ - %{_bindir}/php -r 'exit(version_compare("%{version}", getenv("EXT_VERSION"), "=") ? 0 : 1);' - -: Extension NTS minimal load test -%{__php} --no-php-ini \ - --define extension=ext/NTS/modules/%{ext_name}.so \ - --modules | grep %{ext_name} - -%if %{with_zts} -: Extension ZTS minimal load test -%{__ztsphp} --no-php-ini \ - --define extension=ext/ZTS/modules/%{ext_name}.so \ - --modules | grep %{ext_name} -%endif -%endif - -%if %{with_tests} +%if %{with tests} : Generate autoloader mkdir vendor cat << 'EOF' | tee vendor/autoload.php <?php require_once '%{buildroot}%{phpdir}/Twig/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('Twig\\Tests\\', dirname(__DIR__) . '/tests'); \Fedora\Autoloader\Dependencies::required(array( - '%{phpdir}/Symfony/Component/Debug/autoload.php', + '%{phpdir}/Symfony3/Component/Debug/autoload.php', '%{phpdir}/Psr/Container/autoload.php', )); EOF -: Skip tests known to fail -%if 0%{?rhel} == 6 -sed -e 's/function testGetAttributeWithTemplateAsObject/function skip_testGetAttributeWithTemplateAsObject/' \ - -i test/Twig/Tests/TemplateTest.php -%endif - -: Disable listener from symfony/phpunit-bridge ~3.2 +: Disable listener from symfony/phpunit-bridge # ^4.4.9|^5.0.9 sed -e '/listener/d' phpunit.xml.dist > phpunit.xml : Test suite without extension ret=0 -# TODO : 2 failed tests with 7.4 (Function ReflectionType::__toString() is deprecated) -for cmd in php php71 php72 php73; do - if which $cmd; then - $cmd %{_bindir}/phpunit --verbose || ret=1 - fi +for SCL in "php %{phpunit}" php74 php80 php81 php82; do + if which $SCL; then + set $SCL + $1 ${2:-%{_bindir}/phpunit9} $SKIP \ + --verbose || RETURN_CODE=1 + fi done -%if %{with_ext} -: Test suite with extension -%{_bindir}/php --define extension=ext/NTS/modules/%{ext_name}.so \ - %{_bindir}/phpunit --verbose || ret=1 -%endif - -exit $ret +exit $RETURN_CODE %else : Tests skipped %endif %files +# remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc CHANGELOG README.rst composer.json # Lib %{phpdir}/Twig -%if %{with_ext} -# Ext -## NTS -%config(noreplace) %{php_inidir}/%{ini_name} -%{php_extdir}/%{ext_name}.so -## ZTS -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/%{ini_name} -%{php_ztsextdir}/%{ext_name}.so -%endif -%endif %changelog +* Thu Sep 29 2022 Remi Collet <remi@remirepo.net> - 1.44.7-1 +- update to 1.44.7 + +* Thu Nov 25 2021 Remi Collet <remi@remirepo.net> - 1.44.6-1 +- update to 1.44.6 (no change) +- drop patch merged upstream + +* Wed Sep 22 2021 Remi Collet <remi@remirepo.net> - 1.44.5-1 +- update to 1.44.5 +- add patch for test suite from https://github.com/twigphp/Twig/pull/3563 + +* Mon May 17 2021 Remi Collet <remi@remirepo.net> - 1.44.4-1 +- update to 1.44.4 + +* Wed May 12 2021 Remi Collet <remi@remirepo.net> - 1.44.3-1 +- update to 1.44.3 + +* Wed Jan 6 2021 Remi Collet <remi@remirepo.net> - 1.44.2-1 +- update to 1.44.2 + +* Wed Oct 28 2020 Remi Collet <remi@remirepo.net> - 1.44.1-1 +- update to 1.44.1 + +* Wed Oct 21 2020 Remi Collet <remi@remirepo.net> - 1.44.0-1 +- update to 1.44.0 +- raise dependency on PHP 7.2.5 + +* Tue Aug 11 2020 Remi Collet <remi@remirepo.net> - 1.43.1-1 +- update to 1.43.1 +- switch to phpunit9 +- skip 1 more test with PHP 8.0 + +* Mon Jul 6 2020 Remi Collet <remi@remirepo.net> - 1.43.0-1 +- update to 1.43.0 +- raise dependency on PHP 7.1.3 +- switch to phpunit8 + +* Wed Feb 12 2020 Remi Collet <remi@remirepo.net> - 1.42.5-1 +- update to 1.42.5 + +* Tue Nov 12 2019 Remi Collet <remi@remirepo.net> - 1.42.4-1 +- update to 1.42.4 +- sources from git snapshot + +* Tue Aug 27 2019 Remi Collet <remi@remirepo.net> - 1.42.3-1 +- update to 1.42.3 +- use symfony/debug v3 +- use phpunit v7 +- raise dependency on PHP 5.5 +- drop support of the C extension + * Tue Jun 18 2019 Shawn Iwinski <shawn@iwin.ski> - 1.42.2-1 - Update to 1.42.2 |