From 10e9b83b9934486dd8c50fe0832332cd58fab26d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 11 Jun 2018 12:17:54 +0200 Subject: Initial packaging with cache, collection, core, database, database and utility sub-packages --- php-cakephp.spec | 447 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 447 insertions(+) create mode 100644 php-cakephp.spec (limited to 'php-cakephp.spec') diff --git a/php-cakephp.spec b/php-cakephp.spec new file mode 100644 index 0000000..dbb5cd6 --- /dev/null +++ b/php-cakephp.spec @@ -0,0 +1,447 @@ +# remirepo/fedora spec file for php-cakephp +# +# Copyright (c) 2018 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +# https://github.com/cakephp/cakephp/releases +%global gh_commit 9d26dcaa80739d24674062604bb3796e72023580 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner cakephp +%global gh_project cakephp +%global pk_vendor cakephp +%global ns_vendor Cake +%global php_home %{_datadir}/php +%global with_tests 0%{!?_without_tests:1} + +# https://github.com/cakephp/chronos/releases +%global chronos_commit 85bcaea6a832684b32ef54b2487b0c14a172e9e6 +%global chronos_short %(c=%{chronos_commit}; echo ${c:0:7}) +%global chronos_version 1.1.4 + +Name: php-%{pk_vendor} +Version: 3.6.5 +Release: 1%{?dist} +Summary: The CakePHP framework + +License: MIT +URL: https://cakephp.org/ +Source0: %{name}-%{version}-%{gh_short}.tgz +Source1: makesrc.sh +Source2: %{name}-chronos-%{chronos_version}-%{chronos_short}.tgz +Source3: makesrc2.sh + +BuildArch: noarch +%if %{with_tests} +# For tests +BuildRequires: php(language) >= 5.6 +BuildRequires: php-ctype +BuildRequires: php-date +BuildRequires: php-dom +BuildRequires: php-hash +BuildRequires: php-intl +BuildRequires: php-json +BuildRequires: php-libxml +BuildRequires: php-mbstring +BuildRequires: php-pcre +BuildRequires: php-pdo +BuildRequires: php-reflection +BuildRequires: php-simplexml +BuildRequires: php-spl +# From composer.json, "require-dev": { +# "phpunit/phpunit": "<6.0", +# "athletic/athletic": "~0.1", +# "cakephp/cakephp-codesniffer": "~2.3", +# "phpbench/phpbench": "@dev", +# "phpstan/phpstan": "^0.6.4" +BuildRequires: php-composer(phpunit/phpunit) +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +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-aura-intl >= 3.0.0 +BuildRequires: php-PsrLog >= 1.0.0 +BuildRequires: php-zendframework-zend-diactoros >= 1.4.0 +%endif +%endif + + +%description +CakePHP is a rapid development framework for PHP which uses commonly known +design patterns like Associative Data Mapping, Front Controller, and MVC. +Our primary goal is to provide a structured framework that enables PHP users +at all levels to rapidly develop robust web applications, without any loss +to flexibility. + + +%package cache +Summary: CakePHP Collection Library +# From composer.json "require": { +# "php": ">=5.6.0", +# "cakephp/core": "^3.6.0" +Requires: php(language) >= 5.6 +Requires: php-composer(%{pk_vendor}/core) = %{version} +# From phpcompatinfo report +Requires: php-date +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/cache) = %{version} + +%description cache +CakePHP Caching Library: + +The Cache library provides a Cache service locator for interfacing with +multiple caching backends using a simple to use interface. + +The caching backends supported are: +* Files +* APC +* Memcached +* Redis +* Wincache +* Xcache + + +%package collection +Summary: CakePHP Collection Library +# From composer.json "require": { +# "php": ">=5.6.0", +Requires: php(language) >= 5.6 +# From phpcompatinfo report +Requires: php-spl +Provides: php-composer(%{pk_vendor}/collection) = %{version} + +%description collection +CakePHP Collection Library: + +The collection classes provide a set of tools to manipulate arrays or +Traversable objects. If you have ever used underscore.js, you have an +idea of what you can expect from the collection classes. + + +%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 +Requires: php-composer(%{pk_vendor}/utility) = %{version} +# From phpcompatinfo report +Requires: php-reflection +Requires: php-json +Requires: php-mbstring +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/core) = %{version} + +%description core +CakePHP Framework Core classes: + +A set of classes used for configuration files reading and storing. +This library contains the classes that are used as glue for creating the +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" +Requires: php(language) >= 5.6 +Requires: php-composer(%{pk_vendor}/cache) = %{version} +Requires: php-composer(%{pk_vendor}/core) = %{version} +Requires: php-composer(%{pk_vendor}/datasource) = %{version} +# From phpcompatinfo report +Requires: php-pdo +Requires: php-ctype +Requires: php-date +Requires: php-json +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/database) = %{version} + +%description database +A flexible and lightweight Database Library for PHP: + +This library abstracts and provides help with most aspects of dealing with +relational databases such as keeping connections to the server, building +queries, preventing SQL injections, inspecting and altering schemas, and +with debugging and profiling queries sent to the database. + +It adopts the API from the native PDO extension in PHP for familiarity, +but solves many of the inconsistencies PDO has, while also providing +several features that extend PDO's capabilities. + +A distinguishing factor of this library when compared to similar database +connection packages, is that it takes the concept of "data types" to its core. +It lets you work with complex PHP objects or structures that can be passed as +query conditions or to be inserted in the database. + +The typing system will intelligently convert the PHP structures when passing +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 +Requires: php-composer(%{pk_vendor}/core) = %{version} +# From phpcompatinfo report +Requires: php-json +Requires: php-spl +Provides: php-composer(%{pk_vendor}/datasource) = %{version} + +%description datasource +CakePHP Datasource Library: + +This library contains interfaces for implementing Repositories and +Entities using any data source, a class for managing connections to +datasources and traits to help you quickly implement the interfaces +provided by this package. + + +%package utility +Summary: CakePHP Utility Classes +# From composer.json "require": { +# "php": ">=5.6.0", +# "cakephp/core": "^3.6.0" +Requires: php(language) >= 5.6 +Requires: php-composer(%{pk_vendor}/core) = %{version} +# From phpcompatinfo report +Requires: php-simplexml +Requires: php-ctype +Requires: php-dom +Requires: php-hash +Requires: php-intl +Requires: php-json +Requires: php-libxml +Requires: php-mbstring +Requires: php-pcre +Requires: php-spl +Provides: php-composer(%{pk_vendor}/utility) = %{version} + +%description utility +CakePHP Utility Classes: + +This library provides a range of utility classes that are used throughout +the CakePHP framework. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} -a 2 +mv chronos-*/src src/Chronos + + +%build +: ===== Generate test autoloader for full framework +mkdir vendor +cat << 'EOF' | tee vendor/autoload.php + - 3.6.5-1 +- Initial packaging with cache, collection, core, database, + database and utility sub-packages -- cgit