From 9ff23acc73cf76d99758457d3dc87593687a28b7 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 19 Mar 2020 14:21:17 +0100 Subject: v1.0.6 from Fedora --- composer.json | 14 ++- ...lder-fix-tests-bootstrap-for-symfony-lt-5.patch | 13 +++ php-stack-builder.spec | 113 +++++++++++++-------- 3 files changed, 93 insertions(+), 47 deletions(-) create mode 100644 php-stack-builder-fix-tests-bootstrap-for-symfony-lt-5.patch diff --git a/composer.json b/composer.json index 1a001b2..84b435a 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "stack/builder", - "description": "Builder for stack middlewares based on HttpKernelInterface.", + "description": "Builder for stack middleware based on HttpKernelInterface.", "keywords": ["stack"], "license": "MIT", "authors": [ @@ -10,12 +10,16 @@ } ], "require": { - "php": ">=5.3.0", - "symfony/http-foundation": "~2.1|~3.0|~4.0", - "symfony/http-kernel": "~2.1|~3.0|~4.0" + "php": ">=7.2.0", + "symfony/http-foundation": "~2.1|~3.0|~4.0|~5.0", + "symfony/http-kernel": "~2.1|~3.0|~4.0|~5.0" }, "require-dev": { - "silex/silex": "~1.0" + "phpunit/phpunit": "~8.0", + "symfony/routing": "^5.0" + }, + "scripts": { + "test": "phpunit --coverage-text" }, "autoload": { "psr-0": { "Stack": "src" } diff --git a/php-stack-builder-fix-tests-bootstrap-for-symfony-lt-5.patch b/php-stack-builder-fix-tests-bootstrap-for-symfony-lt-5.patch new file mode 100644 index 0000000..a3a39e0 --- /dev/null +++ b/php-stack-builder-fix-tests-bootstrap-for-symfony-lt-5.patch @@ -0,0 +1,13 @@ +diff --git a/tests/bootstrap.php b/tests/bootstrap.php +index b7ccedd..e535f4b 100644 +--- a/tests/bootstrap.php ++++ b/tests/bootstrap.php +@@ -44,7 +44,7 @@ class Application implements HttpKernelInterface + $this->kernel = new HttpKernel($this->dispatcher, $controllerResolver, new RequestStack(), $argumentResolver); + } + +- public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) ++ public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true) + { + return $this->kernel->handle($request); + } diff --git a/php-stack-builder.spec b/php-stack-builder.spec index 418379b..c569f78 100644 --- a/php-stack-builder.spec +++ b/php-stack-builder.spec @@ -2,7 +2,7 @@ # # Fedora spec file for php-stack-builder # -# Copyright (c) 2015-2017 Shawn Iwinski +# Copyright (c) 2015-2020 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT @@ -12,25 +12,21 @@ %global github_owner stackphp %global github_name builder -%global github_version 1.0.5 -%global github_commit fb3d136d04c6be41120ebf8c0cc71fe9507d750a +%global github_version 1.0.6 +%global github_commit a4faaa6f532c6086bc66c29e1bc6c29593e1ca7c %global composer_vendor stack %global composer_project builder -# "php": ">=5.3.0" -%global php_min_ver 5.3.0 -# "silex/silex": "~1.0" -%global silex_min_ver 1.0 -%global silex_max_ver 2.0 -# "symfony/http-foundation": ~2.1|~3.0|~4.0 -# "symfony/http-kernel": ~2.1|~3.0|~4.0 -# NOTE: Min version not 2.1 because autoloader required -%if 0%{?fedora} >= 26 -%global symfony_max_ver 5.0 -%else -%global symfony_max_ver 4 -%endif +# "php": ">=7.2.0" +%global php_min_ver 7.2.0 +# "symfony/http-foundation": "~2.1|~3.0|~4.0|~5.0" +# "symfony/http-kernel": "~2.1|~3.0|~4.0|~5.0" +# "symfony/routing": "^5.0" +# NOTE: Forcing v3+ (i.e. dropping Symfony 2 interoperability) +# NOTE: Loosening "symfony/routing" version (only a dev dependency and tests pass) +%global symfony_min_ver 3.0 +%global symfony_max_ver 6.0 # Build using "--without tests" to disable tests %global with_tests %{?_without_tests:0}%{!?_without_tests:1} @@ -40,26 +36,32 @@ Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} Release: 1%{?github_release}%{?dist} -Summary: Builder for stack middlewares based on HttpKernelInterface +Summary: Builder for stack middleware based on HttpKernelInterface -Group: Development/Libraries License: MIT URL: https://github.com/%{github_owner}/%{github_name} Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz +Patch0: %{name}-fix-tests-bootstrap-for-symfony-lt-5.patch + BuildArch: noarch # Autoloader BuildRequires: php-composer(theseer/autoload) # Tests %if %{with_tests} -BuildRequires: php-composer(phpunit/phpunit) +BuildRequires: phpunit8 ## composer.json BuildRequires: php(language) >= %{php_min_ver} -BuildRequires: php-composer(silex/silex) < %{silex_max_ver} -BuildRequires: php-composer(silex/silex) >= %{silex_min_ver} -BuildRequires: php-composer(symfony/http-foundation) < %{symfony_max_ver} -BuildRequires: php-composer(symfony/http-kernel) < %{symfony_max_ver} -## phpcompatinfo (computed from version 1.0.5) +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(symfony/routing) >= %{symfony_min_ver} with php-composer(symfony/routing) < %{symfony_max_ver}) +BuildRequires: (php-composer(symfony/http-foundation) >= %{symfony_min_ver} with php-composer(symfony/http-foundation) < %{symfony_max_ver}) +BuildRequires: (php-composer(symfony/http-kernel) >= %{symfony_min_ver} with php-composer(symfony/http-kernel) < %{symfony_max_ver}) +%else +BuildRequires: php-symfony3-routing +BuildRequires: php-symfony3-http-foundation +BuildRequires: php-symfony3-http-kernel +%endif +## phpcompatinfo (computed from version 1.0.6) BuildRequires: php-reflection BuildRequires: php-spl ## Autoloader @@ -68,9 +70,14 @@ BuildRequires: php-composer(fedora/autoloader) # composer.json Requires: php(language) >= %{php_min_ver} -Requires: php-composer(symfony/http-foundation) < %{symfony_max_ver} -Requires: php-composer(symfony/http-kernel) < %{symfony_max_ver} -# phpcompatinfo (computed from version 1.0.5) +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires: (php-composer(symfony/http-foundation) >= %{symfony_min_ver} with php-composer(symfony/http-foundation) < %{symfony_max_ver}) +Requires: (php-composer(symfony/http-kernel) >= %{symfony_min_ver} with php-composer(symfony/http-kernel) < %{symfony_max_ver}) +%else +Requires: php-symfony3-http-foundation +Requires: php-symfony3-http-kernel +%endif +# phpcompatinfo (computed from version 1.0.6) Requires: php-reflection Requires: php-spl # Autoloader @@ -91,6 +98,9 @@ Autoloader: %{phpdir}/Stack/autoload-builder.php %prep %setup -qn %{github_name}-%{github_commit} +cp tests/bootstrap.php tests/bootstrap.symfony5.php +%patch0 -p1 + %build : Generate autoloader @@ -100,41 +110,53 @@ cat <<'AUTOLOAD' | tee -a src/Stack/autoload-builder.php require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; -\Fedora\Autoloader\Dependencies::required(array( - array( +\Fedora\Autoloader\Dependencies::required([ + [ + '%{phpdir}/Symfony5/Component/HttpFoundation/autoload.php', '%{phpdir}/Symfony4/Component/HttpFoundation/autoload.php', '%{phpdir}/Symfony3/Component/HttpFoundation/autoload.php', - '%{phpdir}/Symfony/Component/HttpFoundation/autoload.php', - ), - array( + ], + [ + '%{phpdir}/Symfony5/Component/HttpKernel/autoload.php', '%{phpdir}/Symfony4/Component/HttpKernel/autoload.php', '%{phpdir}/Symfony3/Component/HttpKernel/autoload.php', - '%{phpdir}/Symfony/Component/HttpKernel/autoload.php', - ), -)); + ], +]); AUTOLOAD %install mkdir -p %{buildroot}%{phpdir} -cp -rp src/* %{buildroot}%{phpdir}/ +cp -rp src/Stack %{buildroot}%{phpdir}/ %check %if %{with_tests} -: Create tests bootstrap -cat <<'BOOTSTRAP' | tee bootstrap.php +: Create mock Composer autoloader +mkdir vendor +cat <<'BOOTSTRAP' | tee vendor/autoload.php - 1.0.6-1 +- Update to 1.0.6 (RHBZ #1796631) +- Drop Symfony 2 interoperability +- Patch tests boostrap to run with Symfony >=5 and <5 +- Use range dependencies +- Use PHPUnit 8 + * Wed Dec 13 2017 Shawn Iwinski - 1.0.5-1 - Update to 1.0.5 (RHBZ #1514861) - Fix autoloader for multiple versions of Symfony -- cgit