# remirepo spec file for php-di, from: # # Fedora spec file for php-di # # Copyright (c) 2016-2017 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner PHP-DI %global github_name PHP-DI %global github_version 5.4.3 %global github_commit 8ecded470bb0255c93f2996f78bb3b644c06599a %global composer_vendor php-di %global composer_project php-di # "php": ">=5.5.0" %global php_min_ver 5.5.0 # "container-interop/container-interop": "~1.2" %global container_interop_min_ver 1.2 %global container_interop_max_ver 2.0 # "doctrine/annotations": "~1.2" %global doctrine_annotations_min_ver 1.2 %global doctrine_annotations_max_ver 2.0 # "doctrine/cache": "~1.4" %global doctrine_cache_min_ver 1.4 %global doctrine_cache_max_ver 2.0 # "mnapoli/phpunit-easymock": "~0.2.0" %global phpunit_easymock_min_ver 0.2.0 %global phpunit_easymock_max_ver 1.0 # "ocramius/proxy-manager": "~1.0|~2.0" %global proxy_manager_min_ver 1.0 %global proxy_manager_max_ver 3.0 # "php-di/invoker": "^1.3.2" %global di_invoker_min_ver 1.3.2 %global di_invoker_max_ver 2.0 # "php-di/phpdoc-reader": "^2.0.1" %global di_phpdoc_reader_min_ver 2.0.1 %global di_phpdoc_reader_max_ver 3.0 # "psr/container": "~1.0" %global psr_container_min_ver 1.0 %global psr_container_max_ver 2.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} %{!?phpdir: %global phpdir %{_datadir}/php} Name: %{composer_project} Version: %{github_version} Release: 3%{?github_release}%{?dist} Summary: The dependency injection container for humans Group: Development/Libraries License: MIT URL: http://php-di.org/ # GitHub export does not include tests. # Run php-di-get-source.sh to create full source. Source0: %{name}-%{github_version}-%{github_commit}.tar.gz Source1: %{name}-get-source.sh Patch0: https://github.com/PHP-DI/PHP-DI/commit/ecab701e7de49f160d83be6a42d6c5aa9a8df76b.patch BuildArch: noarch # Tests %if %{with_tests} ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(container-interop/container-interop) < %{container_interop_max_ver} BuildRequires: php-composer(container-interop/container-interop) >= %{container_interop_min_ver} BuildRequires: php-composer(doctrine/annotations) < %{doctrine_annotations_max_ver} BuildRequires: php-composer(doctrine/annotations) >= %{doctrine_annotations_min_ver} BuildRequires: php-composer(doctrine/cache) < %{doctrine_cache_max_ver} BuildRequires: php-composer(doctrine/cache) >= %{doctrine_cache_min_ver} BuildRequires: php-composer(mnapoli/phpunit-easymock) < %{phpunit_easymock_max_ver} BuildRequires: php-composer(mnapoli/phpunit-easymock) >= %{phpunit_easymock_min_ver} BuildRequires: php-composer(ocramius/proxy-manager) < %{proxy_manager_max_ver} BuildRequires: php-composer(ocramius/proxy-manager) >= %{proxy_manager_min_ver} BuildRequires: php-composer(php-di/invoker) < %{di_invoker_max_ver} BuildRequires: php-composer(php-di/invoker) >= %{di_invoker_min_ver} BuildRequires: php-composer(php-di/phpdoc-reader) < %{di_phpdoc_reader_max_ver} BuildRequires: php-composer(php-di/phpdoc-reader) >= %{di_phpdoc_reader_min_ver} BuildRequires: php-composer(psr/container) < %{psr_container_max_ver} BuildRequires: php-composer(psr/container) >= %{psr_container_min_ver} BuildRequires: php-composer(phpunit/phpunit) %if 0%{?fedora} >= 26 BuildRequires: phpunit6 %endif ## phpcompatinfo (computed from version 5.4.3) BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-spl ## Autoloader BuildRequires: php-composer(fedora/autoloader) %endif # composer.json Requires: php(language) >= %{php_min_ver} Requires: php-composer(container-interop/container-interop) < %{container_interop_max_ver} Requires: php-composer(container-interop/container-interop) >= %{container_interop_min_ver} Requires: php-composer(php-di/invoker) < %{di_invoker_max_ver} Requires: php-composer(php-di/invoker) >= %{di_invoker_min_ver} Requires: php-composer(php-di/phpdoc-reader) < %{di_phpdoc_reader_max_ver} Requires: php-composer(php-di/phpdoc-reader) >= %{di_phpdoc_reader_min_ver} Requires: php-composer(psr/container) < %{psr_container_max_ver} Requires: php-composer(psr/container) >= %{psr_container_min_ver} # phpcompatinfo (computed from version 5.4.3) Requires: php-json Requires: php-pcre Requires: php-reflection Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Weak dependencies %if 0%{?fedora} >= 21 Suggests: php-composer(doctrine/annotations) Suggests: php-composer(doctrine/cache) Suggests: php-composer(ocramius/proxy-manager) %endif # php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT} Provides: php-%{composer_vendor}-%{composer_project} = %{version}-%{release} # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} Provides: php-composer(container-interop/container-interop-implementation) = 1.0 Provides: php-composer(psr/container-implementation) = 1.0 %description %{summary}. Autoloader: %{phpdir}/DI/autoload.php %prep %setup -qn %{github_name}-%{github_commit} %patch0 -p1 : Remove executable bit : https://github.com/PHP-DI/PHP-DI/pull/392 chmod a-x src/DI/Definition/Source/DefinitionArray.php : Create autoloader cat <<'AUTOLOAD' | tee src/DI/autoload.php = 1.3.2 : See https://github.com/PHP-DI/Invoker/issues/13 sed 's/function test_not_callable/function SKIP_test_not_callable/' \ -i tests/IntegrationTest/CallFunctionTest.php sed 's/function test_not_callable_factory_definition/function SKIP_test_not_callable_factory_definition/' \ -i tests/IntegrationTest/Definitions/FactoryDefinitionTest.php sed 's/function test_factory_not_callable/function SKIP_test_factory_not_callable/' \ -i tests/IntegrationTest/ErrorMessages/ErrorMessagesTest.php sed -e '/@test/d' \ -e 's/public function should_/public function test_should_/g' \ -e 's/function test_should_throw_if_the_factory_is_not_callable/function SKIP_test_should_throw_if_the_factory_is_not_callable/' \ -i tests/UnitTest/Definition/Resolver/FactoryResolverTest.php : Upstream tests RETURN_CODE=0 for PHP_EXEC in php php70 php71 php72; do if [ "php" == "$PHP_EXEC" ] || which $PHP_EXEC; then for PHPUNIT in phpunit; do PHPUNIT=$(which $PHPUNIT) || : if [ -n "$PHPUNIT" ]; then $PHP_EXEC $PHPUNIT --bootstrap bootstrap.php --verbose || RETURN_CODE=1 fi done fi done exit $RETURN_CODE %else : Tests skipped %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc change-log.md %doc composer.json %doc README.md %{phpdir}/DI %changelog * Tue Oct 31 2017 Remi Collet - 5.4.3-2 - fix FTBFS from Koschei, add upstream patch for PHP 7.2 * Fri Apr 14 2017 Shawn Iwinski - 5.4.3-1 - Update to 5.4.3 (RHBZ #1442382) * Sun Apr 02 2017 Shawn Iwinski - 5.4.2-1 - Update to 5.4.2 (RHBZ #1435627) - Add max versions to BuildRequires - Remove conflicts for weak dependencies' version constraints - Switch autoloader to php-composer(fedora/autoloader) - Test with SCLs and both phpunit and phpunit6 if available * Fri Oct 28 2016 Remi Collet - 5.4.0-1 - update to 5.4.0 - raise dependency on php-di/invoker >= 1.3.2 * Wed Jun 29 2016 Remi Collet - 5.3.0-1 - update to 5.3.0 - raise dependency on php >=5.5.0 - allow ocramius/proxy-manager 2.0 * Fri Mar 11 2016 Shawn Iwinski - 5.2.2-1 - Updated to 5.2.2 (RHBZ #1298928) * Thu Jan 7 2016 Remi Collet - 5.2.0-1 - backport for #remirepo * Sun Jan 03 2016 Shawn Iwinski - 5.2.0-1 - Initial package