summaryrefslogtreecommitdiffstats
path: root/php-guzzlehttp-guzzle6.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-guzzlehttp-guzzle6.spec')
-rw-r--r--php-guzzlehttp-guzzle6.spec125
1 files changed, 56 insertions, 69 deletions
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 <shawn@iwin.ski>
+# Copyright (c) 2015-2017 Shawn Iwinski <shawn@iwin.ski>
#
# 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
<?php
require_once '%{buildroot}%{phpdir}/GuzzleHttp6/autoload.php';
-$fedoraPsr4ClassLoader->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 <shawn@iwin.ski> - 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 <shawn@iwin.ski> - 6.2.2-1
- Update to 6.2.2 (RHBZ #1383050)