diff options
author | Remi Collet <remi@remirepo.net> | 2020-01-16 08:38:28 +0100 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2020-01-16 08:38:28 +0100 |
commit | 7b08abb000f07809b102c03245bb4a6152efd87c (patch) | |
tree | cd900e6f86715833c2e812e09bc9b9a3484d0fc8 | |
parent | 7e933ca6c0a2506ae9a227218a3b9311ba132171 (diff) |
switch to Laminas
add patch for PHP 7.4 from
https://github.com/laminas/laminas-form/pull/55
-rw-r--r-- | 55.patch | 45 | ||||
-rw-r--r-- | composer.json | 102 | ||||
-rw-r--r-- | php-laminas-form.spec | 295 |
3 files changed, 259 insertions, 183 deletions
diff --git a/55.patch b/55.patch new file mode 100644 index 0000000..3c57ead --- /dev/null +++ b/55.patch @@ -0,0 +1,45 @@ +From 4dce426be17e4bbc7a7a7695707db2266949473f Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Thu, 16 Jan 2020 08:33:25 +0100 +Subject: [PATCH 1/2] Allow phpunit7 + +--- + composer.json | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/composer.json b/composer.json +index a74efb71..0cd76f37 100644 +--- a/composer.json ++++ b/composer.json +@@ -51,7 +51,7 @@ + "laminas/laminas-text": "^2.6", + "laminas/laminas-validator": "^2.6", + "laminas/laminas-view": "^2.6.2", +- "phpunit/phpunit": "^5.7.23 || ^6.5.3" ++ "phpunit/phpunit": "^5.7.23 || ^6.5.3 || ^7.5" + }, + "suggest": { + "laminas/laminas-captcha": "^2.7.1, required for using CAPTCHA form elements", + +From 0a5e011d6aeb98f45533e428ebb5a0e07d8db3bc Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Thu, 16 Jan 2020 08:34:01 +0100 +Subject: [PATCH 2/2] fix Using array_key_exists() on objects is deprecated + +--- + src/Fieldset.php | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Fieldset.php b/src/Fieldset.php +index f26a56dc..74ad2cbb 100644 +--- a/src/Fieldset.php ++++ b/src/Fieldset.php +@@ -391,7 +391,7 @@ public function populateValues($data) + } + + foreach ($this->iterator as $name => $elementOrFieldset) { +- $valueExists = array_key_exists($name, $data); ++ $valueExists = isset($data[$name]); + + if ($elementOrFieldset instanceof FieldsetInterface) { + if ($valueExists && (is_array($data[$name]) || $data[$name] instanceof Traversable)) { diff --git a/composer.json b/composer.json index ec29a50..a74efb7 100644 --- a/composer.json +++ b/composer.json @@ -1,56 +1,70 @@ { - "name": "zendframework/zend-form", + "name": "laminas/laminas-form", "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", "license": "BSD-3-Clause", "keywords": [ - "zf", - "zendframework", + "laminas", "form" ], + "homepage": "https://laminas.dev", "support": { - "docs": "https://docs.zendframework.com/zend-form/", - "issues": "https://github.com/zendframework/zend-form/issues", - "source": "https://github.com/zendframework/zend-form", - "rss": "https://github.com/zendframework/zend-form/releases.atom", - "chat": "https://zendframework-slack.herokuapp.com", - "forum": "https://discourse.zendframework.com/c/questions/components" + "docs": "https://docs.laminas.dev/laminas-form/", + "issues": "https://github.com/laminas/laminas-form/issues", + "source": "https://github.com/laminas/laminas-form", + "rss": "https://github.com/laminas/laminas-form/releases.atom", + "chat": "https://laminas.dev/chat", + "forum": "https://discourse.laminas.dev" + }, + "config": { + "sort-packages": true + }, + "extra": { + "branch-alias": { + "dev-master": "2.14.x-dev", + "dev-develop": "2.15.x-dev" + }, + "laminas": { + "component": "Laminas\\Form", + "config-provider": "Laminas\\Form\\ConfigProvider" + } }, "require": { "php": "^5.6 || ^7.0", - "zendframework/zend-inputfilter": "^2.8", - "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", - "zendframework/zend-stdlib": "^3.2.1" + "laminas/laminas-hydrator": "^1.1 || ^2.1 || ^3.0", + "laminas/laminas-inputfilter": "^2.8", + "laminas/laminas-stdlib": "^3.2.1", + "laminas/laminas-zendframework-bridge": "^1.0" }, "require-dev": { "doctrine/annotations": "~1.0", - "zendframework/zend-cache": "^2.6.1", - "zendframework/zend-captcha": "^2.7.1", - "zendframework/zend-code": "^2.6 || ^3.0", - "zendframework/zend-escaper": "^2.5", - "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", - "zendframework/zend-filter": "^2.6", - "zendframework/zend-i18n": "^2.6", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", - "zendframework/zend-session": "^2.8.1", - "zendframework/zend-text": "^2.6", - "zendframework/zend-validator": "^2.6", - "zendframework/zend-view": "^2.6.2", - "zendframework/zendservice-recaptcha": "^3.0.0", - "phpunit/phpunit": "^5.7.23 || ^6.5.3", - "zendframework/zend-coding-standard": "~1.0.0" + "laminas/laminas-cache": "^2.6.1", + "laminas/laminas-captcha": "^2.7.1", + "laminas/laminas-code": "^2.6 || ^3.0", + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-escaper": "^2.5", + "laminas/laminas-eventmanager": "^2.6.2 || ^3.0", + "laminas/laminas-filter": "^2.6", + "laminas/laminas-i18n": "^2.6", + "laminas/laminas-recaptcha": "^3.0.0", + "laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3", + "laminas/laminas-session": "^2.8.1", + "laminas/laminas-text": "^2.6", + "laminas/laminas-validator": "^2.6", + "laminas/laminas-view": "^2.6.2", + "phpunit/phpunit": "^5.7.23 || ^6.5.3" }, "suggest": { - "zendframework/zend-captcha": "^2.7.1, required for using CAPTCHA form elements", - "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", - "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", - "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", - "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", - "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" + "laminas/laminas-captcha": "^2.7.1, required for using CAPTCHA form elements", + "laminas/laminas-code": "^2.6 || ^3.0, required to use laminas-form annotations support", + "laminas/laminas-eventmanager": "^2.6.2 || ^3.0, reuired for laminas-form annotations support", + "laminas/laminas-i18n": "^2.6, required when using laminas-form view helpers", + "laminas/laminas-recaptcha": "in order to use the ReCaptcha form element", + "laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", + "laminas/laminas-view": "^2.6.2, required for using the laminas-form view helpers" }, "autoload": { "psr-4": { - "Zend\\Form\\": "src/" + "Laminas\\Form\\": "src/" }, "files": [ "autoload/formElementManagerPolyfill.php" @@ -61,20 +75,7 @@ "test/_autoload.php" ], "psr-4": { - "ZendTest\\Form\\": "test/" - } - }, - "config": { - "sort-packages": true - }, - "extra": { - "branch-alias": { - "dev-master": "2.14.x-dev", - "dev-develop": "2.15.x-dev" - }, - "zf": { - "component": "Zend\\Form", - "config-provider": "Zend\\Form\\ConfigProvider" + "LaminasTest\\Form\\": "test/" } }, "scripts": { @@ -86,5 +87,8 @@ "cs-fix": "phpcbf", "test": "phpunit --colors=always", "test-coverage": "phpunit --colors=always --coverage-clover clover.xml" + }, + "replace": { + "zendframework/zend-form": "self.version" } } diff --git a/php-laminas-form.spec b/php-laminas-form.spec index 1d51feb..dea41b1 100644 --- a/php-laminas-form.spec +++ b/php-laminas-form.spec @@ -1,4 +1,4 @@ -# remirepo/Fedora spec file for php-zendframework-zend-form +# remirepo/Fedora spec file for php-laminas-form # # Copyright (c) 2015-2020 Remi Collet # License: CC-BY-SA @@ -7,11 +7,13 @@ # Please, preserve the changelog entries # %global bootstrap 0 -%global gh_commit 284f51cf26af2d3d88936fd8b74d46853550b718* +%global gh_commit 012aae01366cb8c8fb64e39a887363ef82f388dd %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_owner zendframework -%global gh_project zend-form +%global gh_owner laminas +%global gh_project laminas-form +%global zf_name zend-form %global php_home %{_datadir}/php +%global namespace Laminas %global library Form %if %{bootstrap} %global with_tests 0%{?_with_tests:1} @@ -19,223 +21,242 @@ %global with_tests 0%{!?_without_tests:1} %endif -Name: php-%{gh_owner}-%{gh_project} +Name: php-%{gh_project} Version: 2.14.3 Release: 1%{?dist} -Summary: Zend Framework %{library} component +Summary: %{namespace} Framework %{library} component License: BSD -URL: https://zendframework.github.io/%{gh_project}/ +URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh +Patch0: https://patch-diff.githubusercontent.com/raw/laminas/laminas-form/pull/55.patch + BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php(language) >= 5.6 BuildRequires: php-date BuildRequires: php-intl +BuildRequires: php-mbstring BuildRequires: php-pcre BuildRequires: php-spl -# Temporary, see https://github.com/zendframework/zend-math/issues/23 -BuildRequires: php-mcrypt # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-autoloader(%{gh_owner}/zend-inputfilter) >= 2.8 with php-autoloader(%{gh_owner}/zend-inputfilter) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-hydrator) >= 1.1 with php-autoloader(%{gh_owner}/zend-hydrator) < 4) -BuildRequires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 3.2.1 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) -# remirepo:5 -%else -BuildRequires: php-autoloader(%{gh_owner}/zend-inputfilter) >= 2.8 -BuildRequires: php-autoloader(%{gh_owner}/zend-hydrator) >= 1.0 -BuildRequires: php-autoloader(%{gh_owner}/zend-stdlib) >= 3.2.1 -%endif +BuildRequires: (php-autoloader(%{gh_owner}/laminas-inputfilter) >= 2.8 with php-autoloader(%{gh_owner}/laminas-inputfilter) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-hydrator) >= 1.1 with php-autoloader(%{gh_owner}/laminas-hydrator) < 4) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-stdlib) >= 3.2.1 with php-autoloader(%{gh_owner}/laminas-stdlib) < 4) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2) # From composer, "require-dev": { # "doctrine/annotations": "~1.0", -# "zendframework/zend-cache": "^2.6.1", -# "zendframework/zend-captcha": "^2.7.1", -# "zendframework/zend-code": "^2.6 || ^3.0", -# "zendframework/zend-escaper": "^2.5", -# "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", -# "zendframework/zend-filter": "^2.6", -# "zendframework/zend-i18n": "^2.6", -# "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", -# "zendframework/zend-session": "^2.8.1", -# "zendframework/zend-text": "^2.6", -# "zendframework/zend-validator": "^2.6", -# "zendframework/zend-view": "^2.6.2", -# "zendframework/zendservice-recaptcha": "^3.0.0", -# "phpunit/phpunit": "^5.7.23 || ^6.5.3", -# "zendframework/zend-coding-standard": "~1.0.0" -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(doctrine/annotations) >= 1.0 with php-composer(doctrine/annotations) < 2) -BuildRequires: (php-autoloader(%{gh_owner}/zend-cache) >= 2.6.1 with php-autoloader(%{gh_owner}/zend-cache) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-captcha) >= 2.7.1 with php-autoloader(%{gh_owner}/zend-captcha) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-code) >= 2.6 with php-autoloader(%{gh_owner}/zend-code) < 4) -BuildRequires: (php-autoloader(%{gh_owner}/zend-escaper) >= 2.5 with php-autoloader(%{gh_owner}/zend-escaper) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6.2 with php-autoloader(%{gh_owner}/zend-eventmanager) < 4) -BuildRequires: (php-autoloader(%{gh_owner}/zend-filter) >= 2.6 with php-autoloader(%{gh_owner}/zend-filter) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-i18n) >= 2.6 with php-autoloader(%{gh_owner}/zend-i18n) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-servicemanager) >= 2.7.5 with php-autoloader(%{gh_owner}/zend-servicemanager) < 4) -BuildRequires: (php-autoloader(%{gh_owner}/zend-session) >= 2.8.1 with php-autoloader(%{gh_owner}/zend-session) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-text) >= 2.6 with php-autoloader(%{gh_owner}/zend-text) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-validator) >= 2.6 with php-autoloader(%{gh_owner}/zend-validator) < 3) -BuildRequires: (php-autoloader(%{gh_owner}/zend-view) >= 2.6.2 with php-autoloader(%{gh_owner}/zend-view) < 3) -%global phpunit %{_bindir}/phpunit6 -BuildRequires: phpunit6 >= 6.5.3 -# remirepo:17 +# "laminas/laminas-cache": "^2.6.1", +# "laminas/laminas-captcha": "^2.7.1", +# "laminas/laminas-code": "^2.6 || ^3.0", +# "laminas/laminas-coding-standard": "~1.0.0", +# "laminas/laminas-escaper": "^2.5", +# "laminas/laminas-eventmanager": "^2.6.2 || ^3.0", +# "laminas/laminas-filter": "^2.6", +# "laminas/laminas-i18n": "^2.6", +# "laminas/laminas-recaptcha": "^3.0.0", +# "laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3", +# "laminas/laminas-session": "^2.8.1", +# "laminas/laminas-text": "^2.6", +# "laminas/laminas-validator": "^2.6", +# "laminas/laminas-view": "^2.6.2", +# "phpunit/phpunit": "^5.7.23 || ^6.5.3" +BuildRequires: (php-composer(doctrine/annotations) >= 1.0 with php-composer(doctrine/annotations) < 2) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-cache) >= 2.6.1 with php-autoloader(%{gh_owner}/laminas-cache) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-captcha) >= 2.7.1 with php-autoloader(%{gh_owner}/laminas-captcha) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-code) >= 2.6 with php-autoloader(%{gh_owner}/laminas-code) < 4) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-escaper) >= 2.5 with php-autoloader(%{gh_owner}/laminas-escaper) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-eventmanager) >= 2.6.2 with php-autoloader(%{gh_owner}/laminas-eventmanager) < 4) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-filter) >= 2.6 with php-autoloader(%{gh_owner}/laminas-filter) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-i18n) >= 2.6 with php-autoloader(%{gh_owner}/laminas-i18n) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-servicemanager) >= 2.7.5 with php-autoloader(%{gh_owner}/laminas-servicemanager) < 4) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-session) >= 2.8.1 with php-autoloader(%{gh_owner}/laminas-session) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-text) >= 2.6 with php-autoloader(%{gh_owner}/laminas-text) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-validator) >= 2.6 with php-autoloader(%{gh_owner}/laminas-validator) < 3) +BuildRequires: (php-autoloader(%{gh_owner}/laminas-view) >= 2.6.2 with php-autoloader(%{gh_owner}/laminas-view) < 3) +# remirepo:19 %else -BuildRequires: php-composer(doctrine/annotations) >= 1.0 -BuildRequires: php-autoloader(%{gh_owner}/zend-cache) >= 2.6.1 -BuildRequires: php-autoloader(%{gh_owner}/zend-captcha) >= 2.7.1 -BuildRequires: php-autoloader(%{gh_owner}/zend-code) >= 2.6 -BuildRequires: php-autoloader(%{gh_owner}/zend-escaper) >= 2.5 -BuildRequires: php-autoloader(%{gh_owner}/zend-eventmanager) >= 2.6.2 -BuildRequires: php-autoloader(%{gh_owner}/zend-filter) >= 2.6 -BuildRequires: php-autoloader(%{gh_owner}/zend-i18n) >= 2.6 -BuildRequires: php-autoloader(%{gh_owner}/zend-servicemanager) >= 2.7.5 -BuildRequires: php-autoloader(%{gh_owner}/zend-session) >= 2.8.1 -BuildRequires: php-autoloader(%{gh_owner}/zend-text) >= 2.6 -BuildRequires: php-autoloader(%{gh_owner}/zend-validator) >= 2.6 -BuildRequires: php-autoloader(%{gh_owner}/zend-view) >= 2.6.2 -%global phpunit %{_bindir}/phpunit -BuildRequires: php-phpunit-PHPUnit >= 5.7.23 +BuildRequires: php-laminas-inputfilter +BuildRequires: php-laminas-hydrator +BuildRequires: php-laminas-stdlib +BuildRequires: php-laminas-zendframework-bridge +BuildRequires: php-doctrine-annotations +BuildRequires: php-laminas-cache +BuildRequires: php-laminas-captcha +BuildRequires: php-laminas-code +BuildRequires: php-laminas-escaper +BuildRequires: php-laminas-eventmanager +BuildRequires: php-laminas-filter +BuildRequires: php-laminas-i18n +BuildRequires: php-laminas-servicemanager +BuildRequires: php-laminas-session +BuildRequires: php-laminas-text +BuildRequires: php-laminas-validator +BuildRequires: php-laminas-view %endif -# Missing -BuildRequires: php-composer(ircmaxell/random-lib) +%global phpunit %{_bindir}/phpunit7 +BuildRequires: phpunit7 >= 7.5 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer, "require": { # "php": "^5.6 || ^7.0", -# "zendframework/zend-inputfilter": "^2.8", -# "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", -# "zendframework/zend-stdlib": "^3.2.1" +# "laminas/laminas-hydrator": "^1.1 || ^2.1 || ^3.0", +# "laminas/laminas-inputfilter": "^2.8", +# "laminas/laminas-stdlib": "^3.2.1", +# "laminas/laminas-zendframework-bridge": "^1.0" Requires: php(language) >= 5.6 %if ! %{bootstrap} # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-autoloader(%{gh_owner}/zend-inputfilter) >= 2.8 with php-autoloader(%{gh_owner}/zend-inputfilter) < 3) -Requires: (php-autoloader(%{gh_owner}/zend-hydrator) >= 1.1 with php-autoloader(%{gh_owner}/zend-hydrator) < 4) -Requires: (php-autoloader(%{gh_owner}/zend-stdlib) >= 3.2.1 with php-autoloader(%{gh_owner}/zend-stdlib) < 4) -# Mandory because of Polyfill -Requires: (php-autoloader(%{gh_owner}/zend-servicemanager) >= 2.7.5 with php-autoloader(%{gh_owner}/zend-servicemanager) < 4) -# remirepo:11 -%else -Requires: php-autoloader(%{gh_owner}/zend-inputfilter) >= 2.8 -Requires: php-autoloader(%{gh_owner}/zend-inputfilter) < 3 -Requires: php-autoloader(%{gh_owner}/zend-hydrator) >= 1.1 -Requires: php-autoloader(%{gh_owner}/zend-hydrator) < 3 -Requires: php-autoloader(%{gh_owner}/zend-stdlib) >= 3.2.1 -Requires: php-autoloader(%{gh_owner}/zend-stdlib) < 4 +Requires: (php-autoloader(%{gh_owner}/laminas-inputfilter) >= 2.8 with php-autoloader(%{gh_owner}/laminas-inputfilter) < 3) +Requires: (php-autoloader(%{gh_owner}/laminas-hydrator) >= 1.1 with php-autoloader(%{gh_owner}/laminas-hydrator) < 4) +Requires: (php-autoloader(%{gh_owner}/laminas-stdlib) >= 3.2.1 with php-autoloader(%{gh_owner}/laminas-stdlib) < 4) +Requires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2) # Mandory because of Polyfill -Requires: php-autoloader(%{gh_owner}/zend-servicemanager) >= 2.7.5 -Requires: php-autoloader(%{gh_owner}/zend-servicemanager) < 4 -%endif +Requires: (php-autoloader(%{gh_owner}/laminas-servicemanager) >= 2.7.5 with php-autoloader(%{gh_owner}/laminas-servicemanager) < 4) # From composer, "suggest": { -# "zendframework/zend-captcha": "^2.7.1, required for using CAPTCHA form elements", -# "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", -# "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", -# "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", -# "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", -# "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", -# "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" +# "laminas/laminas-captcha": "^2.7.1, required for using CAPTCHA form elements", +# "laminas/laminas-code": "^2.6 || ^3.0, required to use laminas-form annotations support", +# "laminas/laminas-eventmanager": "^2.6.2 || ^3.0, reuired for laminas-form annotations support", +# "laminas/laminas-i18n": "^2.6, required when using laminas-form view helpers", +# "laminas/laminas-recaptcha": "in order to use the ReCaptcha form element", +# "laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", +# "laminas/laminas-view": "^2.6.2, required for using the laminas-form view helpers" %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 -Suggests: php-autoloader(%{gh_owner}/zend-captcha) -Suggests: php-autoloader(%{gh_owner}/zend-code) -Suggests: php-autoloader(%{gh_owner}/zend-eventmanager) -Suggests: php-autoloader(%{gh_owner}/zend-i18n) -Suggests: php-autoloader(%{gh_owner}/zend-view) -Suggests: php-autoloader(%{gh_owner}/zendservice-recaptcha) +Suggests: php-autoloader(%{gh_owner}/laminas-captcha) +Suggests: php-autoloader(%{gh_owner}/laminas-code) +Suggests: php-autoloader(%{gh_owner}/laminas-eventmanager) +Suggests: php-autoloader(%{gh_owner}/laminas-i18n) +Suggests: php-autoloader(%{gh_owner}/laminas-view) +Suggests: php-autoloader(%{gh_owner}/laminas-recaptcha) +%endif +# remirepo:8 +%else +Requires: php-laminas-inputfilter +Requires: php-laminas-hydrator +Requires: php-laminas-stdlib +Requires: php-laminas-zendframework-bridge +# Mandory because of Polyfill +Requires: php-laminas-servicemanager %endif %endif # Autoloader Requires: php-composer(fedora/autoloader) -# From phpcompatinfo report for version 2.6.0 +# From phpcompatinfo report for version 2.14.3 Requires: php-date Requires: php-intl +Requires: php-mbstring Requires: php-pcre Requires: php-spl -Obsoletes: php-ZendFramework2-%{library} < 2.5 -Provides: php-ZendFramework2-%{library} = %{version} -Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} +Obsoletes: php-ZendFramework2-%{library} < 2.5 +Provides: php-ZendFramework2-%{library} = %{version} +# Compatibily ensure by the bridge +Obsoletes: php-zendframework-%{zf_name} < 2.14.3-99 +Provides: php-zendframework-%{zf_name} = %{version}-99 +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} %description -The Zend\Form is intended primarily as a bridge between your domain models +The %{namespace}\Form is intended primarily as a bridge between your domain models and the View Layer. It composes a thin layer of objects representing form elements, an InputFilter, and a small number of methods for binding data to and from the form and attached objects. -Documentation: https://zendframework.github.io/%{gh_project}/ +Documentation: https://docs.laminas.dev/%{gh_project}/ %prep %setup -q -n %{gh_project}-%{gh_commit} +%patch0 -p1 mv LICENSE.md LICENSE +mv autoload/formElementManagerPolyfill.php src + %build : Create autoloader phpab --template fedora --output src/autoload.php src cat << 'EOF' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::optional([ - '%{php_home}/Zend/Captcha/autoload.php', - '%{php_home}/Zend/Code/autoload.php', - '%{php_home}/Zend/EventManager/autoload.php', - '%{php_home}/Zend/I18n/autoload.php', - '%{php_home}/Zend/ServiceManager/autoload.php', - '%{php_home}/Zend/View/autoload.php', - '%{php_home}/ZendService/ReCaptcha/autoload.php', + '%{php_home}/%{namespace}/Captcha/autoload.php', + '%{php_home}/%{namespace}/Code/autoload.php', + '%{php_home}/%{namespace}/EventManager/autoload.php', + '%{php_home}/%{namespace}/I18n/autoload.php', + '%{php_home}/%{namespace}/View/autoload.php', + '%{php_home}/%{namespace}/ReCaptcha/autoload.php', ]); # Polyfill must be loaded after ServiceManager \Fedora\Autoloader\Dependencies::required([ - '%{php_home}/Zend/InputFilter/autoload.php', - '%{php_home}/Zend/Hydrator/autoload.php', - '%{php_home}/Zend/Stdlib/autoload.php', + '%{php_home}/%{namespace}/InputFilter/autoload.php', + '%{php_home}/%{namespace}/Hydrator/autoload.php', + '%{php_home}/%{namespace}/Stdlib/autoload.php', + '%{php_home}/%{namespace}/ServiceManager/autoload.php', __DIR__ . '/formElementManagerPolyfill.php', ]); EOF +cat << 'EOF' | tee zf.php +<?php +require_once '%{php_home}/Fedora/Autoloader/autoload.php'; +\Fedora\Autoloader\Dependencies::required([ + '%{php_home}/%{namespace}/ZendFrameworkBridge/autoload.php', + dirname(dirname(__DIR__)) . '/%{namespace}/%{library}/autoload.php', +]); +EOF -%install -mkdir -p %{buildroot}%{php_home}/Zend/ -cp -pr src %{buildroot}%{php_home}/Zend/%{library} -cp -p autoload/formElementManagerPolyfill.php \ - %{buildroot}%{php_home}/Zend/%{library} -ln -s %{library}/formElementManagerPolyfill.php \ - %{buildroot}%{php_home}/Zend/%{library}-autoload.php +%install +: 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 %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php <?php -require_once '%{buildroot}%{php_home}/Zend/%{library}/autoload.php'; -\Fedora\Autoloader\Autoload::addPsr4('ZendTest\\%{library}\\', dirname(__DIR__) . '/test'); +require_once '%{buildroot}%{php_home}/%{namespace}/%{library}/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('%{namespace}Test\\%{library}\\', dirname(__DIR__) . '/test'); \Fedora\Autoloader\Dependencies::required([ dirname(__DIR__) . '/test/_autoload.php', - '%{php_home}/Zend/Cache/autoload.php', - '%{php_home}/Zend/Escaper/autoload.php', - '%{php_home}/Zend/Filter/autoload.php', - '%{php_home}/Zend/Session/autoload.php', - '%{php_home}/Zend/Text/autoload.php', - '%{php_home}/Zend/Validator/autoload.php', + '%{php_home}/%{namespace}/Cache/autoload.php', + '%{php_home}/%{namespace}/Escaper/autoload.php', + '%{php_home}/%{namespace}/Filter/autoload.php', + '%{php_home}/%{namespace}/Session/autoload.php', + '%{php_home}/%{namespace}/Text/autoload.php', + '%{php_home}/%{namespace}/Validator/autoload.php', ]); EOF + +: check compat autoloader +php -r ' +require "%{buildroot}%{php_home}/Zend/%{library}/autoload.php"; +exit (class_exists("\\Zend\\%{library}\\Factory") ? 0 : 1); +' + +: upstream test suite ret=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} -d memory_limit=1G || ret=1 + $1 ${2:-%{_bindir}/phpunit7} -d memory_limit=1G || ret=1 fi done exit $ret @@ -245,15 +266,21 @@ exit $ret %files +# remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md %doc composer.json %{php_home}/Zend/%{library} -%{php_home}/Zend/%{library}-autoload.php +%{php_home}/%{namespace}/%{library} %changelog +* Wed Jan 15 2020 Remi Collet <remi@remirepo.net> - 2.12.0-1 +- switch to Laminas +- add patch for PHP 7.4 from + https://github.com/laminas/laminas-form/pull/55 + * Fri Oct 4 2019 Remi Collet <remi@remirepo.net> - 2.14.3-1 - update to 2.14.3 - drop patch merged upstream |