From 2dacf9e15758be10401be825556bef0d63f23a7b Mon Sep 17 00:00:00 2001 From: Shawn Iwinski Date: Fri, 7 Apr 2017 19:17:34 -0400 Subject: Update to 6.2.3 - Fix rawhide (F27) FTBS - Add max versions to BuildRequires - Switch autoloader to php-composer(fedora/autoloader) - Test with SCLs if available (cherry picked from commit a26fa4b116e30297904e9e74797b2d73b68afca9) --- php-guzzlehttp-guzzle6.spec | 125 ++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 69 deletions(-) (limited to 'php-guzzlehttp-guzzle6.spec') diff --git a/php-guzzlehttp-guzzle6.spec b/php-guzzlehttp-guzzle6.spec index 4d39d1c..2b437ab 100644 --- a/php-guzzlehttp-guzzle6.spec +++ b/php-guzzlehttp-guzzle6.spec @@ -2,7 +2,7 @@ # # Fedora spec file for php-guzzlehttp-guzzle6 # -# Copyright (c) 2015-2016 Shawn Iwinski +# Copyright (c) 2015-2017 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT @@ -12,8 +12,8 @@ %global github_owner guzzle %global github_name guzzle -%global github_version 6.2.2 -%global github_commit ebf29dee597f02f09f4d5bbecc68230ea9b08f60 +%global github_version 6.2.3 +%global github_commit 8d6c6cc55186db87b7dc5009827429ba4e9dc006 %global composer_vendor guzzlehttp %global composer_project guzzle @@ -23,21 +23,16 @@ # "guzzlehttp/promises": "^1.0" %global promises_min_ver 1.0 %global promises_max_ver 2.0 -# "guzzlehttp/psr7": "^1.3.1" -%global psr7_min_ver 1.3.1 +# "guzzlehttp/psr7": "^1.4" +%global psr7_min_ver 1.4 %global psr7_max_ver 2.0 # "psr/log": "^1.0" # NOTE: Min version not 1.0 because autoloader required %global psr_log_min_ver 1.0.1 %global psr_log_max_ver 2.0 -%if 0%{?rhel} == 5 -# no nodejs available in RHEL-5 -%global with_tests 0%{?_with_tests:1} -%else # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} -%endif %{!?phpdir: %global phpdir %{_datadir}/php} %{!?testsdir: %global testsdir %{_datadir}/tests} @@ -56,18 +51,25 @@ URL: http://guzzlephp.org Source0: %{name}-%{github_version}-%{github_commit}.tar.gz Source1: %{name}-get-source.sh -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +# Proxy should not end with / +# https://github.com/guzzle/guzzle/pull/1792 +# https://github.com/guzzle/guzzle/pull/1792.patch +Patch0: %{name}-upstream-pull-1792.patch + BuildArch: noarch # Tests %if %{with_tests} BuildRequires: nodejs ## composer.json -BuildRequires: php(language) >= %{php_min_ver} +BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(guzzlehttp/promises) >= %{promises_min_ver} -BuildRequires: php-composer(guzzlehttp/psr7) >= %{psr7_min_ver} +BuildRequires: php-composer(guzzlehttp/promises) < %{promises_max_ver} +BuildRequires: php-composer(guzzlehttp/psr7) >= %{psr7_min_ver} +BuildRequires: php-composer(guzzlehttp/psr7) < %{psr7_max_ver} BuildRequires: php-composer(phpunit/phpunit) -BuildRequires: php-composer(psr/log) >= %{psr_log_min_ver} -## phpcompatinfo (computed from version 6.2.2) +BuildRequires: php-composer(psr/log) >= %{psr_log_min_ver} +BuildRequires: php-composer(psr/log) < %{psr_log_max_ver} +## phpcompatinfo (computed from version 6.2.3) BuildRequires: php-curl BuildRequires: php-date BuildRequires: php-filter @@ -77,23 +79,20 @@ BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-spl BuildRequires: php-zlib -# Autoloader -## NOTE: Min version 2.5 because class -## \Symfony\Component\ClassLoader\Psr4ClassLoader required -BuildRequires: php-composer(symfony/class-loader) >= 2.5 +## Autoloader +BuildRequires: php-composer(fedora/autoloader) %endif -# use path as ca-certificates doesn't exists on EL-5 -Requires: /etc/pki/tls/certs/ca-bundle.crt +Requires: ca-certificates # composer.json -Requires: php(language) >= %{php_min_ver} +Requires: php(language) >= %{php_min_ver} Requires: php-composer(guzzlehttp/promises) >= %{promises_min_ver} Requires: php-composer(guzzlehttp/promises) < %{promises_max_ver} -Requires: php-composer(guzzlehttp/psr7) >= %{psr7_min_ver} -Requires: php-composer(guzzlehttp/psr7) < %{psr7_max_ver} -Requires: php-composer(psr/log) >= %{psr_log_min_ver} -Requires: php-composer(psr/log) < %{psr_log_max_ver} -# phpcompatinfo (computed from version 6.2.2) +Requires: php-composer(guzzlehttp/psr7) >= %{psr7_min_ver} +Requires: php-composer(guzzlehttp/psr7) < %{psr7_max_ver} +Requires: php-composer(psr/log) >= %{psr_log_min_ver} +Requires: php-composer(psr/log) < %{psr_log_max_ver} +# phpcompatinfo (computed from version 6.2.3) Requires: php-curl Requires: php-date Requires: php-filter @@ -101,9 +100,7 @@ Requires: php-json Requires: php-pcre Requires: php-spl # Autoloader -## NOTE: Min version 2.5 because class -## \Symfony\Component\ClassLoader\Psr4ClassLoader required -Requires: php-composer(symfony/class-loader) >= 2.5 +Requires: php-composer(fedora/autoloader) # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} @@ -129,6 +126,9 @@ Autoloader: %{phpdir}/GuzzleHttp6/autoload.php %prep %setup -qn %{github_name}-%{github_commit} +# Proxy should not end with / +%patch0 -p1 + %build : Create common autoloader @@ -138,29 +138,22 @@ cat <<'AUTOLOAD' | tee src/autoload.php * Autoloader for %{name} and its' dependencies * (created by %{name}-%{version}-%{release}). */ +require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; -if (!isset($fedoraPsr4ClassLoader) || !($fedoraPsr4ClassLoader instanceof \Symfony\Component\ClassLoader\Psr4ClassLoader)) { - if (!class_exists('Symfony\\Component\\ClassLoader\\Psr4ClassLoader', false)) { - require_once '%{phpdir}/Symfony/Component/ClassLoader/Psr4ClassLoader.php'; - } - - $fedoraPsr4ClassLoader = new \Symfony\Component\ClassLoader\Psr4ClassLoader(); - $fedoraPsr4ClassLoader->register(true); -} - -$fedoraPsr4ClassLoader->addPrefix('GuzzleHttp\\', __DIR__); - +\Fedora\Autoloader\Autoload::addPsr4('GuzzleHttp\\', __DIR__); require_once __DIR__.'/functions_include.php'; -require_once '%{phpdir}/GuzzleHttp/Promise/autoload.php'; -require_once '%{phpdir}/GuzzleHttp/Psr7/autoload.php'; -require_once '%{phpdir}/Psr/Log/autoload.php'; + +\Fedora\Autoloader\Dependencies::required([ + '%{phpdir}/GuzzleHttp/Promise/autoload.php', + '%{phpdir}/GuzzleHttp/Psr7/autoload.php', + '%{phpdir}/Psr/Log/autoload.php', +]); AUTOLOAD %install -rm -rf %{buildroot} -mkdir -p %{buildroot}%{phpdir}/GuzzleHttp6 -cp -pr src/* %{buildroot}%{phpdir}/GuzzleHttp6/ +mkdir -p %{buildroot}%{phpdir} +cp -pr src %{buildroot}%{phpdir}/GuzzleHttp6 %check @@ -170,40 +163,27 @@ mkdir vendor cat <<'AUTOLOAD' | tee vendor/autoload.php addPrefix('GuzzleHttp\\Tests\\', __DIR__.'/tests'); +\Fedora\Autoloader\Autoload::addPsr4('GuzzleHttp\\Tests\\', __DIR__.'/tests'); AUTOLOAD : Skip tests known to fail sed 's/function testDescribesType/function SKIP_testDescribesType/' \ -i tests/functionsTest.php -ret=0 -run=0 - -if which php71; then - php71 %{_bindir}/phpunit --verbose || ret=1 - run=1 -fi -if which php56; then - php56 %{_bindir}/phpunit --verbose || ret=1 - run=1 -fi -if [ $run -eq 0 ]; then - %{_bindir}/phpunit --verbose || ret=1 -fi - -exit $ret +: Upstream tests +RETURN_CODE=0 +for PHP_EXEC in php php56 php70 php71; do + if [ "php" == "$PHP_EXEC" ] || which $PHP_EXEC; then + $PHP_EXEC %{_bindir}/phpunit --verbose + fi +done +exit $RETURN_CODE %else : Tests skipped %endif -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md @@ -212,6 +192,13 @@ rm -rf %{buildroot} %changelog +* Fri Apr 07 2017 Shawn Iwinski - 6.2.3-1 +- Update to 6.2.3 +- Fix rawhide (F27) FTBS +- Add max versions to BuildRequires +- Switch autoloader to php-composer(fedora/autoloader) +- Test with SCLs if available + * Sun Oct 09 2016 Shawn Iwinski - 6.2.2-1 - Update to 6.2.2 (RHBZ #1383050) -- cgit