# remirepo/fedora spec file for php-cs-fixer-phpunit-constraint-xmlmatchesxsd # # Copyright (c) 2018-2020 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global gh_commit c616db6153b75b641b772fe2008b8ff001cd74c7 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) #global gh_date 20150717 %global gh_owner PHP-CS-Fixer %global gh_project phpunit-constraint-xmlmatchesxsd %global pk_vendor php-cs-fixer %global pk_project %{gh_project} %global ns_vendor PhpCsFixer %global ns_project PhpunitConstraintXmlMatchesXsd %global php_home %{_datadir}/php %global with_tests 0%{!?_without_tests:1} Name: %{pk_vendor}-%{pk_project} Version: 1.2.1 Release: 1%{?dist} Summary: Constraint for testing XML against XSD License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} # git snapshot to get upstream test suite Source0: %{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildArch: noarch %if %{with_tests} # For tests BuildRequires: php(language) >= 5.5 BuildRequires: php-dom BuildRequires: php-libxml # From composer.json, "require-dev": { # "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", # "symfony/phpunit-bridge": "^3.2.2 || ^4.0" # ignore phpunit listeners %if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 BuildRequires: (php-composer(phpunitgoodpractices/polyfill) >= 1.4 with php-composer(phpunitgoodpractices/polyfill) < 2) BuildRequires: phpunit9 %else BuildRequires: php-phpunitgoodpractices-polyfill >= 1.4 %endif BuildRequires: phpunit8 BuildRequires: phpunit7 >= 7.5.20 BuildRequires: phpunit6 >= 6.5.14 BuildRequires: phpunit >= 5.7.27 # Autoloader BuildRequires: php-fedora-autoloader-devel %endif # From composer.json, "require": { # "php": "^5.5 || ^7.0 || ^8.0", # "ext-dom": "*", # "ext-libxml": "*", # "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.0 || ^9.0", # "phpunitgoodpractices/polyfill": "^1.4" Requires: php(language) >= 5.5 Requires: php-dom Requires: php-libxml # ignore phpunit dep, package using it will run the proper phpunit command (and autoloader) # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(phpunitgoodpractices/polyfill) >= 1.4 with php-composer(phpunitgoodpractices/polyfill) < 2) # remirepo:3 %else Requires: php-phpunitgoodpractices-polyfill >= 1.4 %endif # From phpcompatinfo report for version 1.0.0 # nothing # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} %description Constraint for testing XML against XSD. Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %build : Generate a simple classmap autoloader phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required([ '%{php_home}/PHPUnitGoodPractices/Polyfill/autoload.php', __DIR__ . '/Constraint/XmlMatchesXsd.php', ]); EOF %install : Library mkdir -p %{buildroot}%{php_home}/%{ns_vendor} cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project} %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php /,/<\/listeners>/d' phpunit.xml.dist >phpunit.xml : Run upstream test suite with each available phpunit version ret=0 if [ -x %{_bindir}/phpunit ]; then for cmd in php php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit --verbose || ret=1 fi done fi if [ -x %{_bindir}/phpunit6 ]; then for cmd in php php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit6 --verbose || ret=1 fi done fi if [ -x %{_bindir}/phpunit7 ]; then for cmd in php php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit7 --verbose || ret=1 fi done fi if [ -x %{_bindir}/phpunit8 ]; then for cmd in php php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit8 --verbose || ret=1 fi done fi if [ -x %{_bindir}/phpunit9 ]; then for cmd in php php73 php74 php80; do if which $cmd; then $cmd %{_bindir}/phpunit9 --verbose || ret=1 fi done fi exit $ret %else : Test suite disabled %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json %dir %{php_home}/%{ns_vendor} %{php_home}/%{ns_vendor}/%{ns_project} %changelog * Tue Oct 20 2020 Remi Collet - 1.2.1-1 - update to 1.2.1 - re-add dependency on phpunitgoodpractices/polyfill * Tue Oct 13 2020 Remi Collet - 1.2.0-1 - update to 1.2.0 - drop dependency on phpunitgoodpractices/polyfill - add patch for old phpunit from https://github.com/PHP-CS-Fixer/phpunit-constraint-xmlmatchesxsd/pull/12 - switch to classmap autoloader * Tue Mar 26 2019 Remi Collet - 1.1.0-1 - update to 1.1.0 - raise dependency on phpunitgoodpractices/polyfill 1.1 - allow PHPUnit 8 * Mon Jun 11 2018 Remi Collet - 1.0.1-1 - update to 1.0.1 (no change) * Mon Jun 4 2018 Remi Collet - 1.0.0-1 - initial package, version 1.0.0 - https://github.com/PHP-CS-Fixer/phpunit-constraint-xmlmatchesxsd/issues/2 phpunit schema