summaryrefslogtreecommitdiffstats
path: root/php-laminas-diactoros.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-laminas-diactoros.spec')
-rw-r--r--php-laminas-diactoros.spec188
1 files changed, 114 insertions, 74 deletions
diff --git a/php-laminas-diactoros.spec b/php-laminas-diactoros.spec
index 99a8019..499d5e8 100644
--- a/php-laminas-diactoros.spec
+++ b/php-laminas-diactoros.spec
@@ -1,8 +1,6 @@
-# remirepo spec file for php-zendframework-zend-diactoros, from
+# remirepo/Fedora spec file for php-laminas-diactoros
#
-# Fedora spec file for php-zendframework-zend-diactoros
-#
-# Copyright (c) 2015-2018 Shawn Iwinski <shawn.iwinski@gmail.com>
+# Copyright (c) 2015-2020 Shawn Iwinski, Remi Collet
#
# License: MIT
# http://opensource.org/licenses/MIT
@@ -10,18 +8,20 @@
# 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
+%global gh_owner laminas
+%global gh_project laminas-diactoros
+%global zf_name zend-diactoros
+%global gh_commit 56a9aca1f89231763d24d2ae13531b97fa5f4029
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global php_home %{_datadir}/php
+%global namespace Laminas
+%global library Diactoros
+
+%global gh_psr7_owner php-http
+%global gh_psr7_name psr7-integration-tests
+%global gh_psr7_version 0
+%global gh_psr7_commit 5dfefb2da33ca24ae20c971b725c9a6fe7403008
+%global gh_psr7_short %(c=%{gh_psr7_commit}; echo ${c:0:7})
# "php": "^5.6 || ^7.0"
%global php_min_ver 5.6
@@ -34,21 +34,21 @@
%{!?phpdir: %global phpdir %{_datadir}/php}
-Name: php-%{composer_vendor}-%{composer_project}
-Version: %{github_version}
-Release: 1%{?github_release}%{?dist}
+Name: php-%{gh_project}
+Version: 1.8.7p1
+Release: 1%{?gh_release}%{?dist}
Summary: PSR HTTP Message implementations
License: BSD
-URL: https://zendframework.github.io/%{github_name}/
+URL: https://github.com/%{gh_owner}/%{gh_project}
# 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
+# Run makesrc.sh to create full source.
+Source0: %{name}-%{version}-%{gh_short}.tgz
+Source1: makesrc.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
+Source2: %{gh_psr7_owner}-%{gh_psr7_name}-%{gh_psr7_version}-%{gh_psr7_short}.tgz
+Source3: %{gh_psr7_owner}-%{gh_psr7_name}-get-source.sh
BuildArch: noarch
# Tests
@@ -57,73 +57,80 @@ BuildArch: noarch
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
+BuildRequires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2)
+BuildRequires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver})
+# remirepo:4
%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}
+BuildRequires: php-laminas-zendframework-bridge
+BuildRequires: php-psr-http-message
%endif
-BuildRequires: %{phpunit}
-BuildRequires: php-dom
-BuildRequires: php-libxml
-## phpcompatinfo (computed from version 1.8.6)
+%global phpunit %{_bindir}/phpunit6
+BuildRequires: %{phpunit}
+BuildRequires: php-dom
+BuildRequires: php-libxml
+## phpcompatinfo (computed from version 1.8.7p1)
### NOTE: curl, gd, gmp, and shmop are all optional for
-### ZendTest\Diactoros\StreamTest::getResourceFor67()
+### LaminasTest\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
+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
+BuildRequires: php-fedora-autoloader-devel
# composer.json
-Requires: php(language) >= %{php_min_ver}
+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})
+Requires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2)
+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}
+Requires: php-laminas-zendframework-bridge
+Requires: php-psr-http-message
%endif
-# phpcompatinfo (computed from version 1.8.6)
-Requires: php-json
-Requires: php-pcre
-Requires: php-spl
+# phpcompatinfo (computed from version 1.8.7p1)
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
# Autoloader
-Requires: php-composer(fedora/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
+# Compatibily ensure by the bridge
+Obsoletes: php-zendframework-%{zf_name} < 1.8.7p1
+Provides: php-zendframework-%{zf_name} = %{version}
+Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version}
+Provides: php-composer(zendframework/%{zf_name}) = %{version}
+Provides: php-autoloader(%{gh_owner}/%{gh_project}) = %{version}
+Provides: php-autoloader(zendframework/%{zf_name}) = %{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}/
+Documentation: https://docs.laminas.dev/%{gh_project}/
-Autoloader: %{phpdir}/Zend/Diactoros/autoload.php
+Autoloader: %{phpdir}/%{namespace}/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
+%setup -qn %{gh_project}-%{gh_commit} -a2
-mv %{github_psr7_name}-%{github_psr7_commit} psr7
+mv %{gh_psr7_name}-%{gh_psr7_commit} psr7
mv LICENSE.md LICENSE
@@ -144,10 +151,33 @@ cat <<'AUTOLOAD' | tee -a src/autoload.php
));
AUTOLOAD
+cat << 'EOF' | tee zf.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+$dir = dirname(dirname(__DIR__)) . '/%{namespace}/%{library}';
+\Fedora\Autoloader\Dependencies::required([
+ '%{php_home}/%{namespace}/ZendFrameworkBridge/autoload.php',
+ $dir . '/autoload.php',
+ $dir . '/functions/create_uploaded_file.legacy.php',
+ $dir . '/functions/marshal_headers_from_sapi.legacy.php',
+ $dir . '/functions/marshal_method_from_sapi.legacy.php',
+ $dir . '/functions/marshal_protocol_version_from_sapi.legacy.php',
+ $dir . '/functions/marshal_uri_from_sapi.legacy.php',
+ $dir . '/functions/normalize_server.legacy.php',
+ $dir . '/functions/normalize_uploaded_files.legacy.php',
+ $dir . '/functions/parse_cookie_header.legacy.php',
+]);
+EOF
+
%install
-mkdir -p %{buildroot}%{phpdir}/Zend/Diactoros
-cp -rp src/* %{buildroot}%{phpdir}/Zend/Diactoros/
+: Laminas library
+mkdir -p %{buildroot}%{php_home}/%{namespace}/
+cp -pr src %{buildroot}%{php_home}/%{namespace}/%{library}
+
+: Zend equiv
+mkdir -p %{buildroot}%{php_home}/Zend/%{library}
+cp -pr zf.php %{buildroot}%{php_home}/Zend/%{library}/autoload.php
%check
@@ -156,8 +186,8 @@ cp -rp src/* %{buildroot}%{phpdir}/Zend/Diactoros/
cat <<'BOOTSTRAP' | tee bootstrap.php
<?php
-require_once '%{buildroot}%{phpdir}/Zend/Diactoros/autoload.php';
-\Fedora\Autoloader\Autoload::addPsr4('ZendTest\\Diactoros\\', __DIR__.'/test');
+require_once '%{buildroot}%{phpdir}/%{namespace}/Diactoros/autoload.php';
+\Fedora\Autoloader\Autoload::addPsr4('%{namespace}Test\\Diactoros\\', __DIR__.'/test');
\Fedora\Autoloader\Autoload::addPsr4('Http\\Psr7Test\\', __DIR__.'/psr7/src');
\Fedora\Autoloader\Dependencies::required(array(
@@ -166,19 +196,25 @@ require_once '%{buildroot}%{phpdir}/Zend/Diactoros/autoload.php';
));
BOOTSTRAP
-: Skip test requiring network access
-sed 's/function testReasonPhraseDefaultsAgainstIana/function SKIP_testReasonPhraseDefaultsAgainstIana/' \
- -i test/ResponseTest.php
-
: Upstream tests
+# Skip testReasonPhraseDefaultsAgainstIana requiring network access
RETURN_CODE=0
-for CMDARG in "php %{phpunit}" php71 php72 php73 php74; do
+for CMDARG in "php %{phpunit}" php72 php73 php74; do
if which $CMDARG; then
set $CMDARG
- $1 ${2:-%{_bindir}/phpunit6} --bootstrap bootstrap.php --verbose \
- || RETURN_CODE=1
+ $1 ${2:-%{_bindir}/phpunit6} \
+ --bootstrap bootstrap.php \
+ --filter '^((?!(testReasonPhraseDefaultsAgainstIana)).)*$' \
+ --verbose || RETURN_CODE=1
fi
done
+
+: check compat autoloader
+php -r '
+require "%{buildroot}%{php_home}/Zend/%{library}/autoload.php";
+return (class_exists("\\Zend\\%{library}\\Request") ? 0 : 1);
+'
+
exit $RETURN_CODE
%else
: Tests skipped
@@ -191,11 +227,15 @@ exit $RETURN_CODE
%license LICENSE
%doc *.md
%doc composer.json
-%dir %{phpdir}/Zend
- %{phpdir}/Zend/Diactoros
+%{php_home}/Zend/%{library}
+%{php_home}/%{namespace}/%{library}
%changelog
+* Wed Jan 8 2020 Remi Collet <remi@remirepo.net> - 1.8.7p1-1
+- switch to Laminas
+- update to 1.8.7p1
+
* Fri Aug 30 2019 Remi Collet <remi@remirepo.net> - 1.8.7-1
- update to 1.8.7