# remirepo spec file for psysh, from: # # Fedora spec file for psysh # # Copyright (c) 2016-2021 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner bobthecow %global github_name psysh %global github_version 0.10.8 %global github_commit e4573f47750dd6c92dca5aee543fa77513cbd8d3 %global composer_vendor psy %global composer_project psysh %if 0%{?fedora} >= 32 || 0%{?rhel} >= 8 %global with_symfony2 0 %else %global with_symfony2 1 %endif # "php": "^8.0 || ^7.0 || ^5.5.9" %global php_min_ver 5.5.9 # "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0" # NOTE: Forcing minimum version 4 %global php_parser_min_ver 4.0 %global php_parser_max_ver 5.0 # "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10" # "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" %if %{with_symfony2} # NOTE: Min version not 2.7.0 because autoloader required %global symfony_min_ver 2.7.1 %else %global symfony_min_ver 3.0 %endif %global symfony_max_ver 6.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} # Range dependencies supported? %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 %global with_range_dependencies 1 %else %global with_range_dependencies 0 %endif %{!?phpdir: %global phpdir %{_datadir}/php} Name: psysh Version: %{github_version} Release: 1%{?github_release}%{?dist} Summary: A runtime developer console, interactive debugger and REPL for PHP License: MIT URL: https://psysh.org # GitHub export does not include tests # Run psysh-get-source.sh to create full source Source0: %{name}-%{github_version}-%{github_commit}.tar.gz Source1: %{name}-get-source.sh # Update bin script to use generated autoloader Patch0: %{name}-bin-autoload.patch BuildArch: noarch # Tests %if %{with_tests} BuildRequires: php-cli ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: phpunit9 %if %{with_range_dependencies} BuildRequires: (php-composer(nikic/php-parser) >= %{php_parser_min_ver} with php-composer(nikic/php-parser) < %{php_parser_max_ver}) BuildRequires: (php-composer(symfony/console) >= %{symfony_min_ver} with php-composer(symfony/console) < %{symfony_max_ver}) BuildRequires: (php-composer(symfony/var-dumper) >= %{symfony_min_ver} with php-composer(symfony/var-dumper) < %{symfony_max_ver}) %else BuildRequires: php-composer(nikic/php-parser) < %{php_parser_max_ver} BuildRequires: php-composer(nikic/php-parser) >= %{php_parser_min_ver} BuildRequires: php-symfony3-console BuildRequires: php-symfony3-var-dumper %endif BuildRequires: php-json BuildRequires: php-tokenizer ## composer.json: optional BuildRequires: php-pcntl BuildRequires: php-posix BuildRequires: php-readline BuildRequires: php-sqlite3 ## phpcompatinfo (computed from version 0.10.4) BuildRequires: php-date BuildRequires: php-dom BuildRequires: php-pcre BuildRequires: php-pdo BuildRequires: php-reflection BuildRequires: php-spl ## Autoloader BuildRequires: php-composer(fedora/autoloader) %endif Requires: php-cli # composer.json Requires: php(language) >= %{php_min_ver} %if %{with_range_dependencies} Requires: (php-composer(nikic/php-parser) >= %{php_parser_min_ver} with php-composer(nikic/php-parser) < %{php_parser_max_ver}) Requires: (php-composer(symfony/console) >= %{symfony_min_ver} with php-composer(symfony/console) < %{symfony_max_ver}) Requires: (php-composer(symfony/var-dumper) >= %{symfony_min_ver} with php-composer(symfony/var-dumper) < %{symfony_max_ver}) %else Requires: php-composer(nikic/php-parser) < %{php_parser_max_ver} Requires: php-composer(nikic/php-parser) >= %{php_parser_min_ver} Requires: php-symfony3-console Requires: php-symfony3-var-dumper %endif Requires: php-json Requires: php-tokenizer # composer.json: optional Requires: php-pcntl Requires: php-posix Requires: php-readline Requires: php-sqlite3 # phpcompatinfo (computed from version 0.10.4) Requires: php-date Requires: php-pcre Requires: php-pdo Requires: php-reflection Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Standard "php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}" naming Provides: php-%{composer_vendor}-%{composer_project} = %{version}-%{release} # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} %description %{summary}. Autoloader: %{phpdir}/Psy/autoload.php %prep %setup -qn %{github_name}-%{github_commit} : Update bin script to use generated autoloader %patch0 -p1 sed 's#__PHPDIR__#%{phpdir}#' -i bin/psysh %build : Create autoloader cat <<'AUTOLOAD' | tee src/autoload.php - 0.10.8-1 - update to 0.10.8 - drop dependency on dnoegel/php-xdg-base-dir - switch to phpunit9 * Sun Aug 16 2020 Shawn Iwinski - 0.10.4-1 - Update to 0.10.4 (RHBZ #1782258) - Fix FTBFS (RHBZ #1865260) - Conditionally use range dependencies - Conditionally drop Symfony 2 interoperability - Force "nikic/php-parser" minimum version 4 * Sun Dec 01 2019 Shawn Iwinski - 0.9.11-1 - Update to 0.9.11 (RHBZ #1529814) * Wed Dec 13 2017 Shawn Iwinski - 0.8.16-1 - Update to 0.8.16 (RHBZ #1468827) * Sun Jun 25 2017 Shawn Iwinski - 0.8.8-1 - Update to 0.8.8 (RHBZ #1464772) * Sat Jun 24 2017 Remi Collet - 0.8.8-1 - Update to 0.8.8 * Wed Jun 21 2017 Remi Collet - 0.8.7-1 - Update to 0.8.7 * Tue Jun 6 2017 Remi Collet - 0.8.6-1 - Update to 0.8.6 * Wed May 24 2017 Remi Collet - 0.8.5-1 - Update to 0.8.5 * Sat Apr 08 2017 2017 Shawn Iwinski - 0.8.3-1 - Update to 0.8.3 (RHBZ #1433813) - Allow Symfony 3 * Mon Mar 20 2017 Remi Collet - 0.8.3-1 - Update to 0.8.3 * Sat Mar 04 2017 2017 Shawn Iwinski - 0.8.2-1 - Update to 0.8.2 (RHBZ #1413429) - Test with SCLs if available * Wed Mar 1 2017 Remi Collet - 0.8.2-1 - update to 0.8.2 * Mon Jan 16 2017 Remi Collet - 0.8.1-1 - update to 0.8.1 * Sun Dec 11 2016 Shawn Iwinski - 0.8.0-1 - Update to 0.8.0 (RHBZ #1403040) - Switch autoloader from php-composer(symfony/class-loader) to php-composer(fedora/autoloader) * Fri Dec 9 2016 Remi Collet - 0.8.0-1 - update to 0.8.0 - allow nikic/php-parser version 3 - switch to fedora/autoloader * Thu Jul 21 2016 Remi Collet - 0.7.2-2 - backport for remi repository * Wed Jul 20 2016 Shawn Iwinski - 0.7.2-2 - Add explicit php-cli dependency (bin script uses "#!/usr/bin/env php") * Fri Jul 15 2016 Shawn Iwinski - 0.7.2-1 - Initial package