# remirepo/fedora spec file for php-phpspec-prophecy-phpunit # # Copyright (c) 2020-2024 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests %global gh_commit 16e1247e139434bce0bac09848bc5c8d882940fc %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner phpspec %global gh_project prophecy-phpunit Name: php-%{gh_owner}-%{gh_project} Version: 2.2.0 Release: 1%{?dist} Summary: Integrating the Prophecy mocking library in PHPUnit test cases License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{name}-%{version}-%{gh_short}.tgz Source2: makesrc.sh BuildArch: noarch BuildRequires: php(language) >= 7.3 %if %{with tests} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(phpspec/prophecy) >= 1.18 with php-composer(phpspec/prophecy) < 2) # remirepo:3 %else BuildRequires: php-phpspec-prophecy >= 1.18 %endif # remirepo:3 %if 0%{?fedora} >= 38 || 0%{?rhel} >= 10 BuildRequires: phpunit11 >= 11.0 %endif BuildRequires: phpunit10 >= 10.1 BuildRequires: phpunit9 >= 9.1 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # from composer.json, "requires": { # "php": "^7.3 || ^8", # "phpspec/prophecy": "^1.18", # "phpunit/phpunit":"^9.1 || ^10.1 || ^11.0" Requires: php(language) >= 7.3 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(phpspec/prophecy) >= 1.18 with php-composer(phpspec/prophecy) < 2) Requires: (phpunit9 >= 9.1 or phpunit10 >= 10.1 or phpunit11 >= 11.0) # remirepo:4 %else Requires: php-phpspec-prophecy >= 1.18 Requires: phpunit9 >= 9.1 %endif # From phpcompatinfo report for version 2.0.1 #none # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} %description Prophecy PhpUnit integrates the Prophecy mocking library with PHPUnit to provide an easier mocking in your testsuite. Autoloader: %{_datadir}/php/Prophecy/PhpUnit/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %build phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required([ '%{_datadir}/php/Prophecy/autoload.php', ]); EOF %install mkdir -p %{buildroot}%{_datadir}/php/Prophecy/PhpUnit cp -pr src/* %{buildroot}%{_datadir}/php/Prophecy/PhpUnit/ %check %if %{with tests} : Dev autoloader mkdir vendor phpab --output vendor/autoload.php.in fixtures tests cat << 'EOF' | tee -a vendor/autoload.php.in require_once '%{buildroot}%{_datadir}/php/Prophecy/PhpUnit/autoload.php'; require_once '%{_datadir}/php/@PHPUNIT@/autoload.php'; EOF : check autoloader php %{buildroot}%{_datadir}/php/Prophecy/PhpUnit/autoload.php : Fix expecteed path sed -e 's:src/::' -i tests/MockFailure.phpt : upstream test suite ret=0 for cmd in php php81 php82 php83; do if which $cmd; then sed -e 's/@PHPUNIT@/PHPUnit9/' vendor/autoload.php.in > vendor/autoload.php $cmd -d auto_prepend_file=vendor/autoload.php \ %{_bindir}/phpunit9 --no-coverage|| ret=1 sed -e 's/@PHPUNIT@/PHPUnit10/' vendor/autoload.php.in > vendor/autoload.php $cmd -d auto_prepend_file=vendor/autoload.php \ %{_bindir}/phpunit10 --no-coverage|| ret=1 fi done for cmd in php php82 php83; do if which %{_bindir}/phpunit11 && which $cmd; then sed -e 's/@PHPUNIT@/PHPUnit11/' vendor/autoload.php.in > vendor/autoload.php $cmd -d auto_prepend_file=vendor/autoload.php \ %{_bindir}/phpunit11 --no-coverage|| ret=1 fi done exit $ret %else : Test suite disabled %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md %doc composer.json %{_datadir}/php/Prophecy/PhpUnit %changelog * Fri Mar 1 2024 Remi Collet - 2.2.0-1 - update to 2.2.0 - allow phpunit11 * Mon Dec 11 2023 Remi Collet - 2.1.0-1 - update to 2.1.0 - raise dependency on phpspec/prophecy 1.18 - allow phpunit9 or phpunit10 * Wed Apr 19 2023 Remi Collet - 2.0.2-1 - update to 2.0.2 * Mon Sep 28 2020 Remi Collet - 2.0.1-1 - initial package