# remirepo/Fedora spec file for php-zendframework-zend-di3 # # 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 8ec4660dad8c1c5a6f9eb91f594fb8a7cb921907 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner zendframework %global gh_project zend-di %global major 3 %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}%{major} Version: 3.1.2 Release: 1%{?dist} Summary: Zend Framework %{library} component version %{major} 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(psr/container) >= 1.0 with php-composer(psr/container) < 2) BuildRequires: (php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) BuildRequires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) # From composer, "require-dev": { # "container-interop/container-interop": "^1.2.0", # "mikey179/vfsStream": "^1.6.7", # "phpunit/phpunit": "^7.5.18 || ^8.5", # "zendframework/zend-coding-standard": "~1.0.0", # "zendframework/zend-servicemanager": "^3.0" BuildRequires: (php-composer(container-interop/container-interop) >= 1.1 with php-composer(container-interop/container-interop) < 2) BuildRequires: (php-composer(mikey179/vfsStream) >= 1.6.7 with php-composer(mikey179/vfsStream) < 2) BuildRequires: (php-autoloader(%{gh_owner}/zend-servicemanager) >= 3.0 with php-autoloader(%{gh_owner}/zend-servicemanager) < 4) # remirepo:8 %else BuildRequires: php-composer(psr/container) < 2 BuildRequires: php-composer(psr/container) >= 1.0 BuildRequires: php-composer(psr/log) < 2 BuildRequires: php-composer(psr/log) >= 1.0 BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) < 4 BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 BuildRequires: php-composer(container-interop/container-interop) < 2 BuildRequires: php-composer(container-interop/container-interop) >= 1.1 BuildRequires: php-composer(mikey179/vfsStream) < 2 BuildRequires: php-composer(mikey179/vfsStream) >= 1.6.7 BuildRequires: php-autoloader(%{gh_owner}/zend-servicemanager) < 4 BuildRequires: php-autoloader(%{gh_owner}/zend-servicemanager) >= 3.0 %endif BuildRequires: phpunit7 => 7.5.18 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^7.1", # "psr/container": "^1.0", # "psr/log": "^1.0", # "zendframework/zend-stdlib": "^2.7 || ^3.0" Requires: php(language) >= 7.1 %if ! %{bootstrap} # 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(psr/log) >= 1.0 with php-composer(psr/log) < 2) Requires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 2.7 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) # remirepo:8 %else Requires: php-composer(psr/container) < 2 Requires: php-composer(psr/container) >= 1.0 Requires: php-composer(psr/log) < 2 Requires: php-composer(psr/log) >= 1.0 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 3.3.1 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 : Fix templates location sed -e 's:../../templates:templates:' -i src/CodeGenerator/*php mv templates src/CodeGenerator/templates %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}/Psr/Log/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}%{major} %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php - 3.1.2-1 - update to 3.1.2 * Thu Feb 28 2019 Remi Collet - 3.1.1-1 - update to 3.1.1 - rename to php-zendframework-zend-di3 - move to /usr/share/php/Zend/Di3 - raise dependency on PHP 7.1 - add dependency on psr/container - add dependency on psr/log - drop dependency on zend-code - drop dependency container-interop * Thu Feb 28 2019 Remi Collet - 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