# remirepo/fedora spec file for php-sabre-vobject4 # # 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 # For compatibility with SCL %undefine __brp_mangle_shebangs %global gh_commit fe6d9183154ed6f2f913f2b568d3d51d8ae9b308 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sabre-io %global gh_project vobject %if 0%{?fedora} >= 26 || 0%{?rhel} >= 8 %global with_cmd 1 %else %global with_cmd 0 %endif Name: php-sabre-vobject4 Summary: Library to parse and manipulate iCalendar and vCard objects Version: 4.5.3 Release: 1%{?dist} URL: http://sabre.io/vobject/ License: BSD-3-Clause Source0: %{name}-%{version}-%{gh_short}.tgz Source2: makesrc.sh # replace composer autloader Patch0: %{name}-bin.patch BuildArch: noarch %if %{with tests} BuildRequires: php(language) >= 7.1 BuildRequires: php-mbstring # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(sabre/xml) >= 2.1 with php-composer(sabre/xml) < 5) # remirepo:3 %else BuildRequires: php-sabre-xml2 >= 2.1 %endif BuildRequires: php-date BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-xml # From composer.json, "require-dev" # "friendsofphp/php-cs-fixer": "^2.17.1", # "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0", # "phpunit/php-invoker" : "^2.0 || ^3.1", # "phpstan/phpstan": "^0.12" BuildRequires: phpunit9 %global phpunit %{_bindir}/phpunit9 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel # From composer.json, "require" # "php" : "^7.1 || ^8.0", # "ext-mbstring" : "*", # "sabre/xml" : "^2.1 || ^3.0 || ^4.0" Requires: php(language) >= 7.1 Requires: php-mbstring # # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(sabre/xml) >= 2.1 with php-composer(sabre/xml) < 5) # remirepo:3 %else Requires: php-sabre-xml2 >= 2.1 %endif # From phpcompatinfo report for version 4.1.2 %if %{with_cmd} Requires: php-cli %endif Requires: php-date Requires: php-json Requires: php-pcre Requires: php-spl Requires: php-xml # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(sabre/vobject) = %{version} %description The VObject library allows you to easily parse and manipulate iCalendar and vCard objects using PHP. The goal of the VObject library is to create a very complete library, with an easy to use API. This project is a spin-off from SabreDAV, where it has been used for several years. The VObject library has 100% unittest coverage. Autoloader: %{_datadir}/php/Sabre/VObject4/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm phpab -t fedora -o lib/autoload.php lib cat << 'EOF' | tee -a lib/autoload.php // Dependencies \Fedora\Autoloader\Dependencies::required([ [ '%{_datadir}/php/Sabre/Xml4/autoload.php', '%{_datadir}/php/Sabre/Xml3/autoload.php', '%{_datadir}/php/Sabre/Xml2/autoload.php', ], ]); EOF %build # nothing to build %install # Install as a PSR-0 library mkdir -p %{buildroot}%{_datadir}/php/Sabre cp -pr lib %{buildroot}%{_datadir}/php/Sabre/VObject4 %if %{with_cmd} # Install the commands install -Dpm 0755 bin/vobject \ %{buildroot}/%{_bindir}/vobject install -Dpm 0755 bin/generate_vcards \ %{buildroot}/%{_bindir}/generate_vcards %endif %check : Fix bootstrap cd tests sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php : Check version php -r ' require "%{_datadir}/php/Fedora/Autoloader/autoload.php"; require "bootstrap.php"; echo Sabre\VObject\Version::VERSION . "\n"; exit (Sabre\VObject\Version::VERSION === "%{version}" ? 0 : 1); ' %if %{with tests} opt="--verbose" if [ $(php -r 'echo PHP_INT_SIZE;') -lt 8 ]; then opt="--filter '^((?!(testNeverEnding|testGeneratorBaseObject|testDailyBySetPosLoop|testYearlyBySetPosLoop)).)*$' $opt" fi : Run upstream test suite against installed library ret=0 for cmdarg in "php %{phpunit}" php80 php81 php82; do if which $cmdarg; then set $cmdarg $1 ${2:-%{_bindir}/phpunit9} $opt || ret=1 fi done exit $ret %else : Skip upstream test suite %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *md %doc composer.json %{_datadir}/php/Sabre/VObject4 %if %{with_cmd} %{_bindir}/vobject %{_bindir}/generate_vcards %endif %changelog * Wed Jan 25 2023 Remi Collet - 4.5.3-1 - update to 4.5.3 - low dependency on PHP 7.1 - low dependency on sabre/xml v2 * Fri Jan 20 2023 Remi Collet - 4.5.2-1 - update to 4.5.2 - raise dependency on PHP 7.4 - raise dependency on sabre/xml v3 or v4 - switch to classmap autoloader * Mon Oct 10 2022 Remi Collet - 4.5.1-1 - update to 4.5.1 * Thu Aug 18 2022 Remi Collet - 4.5.0-1 - update to 4.5.0 * Mon Jul 18 2022 Remi Collet - 4.4.3-1 - update to 4.4.3 * Fri Jun 24 2022 Remi Collet - 4.4.2-1 - update to 4.4.2 * Tue Dec 7 2021 Remi Collet - 4.4.1-1 - update to 4.4.1 * Tue Nov 16 2021 Remi Collet - 4.4.0-1 - update to 4.4.0 * Mon Nov 15 2021 Remi Collet - 4.3.8-1 - update to 4.3.8 * Thu Nov 4 2021 Remi Collet - 4.3.7-1 - update to 4.3.7 * Thu Nov 4 2021 Remi Collet - 4.3.6-1 - update to 4.3.6 * Mon Jul 26 2021 Remi Collet - 4.3.5-3 - ignore 1 more test failing on 32-bit * Mon Feb 15 2021 Remi Collet - 4.3.5-1 - update to 4.3.5 * Thu Feb 4 2021 Remi Collet - 4.3.4-1 - update to 4.3.4 - sources from git snapshot * Mon Nov 9 2020 Remi Collet - 4.3.3-1 - update to 4.3.3 * Mon Oct 5 2020 Remi Collet - 4.3.2-1 - update to 4.3.2 * Mon Jul 13 2020 Remi Collet - 4.3.1-1 - update to 4.3.1 * Sat Feb 1 2020 Remi Collet - 4.3.0-1 - update to 4.3.0 - raise dependency on PHP 7.1 - raise dependency on sabre/xml 2.1 - switch to phpunit8 * Tue Jan 14 2020 Remi Collet - 4.2.2-1 - update to 4.2.2 * Thu Dec 19 2019 Remi Collet - 4.2.1-1 - update to 4.2.1 - drop patch merged upstream - skip 1 test failing on 32-bit https://github.com/sabre-io/vobject/issues/481 * Wed Oct 9 2019 Remi Collet - 4.2.0-4 - add patch for PHP 7.4 from https://github.com/sabre-io/vobject/pull/469 * Mon Jul 1 2019 Remi Collet - 4.2.0-2 - fix autoloader for sabre/xml version 2 * Wed Feb 20 2019 Remi Collet - 4.2.0-1 - update to 4.2.0 * Mon Oct 15 2018 Remi Collet - 4.1.6-3 - add upstream patch for PHP 7.3 * Fri Apr 20 2018 Remi Collet - 4.1.6-1 - update to 4.1.6 - undefine __brp_mangle_shebangs * Fri Mar 9 2018 Remi Collet - 4.1.5-1 - update to 4.1.5 - use range dependencies on F27+ * Sat Dec 23 2017 Remi Collet - 4.1.4-1 - Update to 4.1.4 * Mon Oct 30 2017 Remi Collet - 4.1.3-2 - fix FTBFS from Koschei, add patch for test from https://github.com/sabre-io/vobject/pull/395 * Thu Oct 19 2017 Remi Collet - 4.1.3-1 - Update to 4.1.3 - sources from https://github.com/sabre-io/vobject * Tue Jan 17 2017 Remi Collet - 4.1.2-1 - rename to php-sabre-vobject4 - raise dependency on PHP version 5.5 - add dependency on sabre/xml * Sat Oct 29 2016 Remi Collet - 3.5.3-3 - switch from symfony/class-loader to fedora/autoloader * Fri Oct 7 2016 Remi Collet - 3.5.3-1 - update to 3.5.3 * Tue Apr 26 2016 Remi Collet - 3.5.2-1 - update to 3.5.2 * Thu Apr 7 2016 Remi Collet - 3.5.1-1 - update to 3.5.1 * Fri Mar 11 2016 Remi Collet - 3.5.0-1 - update to 3.5.0 * Wed Feb 24 2016 Remi Collet - 3.4.6-1 - update to 3.4.6 * Wed Jul 16 2014 Remi Collet - 3.2.4-1 - update to 3.2.4 * Wed Jun 18 2014 Remi Collet - 3.2.3-1 - update to 3.2.3 - add provides php-composer(sabre/vobject) - url is now http://sabre.io/vobject/ * Fri May 9 2014 Remi Collet - 3.2.2-1 - update to 3.2.2 * Tue May 6 2014 Remi Collet - 3.2.1-1 - update to 3.2.1 * Sun Apr 6 2014 Remi Collet - 3.2.0-1 - update to 3.2.0 * Thu Feb 20 2014 Remi Collet - 3.1.3-1 - update to 3.1.3 * Tue Dec 31 2013 Remi Collet - 2.1.3-1 - Initial packaging