summaryrefslogtreecommitdiffstats
path: root/php-phpunitgoodpractices-polyfill.spec
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2018-06-25 11:30:04 +0200
committerRemi Collet <remi@remirepo.net>2018-06-25 11:30:04 +0200
commitc95f7c1745ea4df58f5a282bd9b9f0e1e3c89e04 (patch)
tree94efefb553fb28be55d2d30dc6b4f1b3179c053c /php-phpunitgoodpractices-polyfill.spec
parent9862d98c011627d5bd92dd3b1a10c6eccf15da78 (diff)
add mandatory dependency on one PHPUnit version
add phpunitgoodpractices/traits 1.5.1 fix autoloader #1594663
Diffstat (limited to 'php-phpunitgoodpractices-polyfill.spec')
-rw-r--r--php-phpunitgoodpractices-polyfill.spec68
1 files changed, 55 insertions, 13 deletions
diff --git a/php-phpunitgoodpractices-polyfill.spec b/php-phpunitgoodpractices-polyfill.spec
index 3eb9c65..d930443 100644
--- a/php-phpunitgoodpractices-polyfill.spec
+++ b/php-phpunitgoodpractices-polyfill.spec
@@ -20,10 +20,14 @@
%global ns_project Polyfill
%global php_home %{_datadir}/php
%global with_tests 0%{!?_without_tests:1}
+# Traits
+%global tr_commit 10d22ad5e222b5e5eae6941aac91c068397b5127
+%global tr_short %(c=%{tr_commit}; echo ${c:0:7})
+%global tr_version 1.5.1
Name: php-%{pk_vendor}-%{pk_project}
Version: 1.1.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Lacking future-compat polyfills for PHPUnit
Group: Development/Tools
@@ -31,7 +35,8 @@ License: MIT
URL: https://github.com/%{gh_owner}/%{gh_project}
# git snapshot to get upstream test suite (none for now)
Source0: %{name}-%{version}-%{gh_short}.tgz
-Source1: makesrc.sh
+Source1: php-%{pk_vendor}-traits-%{tr_version}-%{tr_short}.tgz
+Source2: makesrc.sh
BuildArch: noarch
%if %{with_tests}
@@ -48,13 +53,21 @@ BuildRequires: php-fedora-autoloader-devel
# "php": "^5.5 || ^7.0",
# "phpunit/phpunit": "^4.0 || ^5.3 || ^6.0 || ^7.0"
Requires: php(language) >= 5.5
-# ignore phpunit dep, package using it will run the proper phpunit command (and autoloader)
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (phpunit7 or phpunit6 or php-phpunit-PHPUnit)
+# remirepo:3
+%else
+Requires: php-phpunit-PHPUnit
+%endif
# From phpcompatinfo report for version 1.0.0
# nothing
# Autoloader
Requires: php-composer(fedora/autoloader)
Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version}
+Provides: php-%{pk_vendor}-traits = %{tr_version}
+Provides: php-composer(%{pk_vendor}/traits) = %{tr_version}
%description
@@ -64,16 +77,31 @@ Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php
%prep
-%setup -q -n %{gh_project}-%{gh_commit}
+%setup -q -n %{gh_project}-%{gh_commit} -a 1
+mv composer.json composer-polyfill.json
+mv LICENSE LICENSE-polyfill
+
+mv Traits-%{tr_commit}/src src2
+mv Traits-%{tr_commit}/composer.json composer-traits.json
+mv Traits-%{tr_commit}/LICENSE LICENSE-traits
cat << 'EOF' | tee src/autoload.php
<?php
/* autoloader for %{name} */
-\Fedora\Autoloader\Autoload::addPsr4('PhpCsFixer\\AccessibleObject\\', __DIR__);
-\Fedora\Autoloader\Dependencies::required([
- __DIR__ . '/aliases.php',
-]);
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+if (!class_exists('PHPUnit\\Framework\\TestCase')) { // Call outside of phpunit command
+ \Fedora\Autoloader\Dependencies::required([
+ [
+ '%{php_home}/PHPUnit7/autoload.php',
+ '%{php_home}/PHPUnit6/autoload.php',
+ '%{php_home}/PHPUnit/Autoload.php',
+ ],
+ ]);
+}
+\Fedora\Autoloader\Autoload::addPsr4('PHPUnitGoodPractices\\Polyfill\\', __DIR__);
+\Fedora\Autoloader\Autoload::addPsr4('PHPUnitGoodPractices\\Traits\\', dirname(__DIR__) . '/Traits');
+require_once __DIR__ . '/aliases.php';
EOF
@@ -83,17 +111,25 @@ EOF
%install
: Library
-mkdir -p %{buildroot}%{php_home}/%{ns_vendor}
-cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}
+mkdir -p %{buildroot}%{php_home}/%{ns_vendor}
+cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}
+cp -pr src2 %{buildroot}%{php_home}/%{ns_vendor}/Traits
%check
%if %{with_tests}
: Minimal check for our autoloader
php -r '
-require "%{php_home}/PHPUnit/Autoload.php";
require "%{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php";
var_dump(PHPUnit\Runner\Version::id());
+if (!trait_exists("PHPUnitGoodPractices\\Polyfill\\PolyfillTrait")) {
+ echo("PolyfillTrait missing\n");
+ exit(1);
+}
+if (!class_exists("PHPUnitGoodPractices\\Traits\\PHPUnitVersionRetriever")) {
+ echo("PHPUnitVersionRetriever missing\n");
+ exit(1);
+}
'
%else
: Test suite disabled
@@ -102,13 +138,19 @@ var_dump(PHPUnit\Runner\Version::id());
%files
%{!?_licensedir:%global license %%doc}
-%license LICENSE
-%doc composer.json
+%license LICENSE-*
+%doc composer-*.json
%dir %{php_home}/%{ns_vendor}
%{php_home}/%{ns_vendor}/%{ns_project}
+ %{php_home}/%{ns_vendor}/Traits
%changelog
+* Mon Jun 25 2018 Remi Collet <remi@remirepo.net> - 1.1.0-2
+- add mandatory dependency on one PHPUnit version
+- add phpunitgoodpractices/traits 1.5.1
+- fix autoloader #1594663
+
* Mon Jun 11 2018 Remi Collet <remi@remirepo.net> - 1.1.0-1
- update to 1.1.0 (no change)
- add LICENSE file