# remirepo/fedora spec file for php-sebastian-object-enumerator4 # # Copyright (c) 2015-2020 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global bootstrap 0 %global gh_commit e67516b175550abad905dc952f43285957ef4363 #global gh_date 20150728 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sebastianbergmann %global gh_project object-enumerator # Packagist %global pk_vendor sebastian %global pk_project %{gh_project} # Namespace %global ns_vendor SebastianBergmann %global ns_project ObjectEnumerator %global major 4 %global php_home %{_datadir}/php %if %{bootstrap} %global with_tests 0%{?_with_tests:1} %else %global with_tests 0%{!?_without_tests:1} %endif Name: php-%{pk_vendor}-%{pk_project}%{major} Version: 4.0.0 %global specrel 1 Release: %{?gh_date:1%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} Summary: Traverses array and object to enumerate all referenced objects License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz # fix for PHPUnit 8/9 Patch0: https://patch-diff.githubusercontent.com/raw/sebastianbergmann/object-enumerator/pull/8.patch BuildArch: noarch BuildRequires: php(language) >= 7.3 BuildRequires: php-fedora-autoloader-devel %if %{with_tests} %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(%{pk_vendor}/object-reflector) >= 2.0 with php-composer(%{pk_vendor}/object-reflector) < 3) BuildRequires: (php-composer(sebastian/recursion-context) >= 4.0 with php-composer(sebastian/recursion-context) < 5) %else BuildRequires: php-sebastian-object-reflector2 BuildRequires: php-sebastian-recursion-context4 %endif # From composer.json"require-dev": { # "phpunit/phpunit": "^9.0" # TODO test suite passes with v8, switch to v9 when available BuildRequires: phpunit8 %endif # from composer.json # "php": "^7.3", # "sebastian/object-reflector": "^2.0", # "sebastian/recursion-context": "^4.0" Requires: php(language) >= 7.3 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(%{pk_vendor}/object-reflector) >= 2.0 with php-composer(%{pk_vendor}/object-reflector) < 3) Requires: (php-composer(sebastian/recursion-context) >= 4.0 with php-composer(sebastian/recursion-context) < 5) %else Requires: php-sebastian-object-reflector2 Requires: php-sebastian-recursion-context4 %endif # from phpcompatinfo report for version 4.0.0: Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} %description Traverses array structures and object graphs to enumerate all referenced objects. Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}%{major}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .pr8 %build # Generate the Autoloader, from composer.json "autoload": { # "classmap": [ # "src/" %{_bindir}/phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required([ '%{php_home}/%{ns_vendor}/ObjectReflector2/autoload.php', '%{php_home}/%{ns_vendor}/RecursionContext4/autoload.php', ]); EOF %install mkdir -p %{buildroot}%{php_home}/%{ns_vendor} cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}%{major} %check %if %{with_tests} mkdir vendor %{_bindir}/phpab --template fedora --output vendor/autoload.php tests/_fixture : Run upstream test suite ret=0 for cmd in php php73 php74; do if which $cmd; then $cmd -d auto_prepend_file=%{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}%{major}/autoload.php \ %{_bindir}/phpunit8 --verbose || ret=1 fi done exit $ret %else : bootstrap build with test suite disabled %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc README.md composer.json %{php_home}/%{ns_vendor}/%{ns_project}%{major} %changelog * Fri Feb 7 2020 Remi Collet - 4.0.0-1 - update to 4.0.0 - raise dependency on PHP 7.3 - raise dependency on sebastian/object-reflector 2 - raise dependency on sebastian/recursion-context 4 - rename to php-sebastian-object-enumerator4 - move to /usr/share/php/SebastianBergmann/ObjectEnumerator4 - fix test suite with patch from https://github.com/sebastianbergmann/object-enumerator/pull/8 * Thu Dec 6 2018 Remi Collet - 3.0.3-3 - cleanup for EL-8 * Tue Feb 6 2018 Remi Collet - 3.0.3-2 - use range dependencies on F27+ * Fri Aug 4 2017 Remi Collet - 3.0.3-1 - Update to 3.0.3 - no change - raise dependency on sebastian/object-reflector 1.1.1 * Sun Mar 12 2017 Remi Collet - 3.0.2-1 - Update to 3.0.2 - add dependency on sebastian/object-reflector * Sun Mar 12 2017 Remi Collet - 3.0.1-1 - Update to 3.0.1 * Fri Mar 3 2017 Remi Collet - 3.0.0-1 - update to 3.0.0 - rename to php-sebastian-object-enumerator3 - raise dependency on PHP 7 - raise dependency on recursion-context 3 * Sat Feb 18 2017 Remi Collet - 2.0.1-1 - update to 2.0.1 * Tue Nov 22 2016 Remi Collet - 2.0.0-1 - update to 2.0.0 (no change) - raise dependency on sebastian/recursion-context 2.0 * Wed Nov 16 2016 Remi Collet - 1.0.1-1 - update to 1.0.1 - raise dependency on sebastian/recursion-context 1.0.4 * Mon Oct 31 2016 Remi Collet - 1.0.0-2 - switch to fedora/autoloader * Wed Mar 23 2016 Remi Collet - 1.0.0-1 - initial package