# remirepo/fedora spec file for php-sabre-http5 # # Copyright (c) 2013-2023 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests # Github %global gh_commit b6fa04f42f49156eaab3fb890c79f4c43a9559b7 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sabre-io %global gh_project http # Packagist %global pk_vendor sabre %global pk_project %{gh_project} # Namespace %global ns_vendor Sabre %global ns_project HTTP %global major 5 Name: php-%{pk_vendor}-%{pk_project}%{major} Summary: Library for dealing with http requests and responses Version: 5.1.7 Release: 1%{?dist} URL: https://github.com/%{gh_owner}/%{gh_project} License: BSD-3-Clause Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz BuildArch: noarch %if %{with tests} BuildRequires: php(language) >= 7.1 BuildRequires: php-mbstring BuildRequires: php-ctype # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(sabre/event) >= 4.0 with php-composer(sabre/event) < 6) BuildRequires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) # From composer.json, "require-dev" : { # "friendsofphp/php-cs-fixer": "~2.17.1", # "phpstan/phpstan": "^0.12", # "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0" # remirepo:4 %else BuildRequires: php-sabre-event5 BuildRequires: php-sabre-uri2 %endif BuildRequires: phpunit9 %global phpunit %{_bindir}/phpunit9 BuildRequires: php-curl BuildRequires: php-date BuildRequires: php-hash BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-xml %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer.json, "require" : { # "php" : "^7.1 || ^8.0", # "ext-mbstring" : "*", # "ext-ctype" : "*", # "ext-curl" : "*", # "sabre/event" : ">=4.0 <6.0", # "sabre/uri" : "~2.0" Requires: php(language) >= 7.1 Requires: php-mbstring Requires: php-ctype Requires: php-curl # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(sabre/event) >= 4.0 with php-composer(sabre/event) < 6) Requires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) # remirepo:4 %else Requires: php-sabre-event5 Requires: php-sabre-uri2 %endif # From phpcompatinfo report for version 5.0.0 Requires: php-date Requires: php-hash Requires: php-pcre Requires: php-spl Requires: php-xml # Autoloader Requires: php-composer(fedora/autoloader) # Was split from php-sabre-dav in version 1.9 Conflicts: php-sabre-dav < 1.9 Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} %description This library provides a toolkit to make working with the HTTP protocol easier. Most PHP scripts run within a HTTP request but accessing information about the HTTP request is cumbersome at least, mainly do to superglobals and the CGI standard. There's bad practices, inconsistencies and confusion. This library is effectively a wrapper around the following PHP constructs: For Input: $_GET $_POST $_SERVER php://input or $HTTP_RAW_POST_DATA. For output: php://output or echo. header() What this library provides, is a Request object, and a Response object. The objects are extendable and easily mockable. Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} phpab -t fedora -o lib/autoload.php lib cat << 'EOF' | tee -a lib/autoload.php // Dependencies \Fedora\Autoloader\Dependencies::required([ '%{_datadir}/php/Sabre/Event5/autoload.php', '%{_datadir}/php/Sabre/Uri2/autoload.php', ]); // Functions if (!function_exists('Sabre\\HTTP\\parseDate')) { require_once __DIR__ . '/functions.php'; } EOF %build # nothing to build %install # Install as a PSR-0 library mkdir -p %{buildroot}%{_datadir}/php/%{ns_vendor} cp -pr lib %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major} %check : Check version php -r ' require "%{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php"; echo Sabre\HTTP\Version::VERSION . "\n"; exit (Sabre\HTTP\Version::VERSION === "%{version}" ? 0 : 1); ' %if %{with tests} cd tests ln -sf %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php bootstrap.php : Start a Development web server PORT=$(expr 8080 + %{?fedora}%{?rhel}) sed -e "s/localhost:8000/127.0.0.1:$PORT/" -i phpunit.xml %{_bindir}/php -S 127.0.0.1:$PORT -t $PWD/www &>web.log & PHPPID=$! : Run upstream test suite against installed library ret=0 for cmdarg in "php %{phpunit}" php80 php81 php82 php83; do if which $cmdarg; then set $cmdarg $1 ${2:-%{_bindir}/phpunit9} --verbose || ret=1 fi done kill $PHPPID || : exit $ret %else : Skip upstream test suite %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *md %doc composer.json %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major} %changelog * Mon Jun 26 2023 Remi Collet - 5.1.7-1 - update to 5.1.7 * Mon Jul 18 2022 Remi Collet - 5.1.6-1 - update to 5.1.6 * Mon Jul 11 2022 Remi Collet - 5.1.5-1 - update to 5.1.5 * Fri Jun 24 2022 Remi Collet - 5.1.4-1 - update to 5.1.4 * Thu Nov 4 2021 Remi Collet - 5.1.3-1 - update to 5.1.3 * Thu Nov 4 2021 Remi Collet - 5.1.2-1 - update to 5.1.2 * Mon Oct 5 2020 Remi Collet - 5.1.1-1 - update to 5.1.1 - switch to phpunit9 * Sat Feb 1 2020 Remi Collet - 5.1.0-1 - update to 5.1.0 - raise dependency on PHP 7.1 - switch to phpunit8 * Fri Nov 29 2019 Remi Collet - 5.0.5-1 - update to 5.0.5 * Thu Oct 10 2019 Remi Collet - 5.0.4-1 - update to 5.0.4 * Tue Oct 8 2019 Remi Collet - 5.0.3-1 - update to 5.0.3 * Fri Sep 13 2019 Remi Collet - 5.0.2-1 - update to 5.0.2 * Wed Sep 11 2019 Remi Collet - 5.0.1-1 - update to 5.0.1 - drop patch merged upstream - switch to phpunit7 * Tue Aug 20 2019 Remi Collet - 5.0.0-4 - add patch for 7.4 from https://github.com/sabre-io/http/pull/121 * Fri Jul 5 2019 Remi Collet - 5.0.0-2 - fix autoloader * Fri Jul 5 2019 Remi Collet - 5.0.0-1 - update to 5.0.0 - rename to php-sabre-http5 - move to /usr/share/php/Sabre/HTTP5 - raise dependency on PHP 7 - raise dependency on sabre/event 5.0 - raise dependency on sabre/uri 2.0 - switch to classmap autoloader - use phpunit 6 * Tue Jun 5 2018 Remi Collet - 4.2.4-1 - update to 4.2.4 - use range dependencies on F27+ * Mon Jun 12 2017 Remi Collet - 4.2.3-1 - Update to 4.2.3 * Wed Jan 4 2017 Remi Collet - 4.2.2-1 - update to 4.2.2 * Sat Oct 29 2016 Remi Collet - 4.2.1-2 - switch from symfony/class-loader to fedora/autoloader * Fri Mar 11 2016 Remi Collet - 4.2.1-1 - update to 4.2.1 - add dependency on sabre/uri - run test suite with both PHP 5 and 7 when available * Mon Jul 20 2015 Remi Collet - 3.0.5-1 - update to 3.0.5 - add autoloader * Wed Jul 16 2014 Remi Collet - 2.0.4-1 - update to 2.0.4 - composer dependencies * Tue May 6 2014 Remi Collet - 2.0.3-1 - update to 2.0.3 * Tue Feb 11 2014 Remi Collet - 2.0.2-1 - update to 2.0.2 * Sat Jan 11 2014 Remi Collet - 2.0.1-1 - update to 2.0.1 * Tue Jan 7 2014 Remi Collet - 2.0.0-0.2.alpha6 - update to 2.0.0alpha6 - add explicit conflicts with php-sabre-dav < 1.9 * Tue Dec 31 2013 Remi Collet - 2.0.0-0.1.alpha5 - Initial packaging