c3ac883
# fedora/remirepo spec file for phpcov
17d93a5
#
484d14f
# Copyright (c) 2013-2021 Remi Collet
17d93a5
# License: CC-BY-SA
17d93a5
# http://creativecommons.org/licenses/by-sa/4.0/
17d93a5
#
17d93a5
# Please, preserve the changelog entries
17d93a5
#
82449ce
c6b386f
%bcond_without tests
c6b386f
82449ce
# For compatibility with SCL
82449ce
%undefine __brp_mangle_shebangs
82449ce
43f94aa
%global gh_commit    742d0608238c7f045fe3115241d7ec3ec2587442
17d93a5
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
17d93a5
%global gh_owner     sebastianbergmann
17d93a5
%global gh_project   phpcov
17d93a5
%global php_home     %{_datadir}/php
17d93a5
# Packagist
17d93a5
%global pk_vendor    phpunit
17d93a5
%global pk_project   phpcov
17d93a5
# Namespace
17d93a5
%global ns_vendor    SebastianBergmann
17d93a5
%global ns_project   PHPCOV
17d93a5
17d93a5
17d93a5
Name:           %{pk_project}
43f94aa
Version:        8.2.0
9b29594
Release:        2%{?dist}
17d93a5
Summary:        CLI frontend for PHP_CodeCoverage
17d93a5
17d93a5
License:        BSD
17d93a5
URL:            https://github.com/%{gh_owner}/%{gh_project}
c6b386f
Source0:        %{name}-%{version}-%{gh_short}.tgz
c6b386f
Source1:        makesrc.sh
17d93a5
17d93a5
# Fix autoload for RPM
17d93a5
Patch0:         %{gh_project}-rpm.patch
17d93a5
17d93a5
BuildArch:      noarch
5db9a75
BuildRequires:  php(language) >= 7.3
17d93a5
BuildRequires:  php-fedora-autoloader-devel
c6b386f
%if %{with tests}
c6b386f
BuildRequires:  phpunit9 >= 9.3
43f94aa
BuildRequires:  (php-composer(phpunit/php-code-coverage) >= 9.2    with php-composer(phpunit/php-code-coverage) < 10)
55f0711
BuildRequires:  (php-composer(phpunit/php-file-iterator) >= 3.0    with php-composer(phpunit/php-file-iterator) < 4)
55f0711
BuildRequires:  (php-composer(sebastian/cli-parser)      >= 1.0    with php-composer(sebastian/cli-parser)      < 2)
55f0711
BuildRequires:  (php-composer(sebastian/diff)            >= 4      with php-composer(sebastian/diff)            < 5)
55f0711
BuildRequires:  (php-composer(sebastian/version)         >= 3.0    with php-composer(sebastian/version)         < 4)
ecc57a7
BuildRequires:  php-pecl(Xdebug) >= 3
17d93a5
%endif
17d93a5
17d93a5
# from composer.json
43f94aa
#        "php": ">=7.3",
5db9a75
#        "phpunit/phpunit": "^9.0",
43f94aa
#        "phpunit/php-code-coverage": "^9.2",
c6b386f
#        "phpunit/php-file-iterator": "^3.0",
c6b386f
#        "sebastian/cli-parser": "^1.0",
5db9a75
#        "sebastian/diff": "^4.0",
c6b386f
#        "sebastian/version": "^3.0"
5db9a75
Requires:       php(language) >= 7.3
c6b386f
Requires:       phpunit9 >= 9.3
43f94aa
Requires:       (php-composer(phpunit/php-code-coverage) >= 9.2    with php-composer(phpunit/php-code-coverage) < 10)
55f0711
Requires:       (php-composer(phpunit/php-file-iterator) >= 3.0    with php-composer(phpunit/php-file-iterator) < 4)
55f0711
Requires:       (php-composer(sebastian/cli-parser)      >= 1.0    with php-composer(sebastian/cli-parser)      < 2)
55f0711
Requires:       (php-composer(sebastian/diff)            >= 4      with php-composer(sebastian/diff)            < 5)
55f0711
Requires:       (php-composer(sebastian/version)         >= 3.0    with php-composer(sebastian/version)         < 4)
17d93a5
# from phpcompatinfo report for version 4.0.0
17d93a5
# none
17d93a5
17d93a5
Obsoletes:      php-phpunit-phpcov < 4
17d93a5
Provides:       php-phpunit-phpcov = %{version}
998fecd
Provides:       php-composer(%{pk_vendor}/%{pk_project}) = %{version}
17d93a5
17d93a5
17d93a5
%description
17d93a5
%{pk_project} is a command-line frontend for the PHP_CodeCoverage library.
17d93a5
17d93a5
17d93a5
%prep
17d93a5
%setup -q -n %{gh_project}-%{gh_commit}
17d93a5
17d93a5
%patch0 -p0 -b .rpm
17d93a5
17d93a5
17d93a5
%build
17d93a5
phpab \
17d93a5
  --template fedora \
17d93a5
  --output   src/autoload.php \
17d93a5
  src
17d93a5
17d93a5
cat << 'EOF' | tee -a src/autoload.php
17d93a5
// Dependencies
72750e3
\Fedora\Autoloader\Dependencies::required([
5db9a75
    '%{php_home}/PHPUnit9/autoload.php',
c6b386f
    '%{php_home}/%{ns_vendor}/CodeCoverage9/autoload.php',
c6b386f
    '%{php_home}/%{ns_vendor}/FileIterator3/autoload.php',
c6b386f
    '%{php_home}/%{ns_vendor}/CliParser/autoload.php',
5db9a75
    '%{php_home}/%{ns_vendor}/Diff4/autoload.php',
5db9a75
    '%{php_home}/%{ns_vendor}/Version3/autoload.php',
82449ce
]);
17d93a5
EOF
17d93a5
17d93a5
17d93a5
%install
17d93a5
mkdir -p   %{buildroot}%{php_home}/%{ns_vendor}
17d93a5
cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}
17d93a5
17d93a5
install -D -p -m 755 %{pk_project} %{buildroot}%{_bindir}/%{pk_project}
17d93a5
17d93a5
17d93a5
%check
c6b386f
%if %{with tests}
17d93a5
mkdir vendor
17d93a5
ln -s %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php vendor/autoload.php
17d93a5
c3ac883
if ! php -v | grep Xdebug
c3ac883
then EXT="-d zend_extension=xdebug.so"
82449ce
fi
c3ac883
c6b386f
# test with hardcoded path in data
c6b386f
rm tests/end-to-end/execute/valid-script-argument-with-cli-include-with-text-report.phpt
c6b386f
rm tests/end-to-end/merge/valid-directory-with-text-report.phpt
55f0711
rm tests/end-to-end/merge/valid-directory-with-text-report-stdout.phpt
43f94aa
# test incompatible with coverage 9.2 (--cobertura)
43f94aa
# https://github.com/sebastianbergmann/phpcov/issues/108
43f94aa
rm tests/end-to-end/help/help.phpt
43f94aa
rm tests/end-to-end/help/help2.phpt
c6b386f
ecc57a7
# Needed for XDebug 3
ecc57a7
find tests -name \*.phpt \
ecc57a7
  -exec sed -e '/xdebug.overload_var_dump/d' -i {} \;
ecc57a7
c3ac883
ret=0
ecc57a7
for cmd in php php73 php74 php80; do
c3ac883
  if which $cmd; then
484d14f
    $cmd $EXT %{_bindir}/phpunit9 --testsuite end-to-end --verbose || ret=1
c3ac883
  fi
c3ac883
done
82449ce
exit $ret;
17d93a5
%else
17d93a5
: Test suite skipped
17d93a5
%endif
17d93a5
17d93a5
17d93a5
%files
17d93a5
%license LICENSE
17d93a5
%doc README.md
17d93a5
%doc composer.json
17d93a5
%{php_home}/%{ns_vendor}/%{ns_project}
17d93a5
%{_bindir}/%{pk_project}
17d93a5
17d93a5
17d93a5
%changelog
484d14f
* Fri Jan 29 2021 Remi Collet <remi@remirepo.net> - 8.2.0-2
484d14f
- fix test suite and FTBFS
484d14f
9b29594
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.2.0-2
9b29594
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
9b29594
43f94aa
* Fri Oct  2 2020 Remi Collet <remi@remirepo.net> - 8.2.0-1
43f94aa
- update to 8.2.0
43f94aa
- raise dependency on phpunit/php-code-coverage 9.2
43f94aa
55f0711
* Wed Sep 23 2020 Remi Collet <remi@remirepo.net> - 8.1.2-1
55f0711
- update to 8.1.2 (no change)
55f0711
- raise dependency on phpunit/php-code-coverage 9.1.11
55f0711
e031010
* Fri Sep 11 2020 Remi Collet <remi@remirepo.net> - 8.1.1-1
e031010
- update to 8.1.1 (no change)
e031010
c6b386f
* Thu Aug 13 2020 Remi Collet <remi@remirepo.net> - 8.1.0-1
c6b386f
- update to 8.1.0
c6b386f
- sources from git snapshot
c6b386f
- add dependency on phpunit/php-file-iterator
c6b386f
- add dependency on sebastian/cli-parser
c6b386f
- drop depency on sebastian/finder-facade
c6b386f
- drop dependency on Symfony
c6b386f
- raise dependency on phpunit/phpunit 9.3
c6b386f
- raise dependency on phpunit/php-code-coverage 9.1
c6b386f
14a626e
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.2-2
14a626e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
14a626e
5db9a75
* Thu Mar  5 2020 Remi Collet <remi@remirepo.net> - 7.0.2-1
5db9a75
- update to 7.0.2
5db9a75
- raise dependency on PHP 7.3
5db9a75
- raise dependency on phpunit/phpunit 9
5db9a75
- raise dependency on phpunit/php-code-coverage 8
5db9a75
- raise dependency on sebastian/diff 4
5db9a75
- raise dependency on sebastian/finder-facade 2
5db9a75
- raise dependency on sebastian/version 3
5db9a75
- allow Symfony 5
5db9a75
9bf0b63
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
9bf0b63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
9bf0b63
c8fdc77
* Mon Nov 18 2019 Remi Collet <remi@remirepo.net> - 6.0.1-1
c8fdc77
- update to 6.0.1 (no change)
c8fdc77
7b371fe
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
7b371fe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7b371fe
c3ac883
* Wed Feb 20 2019 Remi Collet <remi@remirepo.net> - 6.0.0-1
c3ac883
- update to 6.0.0
c3ac883
- raise dependency on PHP 7.2
c3ac883
- raise dependency on phpunit/php-code-coverage 7
c3ac883
- switch from phpunit7 to phpunit8
c3ac883
- ensure XDebug is enabled to run the test suite
c3ac883
e92ca31
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-3
e92ca31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
e92ca31
6e48cd4
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-2
6e48cd4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6e48cd4
72750e3
* Tue Feb  6 2018 Remi Collet <remi@remirepo.net> - 5.0.0-1
72750e3
- Update to 5.0.0
72750e3
- raise dependency on PHP 7.1
72750e3
- only for phpunit7
72750e3
- raise dependency on phpunit/php-code-coverage 6
72750e3
- raise dependency on sebastian/diff 3
72750e3
82449ce
* Fri Feb  2 2018 Remi Collet <remi@remirepo.net> - 4.0.5-1
82449ce
- Update to 4.0.5
82449ce
- allow phpunit7
82449ce
- use package names on EL and Fedora < 27
82449ce
ffb3c7d
* Thu Jan 18 2018 Remi Collet <remi@remirepo.net> - 4.0.4-1
ffb3c7d
- Update to 4.0.4 (no change)
ffb3c7d
- raise dependency on symfony/console 3
ffb3c7d
- use range dependency on F27
ffb3c7d
6d1b6f5
* Sun Nov 19 2017 Remi Collet <remi@remirepo.net> - 4.0.3-1
6d1b6f5
- Update to 4.0.3
6d1b6f5
- Allow Symfony 4
6d1b6f5
ee1e6bd
* Sun Oct 22 2017 Remi Collet <remi@remirepo.net> - 4.0.2-1
ee1e6bd
- Update to 4.0.2
ee1e6bd
- raise dependency on phpunit/php-code-coverage 5.2.1
ee1e6bd
- drop dependency on php-phpunit-diff
ee1e6bd
- add dependency on php-sebastian-diff2
ee1e6bd
cb39850
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-2
cb39850
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
cb39850
0b4551a
* Fri Apr 28 2017 Remi Collet <remi@remirepo.net> - 4.0.1-1
0b4551a
- Update to 4.0.1
0b4551a
998fecd
* Mon Apr 24 2017 Remi Collet <remi@remirepo.net> - 4.0.0-2
998fecd
- fix composer provide (from review #1420384)
998fecd
- fix composer.json perm
998fecd
17d93a5
* Wed Feb  8 2017 Remi Collet <remi@fedoraproject.org> - 4.0.0-1
17d93a5
- rename to phpcov
17d93a5
- update to 4.0.0
17d93a5
- change dependencies to PHPUnit v6
17d93a5
17d93a5
* Fri Jun  3 2016 Remi Collet <remi@fedoraproject.org> - 3.1.0-1
17d93a5
- Update to 3.1.0
17d93a5
- raise dependency on phpunit/php-code-coverage >= 4.0
17d93a5
- drop the autoloader template, simply generate it
17d93a5
17d93a5
* Mon Apr 18 2016 Remi Collet <remi@fedoraproject.org> - 3.0.0-3
17d93a5
- allow sebastian/version 2.0
17d93a5
17d93a5
* Sat Jan  9 2016 Remi Collet <remi@fedoraproject.org> - 3.0.0-1
17d93a5
- update to 3.0.0
17d93a5
- raise minimal PHP version to 5.6
17d93a5
- raise dependencies on phpunit ~5.0, php-code-coverage ~3.0
17d93a5
- allow symfony 3
17d93a5
- run test suite with both PHP 6 and 7 when available
17d93a5
17d93a5
* Mon Oct  5 2015 Remi Collet <remi@fedoraproject.org> - 2.0.2-1
17d93a5
- update to 2.0.2
17d93a5
- allow PHPUnit 5
17d93a5
17d93a5
* Wed Jun 25 2014 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
17d93a5
- update to 2.0.1
17d93a5
- composer dependencies
17d93a5
17d93a5
* Wed Apr 30 2014 Remi Collet <remi@fedoraproject.org> - 2.0.0-1
17d93a5
- update to 2.0.0
17d93a5
- sources from github
17d93a5
17d93a5
* Thu Sep 12 2013 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
17d93a5
- initial package