summaryrefslogtreecommitdiffstats
path: root/php-sebastian-complexity.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-sebastian-complexity.spec')
-rw-r--r--php-sebastian-complexity.spec132
1 files changed, 132 insertions, 0 deletions
diff --git a/php-sebastian-complexity.spec b/php-sebastian-complexity.spec
new file mode 100644
index 0000000..144a5a3
--- /dev/null
+++ b/php-sebastian-complexity.spec
@@ -0,0 +1,132 @@
+# remirepo/fedora spec file for php-sebastian-complexity
+#
+# Copyright (c) 2020 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%bcond_with bootstrap
+%if %{with bootstrap}
+%bcond_with tests
+%else
+%bcond_without tests
+%endif
+# github
+%global gh_commit 33fcd6a26656c6546f70871244ecba4b4dced097
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_owner sebastianbergmann
+%global gh_project complexity
+# packagist
+%global pk_vendor sebastian
+%global pk_project %{gh_project}
+%global major %nil
+# namespace
+%global php_home %{_datadir}/php
+%global ns_vendor SebastianBergmann
+%global ns_project Complexity
+
+Name: php-%{pk_vendor}-%{pk_project}%{major}
+Version: 2.0.0
+Release: 1%{?dist}
+Summary: Calculating the complexity of PHP code units
+
+License: BSD
+URL: https://github.com/%{gh_owner}/%{gh_project}
+# git snapshot to retrieve test suite
+Source0: %{name}-%{version}-%{gh_short}.tgz
+Source1: makesrc.sh
+
+BuildArch: noarch
+BuildRequires: php(language) >= 7.3
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(nikic/php-parser) >= 4.7 with php-composer(nikic/php-parser) < 5)
+# remirepo:3
+%else
+BuildRequires: php-nikic-php-parser4 >= 4.7
+%endif
+BuildRequires: php-spl
+# Autoloader
+BuildRequires: php-fedora-autoloader-devel >= 1.0.0
+%if %{with tests}
+# from composer.json, "require-dev": {
+# "phpunit/phpunit": "^9.2"
+BuildRequires: phpunit9 >= 9.2
+%endif
+
+# from composer.json, "require": {
+# "php": "^7.3 || ^8.0",
+# "nikic/php-parser": "^4.7"
+Requires: php(language) >= 7.3
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-composer(nikic/php-parser) >= 4.7 with php-composer(nikic/php-parser) < 5)
+# remirepo:3
+%else
+Requires: php-nikic-php-parser4 >= 4.7
+%endif
+# from phpcompatinfo report for version 2.0.0
+Requires: php-spl
+# Autoloader
+Requires: php-composer(fedora/autoloader)
+
+Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version}
+
+
+%description
+Library for calculating the complexity of PHP code units.
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+
+
+%build
+# Generate the Autoloader
+phpab --template fedora --output src/autoload.php src
+
+cat <<EOF | tee -a src/autoload.php
+\Fedora\Autoloader\Dependencies::required([
+ '%{php_home}/PhpParser4/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
+touch vendor/autoload.php
+
+: Run upstream test suite
+ret=0
+for cmd in php php73 php74 php80; do
+ if which $cmd; then
+ $cmd -d auto_prepend_file=%{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}%{major}/autoload.php \
+ %{_bindir}/phpunit9 --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 *.md
+%doc composer.json
+%dir %{php_home}/%{ns_vendor}
+ %{php_home}/%{ns_vendor}/%{ns_project}%{major}
+
+
+%changelog
+* Mon Aug 10 2020 Remi Collet <remi@remirepo.net> - 2.0.0-1
+- initial package