siwinski pushed to php-guzzle-Guzzle (f22). "Updated to 3.9.3 (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Mon Jun 15 22:15:16 UTC 2015


From 705c6aaed16419143933aa2f473efbea5fb32a6a Mon Sep 17 00:00:00 2001
From: Shawn Iwinski <siwinski at redhat.com>
Date: Mon, 15 Jun 2015 18:02:00 -0400
Subject: Updated to 3.9.3

- Updated dependencies to use php-composer(*)
- Added composer sub-packages' provides
- Added optional dependency version conflicts
- Added EOL notice to %%description
- Added autoloader
- Excluded sub-packages' composer.json

diff --git a/php-guzzle-Guzzle.spec b/php-guzzle-Guzzle.spec
index 4299a98..0ba7058 100644
--- a/php-guzzle-Guzzle.spec
+++ b/php-guzzle-Guzzle.spec
@@ -1,7 +1,7 @@
 #
 # RPM spec file for php-guzzle-Guzzle
 #
-# Copyright (c) 2012-2014 Shawn Iwinski <shawn.iwinski at gmail.com>
+# Copyright (c) 2012-2015 Shawn Iwinski <shawn.iwinski at gmail.com>
 #
 # License: MIT
 # http://opensource.org/licenses/MIT
@@ -11,8 +11,8 @@
 
 %global github_owner     guzzle
 %global github_name      guzzle3
-%global github_version   3.9.2
-%global github_commit    54991459675c1a2924122afbb0e5609ade581155
+%global github_version   3.9.3
+%global github_commit    0645b70d953bc1c067bbc8d5bc53194706b628d9
 
 %global composer_vendor  guzzle
 %global composer_project guzzle
@@ -28,9 +28,6 @@
 # "monolog/monolog": "~1.0"
 %global monolog_min_ver 1.0
 %global monolog_max_ver 2.0
-# "phpunit/phpunit": "3.7.*"
-#     NOTE: Max version ignored on purpose
-%global _min_ver 3.7.0
 # "psr/log": "~1.0"
 %global psr_log_min_ver 1.0
 %global psr_log_max_ver 2.0
@@ -45,11 +42,13 @@
 %global zend_max_ver 2.4
 
 # Build using "--without tests" to disable tests
-%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+%global with_tests 0%{!?_without_tests:1}
+
+%{!?phpdir:  %global phpdir  %{_datadir}/php}
 
 Name:          php-guzzle-%{pear_name}
-Version:       3.9.2
-Release:       2%{?dist}
+Version:       %{github_version}
+Release:       1%{?dist}
 Summary:       PHP HTTP client library and framework for building RESTful web service clients
 
 Group:         Development/Libraries
@@ -58,24 +57,21 @@ URL:           https://github.com/%{github_owner}/%{github_name}
 Source0:       %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz
 
 BuildArch:     noarch
+# Tests
 %if %{with_tests}
-# For tests
 BuildRequires: nodejs
-# For tests: composer.json
-BuildRequires: php(language)                 >= %{php_min_ver}
-BuildRequires: php-composer(doctrine/cache)  >= %{doctrine_cache_min_ver}
-BuildRequires: php-composer(doctrine/cache)  <  %{doctrine_cache_max_ver}
-BuildRequires: php-composer(monolog/monolog) >= %{monolog_min_ver}
-BuildRequires: php-composer(monolog/monolog) <  %{monolog_max_ver}
-BuildRequires: php-composer(psr/log)         >= %{psr_log_min_ver}
-BuildRequires: php-composer(psr/log)         <  %{psr_log_max_ver}
-BuildRequires: php-phpunit-PHPUnit
-BuildRequires: php-symfony-eventdispatcher   >= %{symfony_min_ver}
-BuildRequires: php-symfony-eventdispatcher   <  %{symfony_max_ver}
-BuildRequires: php-ZendFramework2            >= %{zend_min_ver}
-BuildRequires: php-ZendFramework2            <  %{zend_max_ver}
+## composer.json
+BuildRequires: %{_bindir}/phpunit
+BuildRequires: php(language)                          >= %{php_min_ver}
+BuildRequires: php-composer(doctrine/cache)           >= %{doctrine_cache_min_ver}
+BuildRequires: php-composer(monolog/monolog)          >= %{monolog_min_ver}
+BuildRequires: php-composer(psr/log)                  >= %{psr_log_min_ver}
+BuildRequires: php-composer(symfony/class-loader)     >= %{symfony_min_ver}
+BuildRequires: php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}
+BuildRequires: php-composer(zendframework/zend-cache) >= %{zend_min_ver}
+BuildRequires: php-composer(zendframework/zend-log)   >= %{zend_min_ver}
 BuildRequires: php-curl
-# For tests: phpcompatinfo (computed from version 3.9.2)
+## phpcompatinfo (computed from version 3.9.3)
 BuildRequires: php-ctype
 BuildRequires: php-date
 BuildRequires: php-filter
@@ -91,18 +87,16 @@ BuildRequires: php-xmlwriter
 BuildRequires: php-zlib
 %endif
 
-Requires:      ca-certificates
 # composer.json
-Requires:      php(language) >= %{php_min_ver}
-Requires:      php-symfony-eventdispatcher >= %{symfony_min_ver}
-Requires:      php-symfony-eventdispatcher <  %{symfony_max_ver}
+Requires:      php(language)                          >= %{php_min_ver}
+Requires:      php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}
+Requires:      php-composer(symfony/event-dispatcher) <  %{symfony_max_ver}
 Requires:      php-curl
-# phpcompatinfo (computed from version 3.9.2)
+# phpcompatinfo (computed from version 3.9.3)
 Requires:      php-ctype
 Requires:      php-date
 Requires:      php-filter
 Requires:      php-hash
-Requires:      php-intl
 Requires:      php-json
 Requires:      php-libxml
 Requires:      php-pcre
@@ -110,15 +104,52 @@ Requires:      php-reflection
 Requires:      php-simplexml
 Requires:      php-spl
 Requires:      php-xmlwriter
+# Unbundled CA certificate
+Requires:      ca-certificates
+# Autoloader
+Requires:      php-composer(symfony/class-loader)
 
 # Composer
-Provides:  php-composer(%{composer_vendor}/%{composer_project}) = %{version}
+Provides:  php-composer(%{composer_vendor}/%{composer_project})   = %{version}
+## Sub-packages
+Provides:  php-composer(%{composer_vendor}/batch)                 = %{version}
+Provides:  php-composer(%{composer_vendor}/cache)                 = %{version}
+Provides:  php-composer(%{composer_vendor}/common)                = %{version}
+Provides:  php-composer(%{composer_vendor}/http)                  = %{version}
+Provides:  php-composer(%{composer_vendor}/inflection)            = %{version}
+Provides:  php-composer(%{composer_vendor}/iterator)              = %{version}
+Provides:  php-composer(%{composer_vendor}/log)                   = %{version}
+Provides:  php-composer(%{composer_vendor}/parser)                = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin)                = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-async)          = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-backoff)        = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-cache)          = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-cookie)         = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-curlauth)       = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-error-response) = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-history)        = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-log)            = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-md5)            = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-mock)           = %{version}
+Provides:  php-composer(%{composer_vendor}/plugin-oauth)          = %{version}
+Provides:  php-composer(%{composer_vendor}/service)               = %{version}
+Provides:  php-composer(%{composer_vendor}/stream)                = %{version}
 # PEAR
-Provides:  php-pear(%{pear_channel}/%{pear_name}) = %{version}
+Provides:  php-pear(%{pear_channel}/%{pear_name})                 = %{version}
 
 # This pkg was the only one in this channel so the channel is no longer needed
 Obsoletes: php-channel-guzzle
 
+# Optional dependency version conflicts
+Conflicts: php-composer(doctrine/cache)           <  %{doctrine_cache_min_ver}
+Conflicts: php-composer(doctrine/cache)           >= %{doctrine_cache_max_ver}
+Conflicts: php-composer(monolog/monolog)          <  %{monolog_min_ver}
+Conflicts: php-composer(monolog/monolog)          >= %{monolog_max_ver}
+Conflicts: php-composer(zendframework/zend-cache) <  %{zend_min_ver}
+Conflicts: php-composer(zendframework/zend-cache) >= %{zend_max_ver}
+Conflicts: php-composer(zendframework/zend-log)   <  %{zend_min_ver}
+Conflicts: php-composer(zendframework/zend-log)   >= %{zend_max_ver}
+
 %description
 Guzzle takes the pain out of sending HTTP requests and the redundancy out
 of creating web service clients.
@@ -137,47 +168,85 @@ batching for sending a large number of requests as efficiently as possible.
 * Plugins for caching, logging, OAuth, mocks, and more
 
 Optional dependencies:
-* Zend Framework (php-ZendFramework2)
-* Doctrine Cache (php-doctrine-cache)
-* Monolog (php-Monolog)
+* Doctrine Cache (%{doctrine_cache_min_ver} <= php-doctrine-cache < %{doctrine_cache_max_ver})
+* Monolog (%{monolog_min_ver} <= php-Monolog < %{monolog_max_ver})
+* Zend Framework 2 Cache (%{zend_min_ver} <= php-ZendFramework2-Cache < %{zend_max_ver})
+* Zend Framework 2 Log (%{zend_min_ver} <= php-ZendFramework2-Log < %{zend_max_ver})
+
+***** EOL NOTICE *****
+
+This package is for Guzzle 3.x. Guzzle 5.x+, the new versions of Guzzle, has
+been released and is available as the package "php-guzzlehttp-guzzle". The
+documentation for Guzzle version 5+ can be found at http://guzzlephp.org.
+
+Guzzle 3 is only maintained for bug and security fixes. Guzzle 3 will be EOL at
+some point in late 2015.
+
+**********************
 
 
 %prep
 %setup -qn %{github_name}-%{github_commit}
 
-# Remove bundled cert
+: Unbundle CA certificate
 sed -e "s#__DIR__\s*.\s*'/Resources/cacert.pem'#'%{_sysconfdir}/pki/tls/cert.pem'#" \
     -e 's#$expectedMd5\s*=\s*.*#$expectedMd5 = $actualMd5;  // RPM NOTE: cacert.pem is managed by the ca-certificates package#' \
     -i src/Guzzle/Http/Client.php
-
 rm src/Guzzle/Http/Resources/cacert.pem
 
+: Create autoloader
+(cat <<'AUTOLOAD'
+<?php
+/**
+ * Autoloader created by %{name}-%{version}-%{release}
+ *
+ * @return \Symfony\Component\ClassLoader\ClassLoader
+ */
+
+if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
+    if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
+        require_once 'Symfony/Component/ClassLoader/ClassLoader.php';
+    }
+
+    $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
+    $fedoraClassLoader->register();
+}
+
+$fedoraClassLoader->addPrefix('Guzzle', dirname(__DIR__));
+$fedoraClassLoader->setUseIncludePath(true);
+
+return $fedoraClassLoader;
+AUTOLOAD
+) | tee src/Guzzle/autoload.php
+
 
 %build
 # Empty build section, nothing to build
 
 
 %install
-mkdir -p %{buildroot}%{_datadir}/php
-cp -rp src/* %{buildroot}%{_datadir}/php/
+mkdir -p %{buildroot}%{phpdir}
+cp -rp src/* %{buildroot}%{phpdir}/
 
 
 %check
 %if %{with_tests}
-# Create autoloader
-mkdir vendor
-cat > vendor/autoload.php <<'AUTOLOAD'
+: Create tests autoloader
+(cat <<'AUTOLOAD'
 <?php
-spl_autoload_register(function ($class) {
-    $src = str_replace('\\', '/', $class).'.php';
-    @include_once $src;
-});
+
+require_once 'Guzzle/autoload.php';
+
+$fedoraClassLoader->addPrefix('Guzzle\\Tests', __DIR__);
 AUTOLOAD
+) | tee tests/autoload.php
 
-# Create PHPUnit config w/ colors turned off
-sed 's/colors\s*=\s*"true"/colors="false"/' phpunit.xml.dist > phpunit.xml
+: Modify tests bootstrap
+sed "s#require.*autoload.*#require __DIR__ . '/autoload.php';#" \
+    -i tests/bootstrap.php
 
-# Skip tests known to fail
+: Skip tests known to fail
+%if 0%{?el6}
 rm -f tests/Guzzle/Tests/Http/RedirectPluginTest.php
 sed 's/function testCanCreateStreamsUsingDefaultFactory/function SKIP_testCanCreateStreamsUsingDefaultFactory/' \
     -i tests/Guzzle/Tests/Http/StaticClientTest.php
@@ -194,8 +263,11 @@ sed -e 's/function testThrowsExceptionWithStrictMode/function SKIP_testThrowsExc
     -i tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php
 sed 's/function testThrowsExceptionWithStrictMode/function SKIP_testThrowsExceptionWithStrictMode/' \
     -i tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php
+sed 's/function testMustReturnRequest/function SKIP_testMustReturnRequest/' \
+    -i tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php
+%endif
 
-%{_bindir}/phpunit --include-path=./src:./tests -d date.timezone="UTC" .
+%{_bindir}/phpunit --include-path %{buildroot}%{phpdir}
 %else
 : Tests skipped
 %endif
@@ -216,11 +288,23 @@ fi
 %files
 %{!?_licensedir:%global license %%doc}
 %license LICENSE
-%doc *.md composer.json
-%{_datadir}/php/Guzzle
+%doc *.md
+%doc composer.json
+%{phpdir}/Guzzle
+%exclude %{phpdir}/Guzzle/*/composer.json
+%exclude %{phpdir}/Guzzle/*/*/composer.json
 
 
 %changelog
+* Mon Jun 15 2015 Shawn Iwinski <shawn.iwinski at gmail.com> - 3.9.3-1
+- Updated to 3.9.3
+- Updated dependencies to use php-composer(*)
+- Added composer sub-packages' provides
+- Added optional dependency version conflicts
+- Added EOL notice to %%description
+- Added autoloader
+- Excluded sub-packages' composer.json
+
 * Sat Aug 23 2014 Remi Collet <remi at fedoraproject.org> - 3.9.2-2
 - really drop bundled cacert
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/php-guzzle-Guzzle.git/commit/?h=f22&id=705c6aaed16419143933aa2f473efbea5fb32a6a


More information about the scm-commits mailing list