# spec file for phpcov # # Copyright (c) 2013-2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global gh_commit 1fc7ed3179a3ed27a386cd2336e91d8e747a3d71 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sebastianbergmann %global gh_project phpcov %global php_home %{_datadir}/php %global with_tests 0%{!?_without_tests:1} # Packagist %global pk_vendor phpunit %global pk_project phpcov # Namespace %global ns_vendor SebastianBergmann %global ns_project PHPCOV Name: %{pk_project} Version: 4.0.4 Release: 1%{?dist} Summary: CLI frontend for PHP_CodeCoverage Group: Development/Libraries 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 autoload for RPM Patch0: %{gh_project}-rpm.patch BuildArch: noarch BuildRequires: php(language) >= 7.0 BuildRequires: php-fedora-autoloader-devel %if %{with_tests} BuildRequires: phpunit6 %if 0%{?fedora} >= 27 BuildRequires: (php-composer(phpunit/php-code-coverage) >= 5.2.1 with php-composer(phpunit/php-code-coverage) < 6) BuildRequires: (php-composer(sebastian/diff) >= 2 with php-composer(sebastian/diff) < 3) BuildRequires: (php-composer(sebastian/finder-facade) >= 1.1 with php-composer(sebastian/finder-facade) < 2) BuildRequires: (php-composer(sebastian/version) >= 2.0 with php-composer(sebastian/version) < 3) BuildRequires: (php-composer(symfony/console) >= 3.0 with php-composer(symfony/console) < 5) %else BuildRequires: php-composer(phpunit/php-code-coverage) < 6 BuildRequires: php-composer(phpunit/php-code-coverage) >= 5.2.1 BuildRequires: php-composer(sebastian/diff) < 3 BuildRequires: php-composer(sebastian/diff) >= 2 BuildRequires: php-composer(sebastian/finder-facade) < 2 BuildRequires: php-composer(sebastian/finder-facade) >= 1.1 BuildRequires: php-composer(sebastian/version) < 3 BuildRequires: php-composer(sebastian/version) >= 2.0 BuildRequires: php-symfony3-console %endif BuildRequires: php-pecl(Xdebug) %endif # from composer.json # "php": "^7.0", # "phpunit/phpunit": "^6.0", # "phpunit/php-code-coverage": "^5.2.1", # "sebastian/diff": "^1.1 || ^2.0", # "sebastian/finder-facade": "^1.1", # "sebastian/version": "^2.0", # "symfony/console": "^3.0|^4.0" Requires: php(language) >= 7.0 Requires: phpunit6 %if 0%{?fedora} >= 27 Requires: (php-composer(phpunit/php-code-coverage) >= 5.2.1 with php-composer(phpunit/php-code-coverage) < 6) Requires: (php-composer(sebastian/diff) >= 2 with php-composer(sebastian/diff) < 3) Requires: (php-composer(sebastian/finder-facade) >= 1.1 with php-composer(sebastian/finder-facade) < 2) Requires: (php-composer(sebastian/version) >= 2.0 with php-composer(sebastian/version) < 3) Requires: (php-composer(symfony/console) >= 3.0 with php-composer(symfony/console) < 5) %else Requires: php-composer(phpunit/php-code-coverage) < 6 Requires: php-composer(phpunit/php-code-coverage) >= 5.2.1 Requires: php-composer(sebastian/diff) < 3 Requires: php-composer(sebastian/diff) >= 2 Requires: php-composer(sebastian/finder-facade) < 2 Requires: php-composer(sebastian/finder-facade) >= 1.1 Requires: php-composer(sebastian/version) < 3 Requires: php-composer(sebastian/version) >= 2.0 Requires: php-symfony3-console %endif # from phpcompatinfo report for version 4.0.0 # none %if 0%{?fedora} >= 25 Obsoletes: php-phpunit-phpcov < 4 Provides: php-phpunit-phpcov = %{version} %else Conflicts: php-phpunit-phpcov < 4 %endif Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} %description %{pk_project} is a command-line frontend for the PHP_CodeCoverage library. %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p0 -b .rpm %build phpab \ --template fedora \ --output src/autoload.php \ src cat << 'EOF' | tee -a src/autoload.php // Dependencies \Fedora\Autoloader\Dependencies::required([ '%{php_home}/PHPUnit6/autoload.php', '%{php_home}/%{ns_vendor}/CodeCoverage5/autoload.php', '%{php_home}/%{ns_vendor}/Diff2/autoload.php', '%{php_home}/%{ns_vendor}/FinderFacade/autoload.php', '%{php_home}/%{ns_vendor}/Version/autoload.php', [ '%{php_home}/Symfony4/Component/Console/autoload.php', '%{php_home}/Symfony3/Component/Console/autoload.php', ] ]); EOF %install mkdir -p %{buildroot}%{php_home}/%{ns_vendor} cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project} install -D -p -m 755 %{pk_project} %{buildroot}%{_bindir}/%{pk_project} %check %if %{with_tests} mkdir vendor ln -s %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php vendor/autoload.php for cmd in php php70 php71 php72; do if which $cmd; then $cmd %{_bindir}/phpunit6 --verbose fi done %else : Test suite skipped %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc README.md %doc composer.json %{php_home}/%{ns_vendor}/%{ns_project} %{_bindir}/%{pk_project} %changelog * Thu Jan 18 2018 Remi Collet - 4.0.4-1 - Update to 4.0.4 (no change) - raise dependency on symfony/console 3 - use range dependency on F27 * Sun Nov 19 2017 Remi Collet - 4.0.3-1 - Update to 4.0.3 - Allow Symfony 4 * Sun Oct 22 2017 Remi Collet - 4.0.2-1 - Update to 4.0.2 - raise dependency on phpunit/php-code-coverage 5.2.1 - drop dependency on php-phpunit-diff - add dependency on php-sebastian-diff2 * Fri Apr 28 2017 Remi Collet - 4.0.1-1 - Update to 4.0.1 * Mon Apr 24 2017 Remi Collet - 4.0.0-2 - fix composer provide (from review #1420384) - fix composer.json perm * Wed Feb 8 2017 Remi Collet - 4.0.0-1 - rename to phpcov - update to 4.0.0 - change dependencies to PHPUnit v6 * Fri Jun 3 2016 Remi Collet - 3.1.0-1 - Update to 3.1.0 - raise dependency on phpunit/php-code-coverage >= 4.0 - drop the autoloader template, simply generate it * Mon Apr 18 2016 Remi Collet - 3.0.0-3 - allow sebastian/version 2.0 * Sat Jan 9 2016 Remi Collet - 3.0.0-1 - update to 3.0.0 - raise minimal PHP version to 5.6 - raise dependencies on phpunit ~5.0, php-code-coverage ~3.0 - allow symfony 3 - run test suite with both PHP 6 and 7 when available * Mon Oct 5 2015 Remi Collet - 2.0.2-1 - update to 2.0.2 - allow PHPUnit 5 * Wed Jun 25 2014 Remi Collet - 2.0.1-1 - update to 2.0.1 - composer dependencies * Wed Apr 30 2014 Remi Collet - 2.0.0-1 - update to 2.0.0 - sources from github * Thu Sep 12 2013 Remi Collet - 1.1.0-1 - initial package