From a0a57f9df7a9f23a5109ef9398f180e433f7f8de Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 16 Dec 2019 12:04:40 +0100 Subject: - update to 4.0.0 - raise dependency on PHP 7.2 - use Chronos 2.0.1 - add Chronos, Console and Filesystem --- php-cakephp4.spec | 375 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 275 insertions(+), 100 deletions(-) (limited to 'php-cakephp4.spec') diff --git a/php-cakephp4.spec b/php-cakephp4.spec index 5141dc4..a11721a 100644 --- a/php-cakephp4.spec +++ b/php-cakephp4.spec @@ -7,8 +7,11 @@ # Please, preserve the changelog entries # +# TODO: Http, Form, I18n, ORM, Validation +# Auth, Command, Controller, Error, Mailer, Network, Routing, Shell, TestSuite, View + # https://github.com/cakephp/cakephp/releases -%global gh_commit bf96319a3688c191742d4a3a1680740abef1b371 +%global gh_commit 767b164747df789db8c0fbcf3bcf9eaf3be55b38 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner cakephp %global gh_project cakephp @@ -16,14 +19,15 @@ %global ns_vendor Cake %global php_home %{_datadir}/php %global with_tests 0%{!?_without_tests:1} +%global major 4 # https://github.com/cakephp/chronos/releases -%global chronos_commit ba2bab98849e7bf29b02dd634ada49ab36472959 +%global chronos_commit 779054d4c7ca88fc086b2cdd1f02aaf0df9ccb01 %global chronos_short %(c=%{chronos_commit}; echo ${c:0:7}) -%global chronos_version 1.3.0 +%global chronos_version 2.0.1 -Name: php-%{pk_vendor} -Version: 3.8.7 +Name: php-%{pk_vendor}%{major} +Version: 4.0.0 Release: 1%{?dist} Summary: The CakePHP framework @@ -37,7 +41,7 @@ Source3: makesrc2.sh BuildArch: noarch %if %{with_tests} # For tests -BuildRequires: php(language) >= 5.6 +BuildRequires: php(language) >= 7.2 BuildRequires: php-ctype BuildRequires: php-date BuildRequires: php-dom @@ -52,15 +56,18 @@ BuildRequires: php-reflection BuildRequires: php-simplexml BuildRequires: php-spl # From composer.json, "require-dev": { -# "cakephp/cakephp-codesniffer": "^3.0", -# "cakephp/chronos": "^1.2.1", -# "phpunit/phpunit": "^5.7.14|^6.0" -BuildRequires: php-composer(phpunit/phpunit) +# "cakephp/cakephp-codesniffer": "dev-next", +# "mikey179/vfsstream": "^1.6", +# "paragonie/csp-builder": "^2.3", +# "phpunit/phpunit": "~8.4.0" +BuildRequires: phpunit8 >= 8.4.0 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(mikey179/vfsstream) >= 1.6 with php-composer(mikey179/vfsstream) < 6) BuildRequires: (php-composer(aura/intl) >= 3.0.0 with php-composer(aura/intl) < 4) BuildRequires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2) BuildRequires: (php-composer(zendframework/zend-diactoros) >= 1.4.0 with php-composer(zendframework/zend-diactoros) < 2) %else +BuildRequires: php-mikey179-vfsstream >= 1.6 BuildRequires: php-aura-intl >= 3.0.0 BuildRequires: php-PsrLog >= 1.0.0 BuildRequires: php-zendframework-zend-diactoros >= 1.4.0 @@ -79,10 +86,10 @@ to flexibility. %package cache Summary: CakePHP Collection Library # From composer.json "require": { -# "php": ">=5.6.0", -# "psr/simple-cache": "^1.0.0", -# "cakephp/core": "^3.6.0" -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +# "cakephp/core": "^4.0", +# "psr/simple-cache": "^1.0.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} # from main composer.json %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 @@ -117,11 +124,29 @@ The caching backends supported are: * Xcache +%package chronos +Summary: CakePHP Chronos Library +# From composer.json "require": { +# "php": ">=7.2", +Requires: php(language) >= 7.2 +# From phpcompatinfo report +Requires: php-ctype +Requires: php-date +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/chronos) = %{version} + +%description chronos +CakePHP Chronos Library: + +A simple API extension for DateTime. + + %package collection Summary: CakePHP Collection Library # From composer.json "require": { -# "php": ">=5.6.0", -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +Requires: php(language) >= 7.2 # From phpcompatinfo report Requires: php-spl Provides: php-composer(%{pk_vendor}/collection) = %{version} @@ -134,12 +159,43 @@ Traversable objects. If you have ever used underscore.js, you have an idea of what you can expect from the collection classes. +%package console +Summary: CakePHP Console Library +# From composer.json "require": { +# "php": ">=7.2.0", +# "cakephp/core": "^4.0", +# "cakephp/event": "^4.0", +# "cakephp/filesystem": "^4.0", +# "cakephp/log": "^4.0", +# "cakephp/utility": "^4.0" +Requires: php(language) >= 7.2 +Requires: php-composer(%{pk_vendor}/core) = %{version} +Requires: php-composer(%{pk_vendor}/event) = %{version} +Requires: php-composer(%{pk_vendor}/filesystem) = %{version} +Requires: php-composer(%{pk_vendor}/log) = %{version} +Requires: php-composer(%{pk_vendor}/utility) = %{version} +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Recommends: php-composer(%{pk_vendor}/datasource) = %{version} +Recommends: php-composer(%{pk_vendor}/orm) = %{version} +%endif +# From phpcompatinfo report +Requires: php-spl +Provides: php-composer(%{pk_vendor}/console) = %{version} + +%description console +CakePHP Console Library: + +This library provides a framework for building command line applications +from a set of commands. It provides abstractions for defining option and +argument parsers, and dispatching commands. + + %package core Summary: CakePHP Framework Core classes # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/utility": "^3.6.0" -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +# "cakephp/utility": "^4.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/utility) = %{version} # From phpcompatinfo report Requires: php-reflection @@ -164,16 +220,12 @@ CakePHP framework. %package database Summary: CakePHP Database Library # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/cache": "^3.6.0", -# "cakephp/core": "^3.6.0", -# "cakephp/datasource": "^3.6.0" -# "cakephp/log": "^3.6.0" -Requires: php(language) >= 5.6 -Requires: php-composer(%{pk_vendor}/cache) = %{version} +# "php": ">=7.2.0", +# "cakephp/core": "^4.0", +# "cakephp/datasource": "^4.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} Requires: php-composer(%{pk_vendor}/datasource) = %{version} -Requires: php-composer(%{pk_vendor}/log) = %{version} # From phpcompatinfo report Requires: php-pdo Requires: php-ctype @@ -181,6 +233,9 @@ Requires: php-date Requires: php-json Requires: php-pcre Requires: php-spl +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Recommends: php-composer(%{pk_vendor}/i18n) = %{version} +%endif Provides: php-composer(%{pk_vendor}/database) = %{version} %description database @@ -207,10 +262,23 @@ them to the database, and convert them back when retrieving. %package datasource Summary: CakePHP Datasource Library # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/core": "^3.6.0" -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +# "cakephp/core": "^4.0", +# "psr/log": "^1.1", +# "psr/simple-cache": "^1.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2) +Requires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2) +BuildRequires: (php-composer(psr/simple-cache) >= 1.0.0 with php-composer(psr/simple-cache) < 2) +Requires: (php-composer(psr/simple-cache) >= 1.0.0 with php-composer(psr/simple-cache) < 2) +%else +BuildRequires: php-psr-simple-cache >= 1.0.0 +Requires: php-psr-simple-cache >= 1.0.0 +BuildRequires: php-PsrLog >= 1.0.0 +Requires: php-PsrLog >= 1.0.0 +%endif # From phpcompatinfo report Requires: php-json Requires: php-spl @@ -233,13 +301,14 @@ provided by this package. %package event Summary: CakePHP Event Library # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/core": "^3.6.0" -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +# "cakephp/core": "^4.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} # From phpcompatinfo report Requires: php-pcre Requires: php-spl +Provides: php-composer(%{pk_vendor}/event) = %{version} %description event CakePHP Event Library: @@ -247,13 +316,33 @@ CakePHP Event Library: CakePHP event dispatcher library that helps implementing the observer pattern. +%package filesystem +Summary: CakePHP FileSystem Library +# From composer.json "require": { +# "php": ">=7.2.0", +# "cakephp/core": "^4.0" +Requires: php(language) >= 7.2 +Requires: php-composer(%{pk_vendor}/core) = %{version} +# From phpcompatinfo report +Requires: php-fileinfo +Requires: php-mbstring +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/filesystem) = %{version} + +%description filesystem +CakePHP FileSystem Library: + +CakePHP filesystem convenience classes to help you work with files and folders. + + %package log Summary: logging library # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/core": "^3.6.0", +# "php": ">=7.2.0", +# "cakephp/core": "^4.0", # "psr/log": "^1.0.0" -Requires: php(language) >= 5.6 +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2) @@ -274,9 +363,9 @@ CakePHP logging library with support for multiple different streams. %package utility Summary: CakePHP Utility Classes # From composer.json "require": { -# "php": ">=5.6.0", -# "cakephp/core": "^3.6.0" -Requires: php(language) >= 5.6 +# "php": ">=7.2.0", +# "cakephp/core": "^4.0" +Requires: php(language) >= 7.2 Requires: php-composer(%{pk_vendor}/core) = %{version} # From phpcompatinfo report Requires: php-simplexml @@ -301,6 +390,7 @@ the CakePHP framework. %prep %setup -q -n %{gh_project}-%{gh_commit} -a 2 mv chronos-*/src src/Chronos +mv chronos-*/tests tests2 %build @@ -312,6 +402,7 @@ require_once '%{php_home}/Fedora/Autoloader/autoload.php'; \Fedora\Autoloader\Autoload::addPsr4('Cake\\', dirname(__DIR__).'/src'); \Fedora\Autoloader\Autoload::addPsr4('Cake\\Test\\', dirname(__DIR__).'/tests'); +\Fedora\Autoloader\Autoload::addPsr4('Cake\\Chronos\\Test\\', dirname(__DIR__).'/tests2'); \Fedora\Autoloader\Autoload::addPsr4('TestApp\\', dirname(__DIR__).'/tests/test_app/TestApp'); \Fedora\Autoloader\Autoload::addPsr4('TestPlugin\\', dirname(__DIR__).'/tests/test_app/Plugin/TestPlugin/src'); \Fedora\Autoloader\Autoload::addPsr4('TestPlugin\\Test\\', dirname(__DIR__).'/tests/test_app/Plugin/TestPlugin/tests'); @@ -330,6 +421,7 @@ require_once '%{php_home}/Fedora/Autoloader/autoload.php'; '%{php_home}/Psr/Log/autoload.php', '%{php_home}/Psr/SimpleCache/autoload.php', '%{php_home}/Zend/Diactoros/autoload.php', + '%{php_home}/org/bovigo/vfs/autoload.php', ]); EOF @@ -345,6 +437,17 @@ require_once '%{php_home}/Fedora/Autoloader/autoload.php'; ]); EOF +: ===== Generate "chronos" autoloader +cat << 'EOF' | tee src/Chronos/autoload.php + - 4.0.0-1 +- update to 4.0.0 +- raise dependency on PHP 7.2 +- use Chronos 2.0.1 +- add Chronos, Console and Filesystem + * Mon Dec 9 2019 Remi Collet - 3.8.7-1 - update to 3.8.7 -- cgit