# remirepo spec file for php-zendframework-zend-diactoros, from # # Fedora spec file for php-zendframework-zend-diactoros # # Copyright (c) 2015-2018 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner zendframework %global github_name zend-diactoros %global github_version 1.8.7 %global github_commit a85e67b86e9b8520d07e6415fcbcb8391b44a75b %global github_psr7_owner php-http %global github_psr7_name psr7-integration-tests %global github_psr7_version 0 %global github_psr7_commit 5dfefb2da33ca24ae20c971b725c9a6fe7403008 %global composer_vendor zendframework %global composer_project zend-diactoros # "php": "^5.6 || ^7.0" %global php_min_ver 5.6 # "psr/http-message": "^1.0" %global psr_http_message_min_ver 1.0 %global psr_http_message_max_ver 2.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} %{!?phpdir: %global phpdir %{_datadir}/php} Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} Release: 1%{?github_release}%{?dist} Summary: PSR HTTP Message implementations License: BSD URL: https://zendframework.github.io/%{github_name}/ # GitHub export does not include tests. # Run php-zendframework-zend-diactoros-get-source.sh to create full source. Source0: %{name}-%{github_version}-%{github_commit}.tar.gz Source1: %{name}-get-source.sh # Temporarily bundled, no release, only used for tests Source2: %{github_psr7_owner}-%{github_psr7_name}-%{github_psr7_version}-%{github_psr7_commit}.tar.gz Source3: %{github_psr7_owner}-%{github_psr7_name}-get-source.sh BuildArch: noarch # Tests %if %{with_tests} ## composer.json BuildRequires: php(language) >= %{php_min_ver} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 %global phpunit %{_bindir}/phpunit6 BuildRequires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver}) # remirepo:5 %else %global phpunit %{_bindir}/phpunit BuildRequires: php-composer(psr/http-message) < %{psr_http_message_max_ver} BuildRequires: php-composer(psr/http-message) >= %{psr_http_message_min_ver} %endif BuildRequires: %{phpunit} BuildRequires: php-dom BuildRequires: php-libxml ## phpcompatinfo (computed from version 1.8.6) ### NOTE: curl, gd, gmp, and shmop are all optional for ### ZendTest\Diactoros\StreamTest::getResourceFor67() ### (test/StreamTest.php) but the first one found wins ### so only curl is chosen as a requirement here. BuildRequires: php-curl BuildRequires: php-dom BuildRequires: php-json BuildRequires: php-libxml BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-shmop BuildRequires: php-spl %endif ## Autoloader BuildRequires: php-fedora-autoloader-devel # composer.json Requires: php(language) >= %{php_min_ver} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver}) # remirepo:4 %else Requires: php-composer(psr/http-message) < %{psr_http_message_max_ver} Requires: php-composer(psr/http-message) >= %{psr_http_message_min_ver} %endif # phpcompatinfo (computed from version 1.8.6) Requires: php-json Requires: php-pcre Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} Provides: php-autoloader(%{composer_vendor}/%{composer_project}) = %{version} Provides: php-composer(psr/http-message-implementation) = 1.0 %description A PHP package containing implementations of the accepted PSR-7 HTTP message interfaces [1], as well as a "server" implementation similar to node's http.Server [2]. Documentation: https://zendframework.github.io/%{github_name}/ Autoloader: %{phpdir}/Zend/Diactoros/autoload.php [1] http://www.php-fig.org/psr/psr-7/ [2] http://nodejs.org/api/http.html %prep %setup -qn %{github_name}-%{github_commit} -a2 mv %{github_psr7_name}-%{github_psr7_commit} psr7 mv LICENSE.md LICENSE %build : Create autoloader phpab --template fedora --output src/autoload.php src cat <<'AUTOLOAD' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required(array( '%{phpdir}/Psr/Http/Message/autoload.php', __DIR__.'/functions/create_uploaded_file.php', __DIR__.'/functions/marshal_headers_from_sapi.php', __DIR__.'/functions/marshal_method_from_sapi.php', __DIR__.'/functions/marshal_protocol_version_from_sapi.php', __DIR__.'/functions/marshal_uri_from_sapi.php', __DIR__.'/functions/normalize_server.php', __DIR__.'/functions/normalize_uploaded_files.php', __DIR__.'/functions/parse_cookie_header.php', )); AUTOLOAD %install mkdir -p %{buildroot}%{phpdir}/Zend/Diactoros cp -rp src/* %{buildroot}%{phpdir}/Zend/Diactoros/ %check %if %{with_tests} : Create tests bootstrap cat <<'BOOTSTRAP' | tee bootstrap.php - 1.8.7-1 - update to 1.8.7 * Thu Sep 6 2018 Remi Collet - 1.8.6-1 - update to 1.8.6 - bundle php-http/psr7-integration-tests only used for tests * Mon Aug 20 2018 Remi Collet - 1.8.5-1 - update to 1.8.5 * Thu Aug 02 2018 Shawn Iwinski - 1.8.4-1 - Update to 1.8.4 (RHBZ #1504401 / ZF2018-01 / CVE-2018-14773 / CVE-2018-14774) * Wed May 30 2018 Remi Collet - 1.7.2-1 - update to 1.7.2 * Fri Mar 30 2018 Remi Collet - 1.7.1-1 - update to 1.7.1 - use range dependencies on F27+ * Fri Jan 5 2018 Remi Collet - 1.7.0-1 - Update to 1.7.0 * Tue Dec 5 2017 Remi Collet - 1.6.1-2 - switch to classmap autoloader for consistency - provide php-autoloader(zendframework/zend-diactoros) * Thu Nov 2 2017 Remi Collet - 1.6.1-1 - Update to 1.6.1 - use phpunit6 on F26+ * Sun Oct 08 2017 Shawn Iwinski - 1.6.0-1 - Updated to 1.6.0 (RHBZ #1491486) * Sun Sep 10 2017 Shawn Iwinski - 1.4.1-1 - Updated to 1.4.1 (RHBZ #1482723) * Sat Apr 08 2017 Shawn Iwinski - 1.4.0-1 - Updated to 1.4.0 (RHBZ #1440332) * Sat Mar 11 2017 Remi Collet - 1.3.10-2 - change URL to documentation site - simplify documentation * Sun Mar 05 2017 Shawn Iwinski - 1.3.10-1 - Updated to 1.3.10 (RHBZ #1411062) - Test with SCLs if available * Mon Jan 23 2017 Remi Collet - 1.3.10-1 - update to 1.3.10 * Wed Jan 18 2017 Remi Collet - 1.3.9-1 - update to 1.3.9 * Fri Jan 6 2017 Remi Collet - 1.3.8-1 - update to 1.3.8 * Sat Dec 03 2016 Shawn Iwinski - 1.3.7-1 - Updated to 1.3.7 (RHBZ #1318837) - Switch autoloader from php-composer(symfony/class-loader) to php-composer(fedora/autoloader) * Wed Oct 12 2016 Remi Collet - 1.3.7-1 - update to 1.3.7 * Thu Sep 8 2016 Remi Collet - 1.3.6-1 - update to 1.3.6 * Wed Apr 6 2016 Remi Collet - 1.3.5-1 - update to 1.3.5 * Mon Jan 04 2016 Shawn Iwinski - 1.3.3-1 - Updated to 1.3.3 (RHBZ #1285581) * Mon Oct 26 2015 Shawn Iwinski - 1.1.4-1 - Updated to 1.1.4 (RHBZ #1272627) * Sun Oct 18 2015 Remi Collet - 1.1.4-1 - update to 1.1.4 * Tue Aug 11 2015 Shawn Iwinski - 1.1.3-1 - Updated to 1.1.3 (RHBZ #1252195) - Updated autoloader to load dependencies after self registration * Tue Aug 11 2015 Remi Collet - 1.1.3-1 - update to 1.1.3 * Mon Jul 20 2015 Remi Collet - 1.1.2-1 - add EL-5 stuff, backport for #remirepo * Wed Jul 15 2015 Shawn Iwinski - 1.1.2-1 - Update to 1.1.2 - Fix license - Update description - Use full path in autoloader * Wed Jul 08 2015 Shawn Iwinski - 1.1.1-1 - Initial package