# remirepo/Fedora spec file for php-zendframework-zend-di # # Copyright (c) 2015-2019 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 1fd1ba85660b5a2718741b38639dc7c4c3194b37 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner zendframework %global gh_project zend-di %global php_home %{_datadir}/php %global library Di %if %{bootstrap} %global with_tests 0%{?_with_tests:1} %else %global with_tests 0%{!?_without_tests:1} %endif Name: php-%{gh_owner}-%{gh_project} Version: 2.6.1 Release: 8%{?dist} Summary: Zend Framework %{library} component License: BSD URL: https://zendframework.github.io/%{gh_project}/ Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php(language) >= 5.3.23 BuildRequires: php-reflection BuildRequires: php-pcre BuildRequires: php-spl # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(container-interop/container-interop) >= 1.1 with php-composer(container-interop/container-interop) < 2) BuildRequires: (php-autoloader(%{gh_owner}/zend-code) >= 2.6 with php-autoloader(%{gh_owner}/zend-code) < 4) BuildRequires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) # remirepo:6 %else BuildRequires: php-composer(container-interop/container-interop) < 2 BuildRequires: php-composer(container-interop/container-interop) >= 1.1 BuildRequires: php-autoloader(%{gh_owner}/zend-code) >= 2.6 BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 %endif # From composer, "require-dev": { # "fabpot/php-cs-fixer": "1.7.*", # "phpunit/PHPUnit": "~4.0" BuildRequires: php-composer(phpunit/phpunit) >= 4.0 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^5.5 || ^7.0", # "container-interop/container-interop": "^1.1", # "zendframework/zend-code": "^2.6 || ^3.0", # "zendframework/zend-stdlib": "^2.7 || ^3.0" Requires: php(language) >= 5.3.23 %if ! %{bootstrap} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(container-interop/container-interop) >= 1.1 with php-composer(container-interop/container-interop) < 2) Requires: (php-autoloader(%{gh_owner}/zend-code) >= 2.6 with php-autoloader(%{gh_owner}/zend-code) < 4) Requires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) # remirepo:8 %else Requires: php-composer(container-interop/container-interop) >= 1.1 Requires: php-composer(container-interop/container-interop) < 2 Requires: php-autoloader(%{gh_owner}/zend-code) >= 2.6 Requires: php-autoloader(%{gh_owner}/zend-code) < 4 Requires: php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 Requires: php-autoloader(%{gh_owner}/zend-stdlib) < 4 %endif # From composer, "suggest": { # "zendframework/zend-servicemanager": "Zend\\ServiceManager component" %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 Suggests: php-autoloader(%{gh_owner}/zend-servicemanager) %endif %endif # Autoloader Requires: php-composer(fedora/autoloader) # From phpcompatinfo report for version 2.5.2 Requires: php-reflection Requires: php-pcre Requires: php-spl Obsoletes: php-ZendFramework2-%{library} < 2.5 Provides: php-ZendFramework2-%{library} = %{version} Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} Provides: php-autoloader(%{gh_owner}/%{gh_project}) = %{version} %description Zend\Di is an example of an Inversion of Control (IoC) container. IoC containers are widely used to create object instances that have all dependencies resolved and injected. Dependency Injection containers are one form of IoC – but not the only form. Documentation: https://zendframework.github.io/%{gh_project}/ %prep %setup -q -n %{gh_project}-%{gh_commit} 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}/Interop/Container/autoload.php', '%{php_home}/Zend/Code/autoload.php', '%{php_home}/Zend/Stdlib/autoload.php', ]); \Fedora\Autoloader\Dependencies::optional([ '%{php_home}/Zend/ServiceManager/autoload.php', ]); EOF %install mkdir -p %{buildroot}%{php_home}/Zend/ cp -pr src %{buildroot}%{php_home}/Zend/%{library} %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php - 2.6.1-8 - use range dependencies * Tue Dec 5 2017 Remi Collet - 2.6.1-4 - switch from zend-loader to fedora/autoloader * Tue Apr 26 2016 Remi Collet - 2.6.1-1 - update to 2.6.1 * Wed Feb 24 2016 Remi Collet - 2.6.0-1 - update to 2.6.0 - add dependency on container-interop/container-interop - raise dependency on zend-code >= 2.6 - raise dependency on zend-stdlib >= 2.7 * Tue Aug 4 2015 Remi Collet - 2.5.1-1 - initial package