From c24f5e50c7c637115b82bfec5a55da6ee8735e8e Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 3 Jun 2020 16:19:36 +0200 Subject: update to 2.0.0-alpha1 switch to Symfony 4 switch to phpunit7 raise dependency on composer/semver 3 add dependency on react/promise 2.7 --- composer.spec | 134 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 92 insertions(+), 42 deletions(-) (limited to 'composer.spec') diff --git a/composer.spec b/composer.spec index 4d788f6..3b12ae5 100644 --- a/composer.spec +++ b/composer.spec @@ -10,23 +10,37 @@ # For compatibility with SCL %undefine __brp_mangle_shebangs -%global gh_commit 956608ea4f7de9e58c53dfb019d85ae62b193c39 +%global gh_commit fa90c099e9c402bcf83fa83d3276d160cf9986fe %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_branch 1.0-dev +%global gh_branch 2.0-dev %global gh_owner composer %global gh_project composer %global with_tests %{?_without_tests:0}%{!?_without_tests:1} -%global api_version 1.1.0 -%global run_version 1.0.0 +%global api_version 2.0.0 +%global run_version 2.0.0 -%global upstream_version 1.10.7 -#global upstream_prever RC +%global upstream_version 2.0.0 +%global upstream_prever alpha1 -%if 0 -# see https://forum.remirepo.net/viewtopic.php?id=3677 -%global symfony_prefix php-symfony3 +%if 0%{?fedora} >= 32 || 0%{?rhel} >=8 +%global symfony_prefix php-symfony4 +%global symfony_path %{_datadir}/php/Symfony4 +%global symfony_min 4.4 +%global _phpunit %{_bindir}/phpunit7 %else +# remirepo:1 +%if 0 %global symfony_prefix php-symfony +%global symfony_path %{_datadir}/php/Symfony +%global symfony_min 2.8 +%global _phpunit %{_bindir}/phpunit +# remirepo:6 +%else +%global symfony_prefix php-symfony3 +%global symfony_path %{_datadir}/php/Symfony3 +%global symfony_min 3.4 +%global _phpunit %{_bindir}/phpunit7 +%endif %endif Name: composer @@ -37,8 +51,6 @@ Summary: Dependency Manager for PHP License: MIT URL: https://getcomposer.org/ Source0: %{gh_project}-%{upstream_version}%{?upstream_prever}-%{gh_short}.tgz -Source1: %{name}-autoload.php -Source2: %{name}-bootstrap.php # Profile scripts Source3: %{name}.sh Source4: %{name}.csh @@ -53,77 +65,82 @@ BuildRequires: php-cli %if %{with_tests} %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2) -BuildRequires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) +BuildRequires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) BuildRequires: (php-composer(composer/spdx-licenses) >= 1.2 with php-composer(composer/spdx-licenses) < 2) BuildRequires: (php-composer(composer/xdebug-handler) >= 1.1 with php-composer(composer/xdebug-handler) < 2) BuildRequires: (php-composer(seld/jsonlint) >= 1.4 with php-composer(seld/jsonlint) < 2) BuildRequires: (php-composer(seld/phar-utils) >= 1.0 with php-composer(seld/phar-utils) < 2) BuildRequires: (php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) BuildRequires: (php-composer(justinrainbow/json-schema) >= 5.2.10 with php-composer(justinrainbow/json-schema) < 6) +BuildRequires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3) %else BuildRequires: php-composer-ca-bundle -BuildRequires: php-composer-semver +BuildRequires: php-composer-semver3 BuildRequires: php-composer-spdx-licenses >= 1.2 BuildRequires: php-composer-xdebug-handler >= 1.1 BuildRequires: php-jsonlint >= 1.4 BuildRequires: php-seld-phar-utils BuildRequires: php-PsrLog BuildRequires: php-justinrainbow-json-schema5 >= 5.2.10 +BuildRequires: php-react-promise >= 2.7 %endif -BuildRequires: %{symfony_prefix}-console -BuildRequires: %{symfony_prefix}-finder -BuildRequires: %{symfony_prefix}-filesystem -BuildRequires: %{symfony_prefix}-process +BuildRequires: %{symfony_prefix}-console >= %{symfony_min} +BuildRequires: %{symfony_prefix}-finder >= %{symfony_min} +BuildRequires: %{symfony_prefix}-filesystem >= %{symfony_min} +BuildRequires: %{symfony_prefix}-process >= %{symfony_min} BuildRequires: php-zip # From composer.json, "require-dev": { -# "symfony/phpunit-bridge": "^3.4", +# "symfony/phpunit-bridge": "^4.2 || ^5.0", # "phpspec/prophecy": "^1.10" -BuildRequires: phpunit +BuildRequires: %{_phpunit} # For autoloader -BuildRequires: php-composer(fedora/autoloader) >= 0.1.2 -BuildRequires: php-seld-phar-utils >= 1.0.1 -BuildRequires: php-PsrLog >= 1.0.0-8 +BuildRequires: php-fedora-autoloader-devel +BuildRequires: php-seld-phar-utils >= 1.1 +BuildRequires: php-PsrLog >= 1.1 %endif # From composer.json, "require": { # "php": "^5.3.2 || ^7.0", # "composer/ca-bundle": "^1.0", -# "composer/semver": "^1.0", +# "composer/semver": "^3.0", # "composer/spdx-licenses": "^1.2", # "composer/xdebug-handler": "^1.1", # "justinrainbow/json-schema": "^5.2.10", # "psr/log": "^1.0" # "seld/jsonlint": "~1.4", # "seld/phar-utils": "^1.0", -# "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", -# "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", -# "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", -# "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0", +# "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", +# "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", +# "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", +# "symfony/process": "^^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", +# "react/promise": "^1.2 || ^2.7" Requires: php(language) >= 5.3.2 Requires: php-cli %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2) -Requires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) +Requires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) Requires: (php-composer(composer/spdx-licenses) >= 1.2 with php-composer(composer/spdx-licenses) < 2) Requires: (php-composer(composer/xdebug-handler) >= 1.1 with php-composer(composer/xdebug-handler) < 2) Requires: (php-composer(seld/jsonlint) >= 1.4 with php-composer(seld/jsonlint) < 2) Requires: (php-composer(seld/phar-utils) >= 1.0 with php-composer(seld/phar-utils) < 2) Requires: (php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) Requires: (php-composer(justinrainbow/json-schema) >= 5.2.10 with php-composer(justinrainbow/json-schema) < 6) +Requires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3) %else Requires: php-composer-ca-bundle -Requires: php-composer-semver +Requires: php-composer-semver3 Requires: php-composer-spdx-licenses >= 1.2 Requires: php-composer-xdebug-handler >= 1.1 Requires: php-jsonlint >= 1.4 Requires: php-seld-phar-utils Requires: php-PsrLog Requires: php-justinrainbow-json-schema5 >= 5.2.10 +Requires: php-react-promise >= 2.7 %endif -Requires: %{symfony_prefix}-console -Requires: %{symfony_prefix}-finder -Requires: %{symfony_prefix}-process -Requires: %{symfony_prefix}-filesystem +Requires: %{symfony_prefix}-console >= %{symfony_min} +Requires: %{symfony_prefix}-finder >= %{symfony_min} +Requires: %{symfony_prefix}-process >= %{symfony_min} +Requires: %{symfony_prefix}-filesystem >= %{symfony_min} # From composer.json, suggest # "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", # "ext-zip": "Enabling the zip extension allows you to unzip archives", @@ -133,12 +150,12 @@ Requires: php-zip Requires: php-zlib # For our autoloader Requires: php-composer(fedora/autoloader) -Requires: php-seld-phar-utils >= 1.0.1 -Requires: php-PsrLog >= 1.0.0-8 -# From phpcompatinfo +Requires: php-seld-phar-utils >= 1.1 +Requires: php-PsrLog >= 1.1 +# From phpcompatinfo for version 2.0.0 +Requires: php-ctype Requires: php-curl Requires: php-date -Requires: php-dom Requires: php-filter Requires: php-hash Requires: php-iconv @@ -146,10 +163,11 @@ Requires: php-intl Requires: php-json Requires: php-libxml Requires: php-mbstring +Requires: php-pcntl Requires: php-pcre Requires: php-phar +Requires: php-posix Requires: php-reflection -Requires: php-simplexml Requires: php-spl Requires: php-tokenizer Requires: php-xsl @@ -180,10 +198,35 @@ if grep -r '\.\./res'; then exit 1 fi -cp -p %{SOURCE1} src/Composer/autoload.php -cp -p %{SOURCE2} tests/bootstrap.php +phpab --template fedora --output src/Composer/autoload.php src/Composer +cat << 'EOF' | tee -a src/Composer/autoload.php + +\Fedora\Autoloader\Dependencies::required([ + '%{symfony_path}/Component/Console/autoload.php', + '%{symfony_path}/Component/Finder/autoload.php', + '%{symfony_path}/Component/Process/autoload.php', + '%{symfony_path}/Component/Filesystem/autoload.php', + '%{_datadir}/php/Seld/JsonLint/autoload.php', + '%{_datadir}/php/Seld/PharUtils/autoload.php', + '%{_datadir}/php/Composer/CaBundle/autoload.php', + '%{_datadir}/php/Composer/Spdx/autoload.php', + '%{_datadir}/php/Composer/Semver3/autoload.php', + '%{_datadir}/php/Composer/XdebugHandler/autoload.php', + '%{_datadir}/php/Psr/Log/autoload.php', + '%{_datadir}/php/JsonSchema5/autoload.php', + '%{_datadir}/php/React/Promise/autoload.php', +]); +EOF + +cat << 'EOF' | tee tests/bootstrap.php + - 2.0.0~alpha1-1 +- update to 2.0.0-alpha1 +- switch to Symfony 4 +- switch to phpunit7 +- raise dependency on composer/semver 3 +- add dependency on react/promise 2.7 + * Wed Jun 3 2020 Remi Collet - 1.10.7-1 - update to 1.10.7 - raise dependency on justinrainbow/json-schema 5.2.10 -- cgit