# remirepo/Fedora spec file for php-laminas-cli # # Copyright (c) 2021 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global bootstrap 0 %global gh_commit 875a174c161c84c84c43bdff1e10cfe4ecbda704 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner laminas %global gh_project laminas-cli %global php_home %{_datadir}/php %global namespace Laminas %global library Cli %global major %nil %if %{bootstrap} %global with_tests 0%{?_with_tests:1} %else %global with_tests 0%{!?_without_tests:1} %endif Name: php-%{gh_project}%{major} Version: 1.1.1 Release: 1%{?dist} Summary: Laminas Framework %{library} component v1 License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh # Get rid of composer/package-versions-deprecated Patch0: %{name}-rpm.patch BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php(language) >= 7.3 BuildRequires: php-reflection BuildRequires: php-pcre BuildRequires: php-spl # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(psr/container) >= 1.0 with php-composer(psr/container) < 2) BuildRequires: (php-composer(symfony/console) >= 4.3 with php-composer(symfony/console) < 5) BuildRequires: (php-composer(symfony/event-dispatcher) >= 4.3 with php-composer(symfony/event-dispatcher) < 5) BuildRequires: (php-composer(symfony/polyfill-php80) >= 1.17 with php-composer(symfony/polyfill-php80) < 2) BuildRequires: (php-composer(webmozart/assert) >= 1.9 with php-composer(webmozart/assert) < 2) # From composer, "require-dev": { # "laminas/laminas-coding-standard": "~2.0.0", # "laminas/laminas-mvc": "^3.1.1", # "laminas/laminas-servicemanager": "^3.4", # "mikey179/vfsstream": "2.0.x-dev", # "phpunit/phpunit": "^9.4.1", # "vimeo/psalm": "^4.4.1" BuildRequires: (php-autoloader(%{gh_owner}/laminas-mvc) >= 3.1.1 with php-autoloader(%{gh_owner}/laminas-mvc) < 4) BuildRequires: (php-autoloader(%{gh_owner}/laminas-servicemanager) >= 3.7 with php-autoloader(%{gh_owner}/laminas-servicemanager) < 4) BuildRequires: (php-composer(mikey179/vfsstream) >= 1.6.10 with php-composer(mikey179/vfsstream) < 2) # remirepo:10 %else BuildRequires: php-psr-container >= 1.0 BuildRequires: php-symfony4-console >= 4.3 BuildRequires: php-symfony4-event-dispatcher >= 4.3 BuildRequires: php-symfony-polyfill >= 1.17 BuildRequires: php-webmozart-assert >= 1.9 BuildRequires: php-laminas-mvc >= 3.1.1 BuildRequires: php-laminas-servicemanager >= 3.4 BuildRequires: php-mikey179-vfsstream %endif BuildRequires: phpunit9 >= 9.4.1 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^7.3 || ~8.0.0", # "composer/package-versions-deprecated": "^1.10.99", # "psr/container": "^1.0", # "symfony/console": "^4.3 || ^5.1.2", # "symfony/event-dispatcher": "^4.0 || ^5.0", # "symfony/polyfill-php80": "^1.17", # "webmozart/assert": "^1.9" Requires: php(language) >= 7.3 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(psr/container) >= 1.0 with php-composer(psr/container) < 2) Requires: (php-composer(symfony/console) >= 4.3 with php-composer(symfony/console) < 5) Requires: (php-composer(symfony/event-dispatcher) >= 4.3 with php-composer(symfony/event-dispatcher) < 5) Requires: (php-composer(symfony/polyfill-php80) >= 1.17 with php-composer(symfony/polyfill-php80) < 2) Requires: (php-composer(webmozart/assert) >= 1.9 with php-composer(webmozart/assert) < 2) # From composer, "require": { # "laminas/laminas-servicemanager": "An IoC container without auto wiring capabilities" Suggests: php-autoloader(%{gh_owner}/laminas-servicemanager) # remirepo:7 %else Requires: php-psr-container >= 1.0 Requires: php-symfony4-console >= 4.3 Requires: php-symfony4-event-dispatcher >= 4.3 Requires: php-symfony-polyfill >= 1.17 Requires: php-webmozart-assert >= 1.9 %endif # Autoloader Requires: php-composer(fedora/autoloader) # From phpcompatinfo report for version 1.1.1 Requires: php-json Requires: php-pcre Requires: php-reflection Requires: php-spl Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} Provides: php-autoloader(%{gh_owner}/%{gh_project}) = %{version} %description Command-line interface for Laminas projects. Documentation: https://docs.laminas.dev/%{gh_project}/ %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm sed -e 's/@VERSION@/%{version}/' -i src/ApplicationFactory.php find . -name \*.rpm -delete -print # As we don't have mikey179/vfsstream v2 sed -e 's/ bovigo/ org\\bovigo/' -i test/ContainerResolverTest.php mv LICENSE.md LICENSE %build : Create autoloader phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required([ '%{php_home}/Psr/Container/autoload.php', '%{php_home}/Symfony4/Component/Console/autoload.php', '%{php_home}/Symfony4/Component/EventDispatcher/autoload.php', '%{php_home}/Symfony/Polyfill/autoload.php', '%{php_home}/Webmozart/Assert/autoload.php', ]); // For Symfony 4 (use ContainerCommandLoaderTypeHint with Symfony 5) class_alias(Laminas\Cli\ContainerCommandLoaderNoTypeHint::class, Laminas\Cli\ContainerCommandLoader::class); EOF %install : Laminas library mkdir -p %{buildroot}%{php_home}/%{namespace}/ cp -pr src %{buildroot}%{php_home}/%{namespace}/%{library}%{major} %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php - 1.1.1-1 - initial package