diff --git a/.gitignore b/.gitignore index ffac39a..7dc7872 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,29 @@ clog /php-sabre-vobject4-4.1.2-d0fde2f.tar.gz /php-sabre-vobject4-4.1.3-df99168.tar.gz +/php-sabre-vobject4-4.1.4-6484b9d.tar.gz +/php-sabre-vobject4-4.1.5-0928660.tar.gz +/php-sabre-vobject4-4.1.6-122cacb.tar.gz +/php-sabre-vobject4-4.2.0-bd50001.tar.gz +/php-sabre-vobject4-4.2.1-6d7476f.tar.gz +/php-sabre-vobject4-4.2.2-449616b.tar.gz +/php-sabre-vobject4-4.3.0-5b2248d.tar.gz +/php-sabre-vobject4-4.3.1-a7feca8.tar.gz +/php-sabre-vobject4-4.3.2-e17daaf.tar.gz +/php-sabre-vobject4-4.3.3-58f9f9b.tar.gz +/php-sabre-vobject4-4.3.4-3168acd.tgz +/php-sabre-vobject4-4.3.5-d8a0a9a.tgz +/php-sabre-vobject4-4.3.7-c3fa8c8.tgz +/php-sabre-vobject4-4.3.8-a7460c5.tgz +/php-sabre-vobject4-4.4.0-0a2e27c.tgz +/php-sabre-vobject4-4.4.1-06feff3.tgz +/php-sabre-vobject4-4.4.2-b8a44ea.tgz +/php-sabre-vobject4-4.4.3-2a043b9.tgz +/php-sabre-vobject4-4.5.0-d1fdc0c.tgz +/php-sabre-vobject4-4.5.1-1f83674.tgz +/php-sabre-vobject4-4.5.3-fe6d918.tgz +/php-sabre-vobject4-4.5.4-a6d53a3.tgz +/php-sabre-vobject4-4.5.5-7148cf5.tgz +/php-sabre-vobject4-4.5.6-900266b.tgz +/php-sabre-vobject4-4.5.7-ff22611.tgz +/php-sabre-vobject4-4.5.8-d554eb2.tgz diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..f9982c6 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo "Already there." +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + + echo "Cloning..." + rm -rf $PROJECT-$COMMIT + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer.json + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT + + echo "Done." +fi diff --git a/php-sabre-vobject4-autoload.php b/php-sabre-vobject4-autoload.php deleted file mode 100644 index 427a243..0000000 --- a/php-sabre-vobject4-autoload.php +++ /dev/null @@ -1,10 +0,0 @@ -addPsr4('Sabre\\VObject\\', __DIR__ . '/VObject'); ++ +\Fedora\Autoloader\Autoload::addPsr4('Sabre\\VObject\\', __DIR__ . '/VObject'); - - if (!defined('SABRE_TEMPDIR')) { - define('SABRE_TEMPDIR', __DIR__ . '/temp/'); ++ diff --git a/php-sabre-vobject4.spec b/php-sabre-vobject4.spec index 09b4b4c..70d73ee 100644 --- a/php-sabre-vobject4.spec +++ b/php-sabre-vobject4.spec @@ -1,65 +1,63 @@ # remirepo/fedora spec file for php-sabre-vobject4 # -# Copyright (c) 2013-2017 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2013-2026 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # -%global gh_commit df9916813d1d83e4f761c4cba13361ee74196fac + +%bcond_without tests + + +%global gh_commit d554eb24d64232922e1eab5896cc2f84b3b9ffb1 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sabre-io %global gh_project vobject -%global with_tests %{?_without_tests:0}%{!?_without_tests:1} - -%if 0%{?fedora} > 25 -%global with_cmd 1 -%else -%global with_cmd 0 -%endif +%global with_cmd 1 Name: php-sabre-vobject4 Summary: Library to parse and manipulate iCalendar and vCard objects -Version: 4.1.3 +Version: 4.5.8 Release: 1%{?dist} URL: http://sabre.io/vobject/ -License: BSD -Group: Development/Libraries -Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz -Source1: %{name}-autoload.php +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) >= 5.5 +%if %{with tests} +BuildRequires: php(language) >= 7.1 BuildRequires: php-mbstring -BuildRequires: php-composer(sabre/xml) < 3 -BuildRequires: php-composer(sabre/xml) >= 1.5 +BuildRequires: (php-composer(sabre/xml) >= 2.1 with php-composer(sabre/xml) < 5) BuildRequires: php-date BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-xml # From composer.json, "require-dev" -# "phpunit/phpunit" : "> 4.8, <6.0.0", -# "squizlabs/php_codesniffer": "*" -# "sabre/cs" : "^1.0.0" -BuildRequires: php-composer(phpunit/phpunit) > 4.8 -# Autoloader -BuildRequires: php-composer(fedora/autoloader) +# "friendsofphp/php-cs-fixer": "^2.17.1", +# "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.6", +# "phpunit/php-invoker" : "^2.0 || ^3.1", +# "phpstan/phpstan": "^0.12 || ^1.12 || ^2.0" +BuildRequires: phpunit9 >= 9.6 +%global phpunit %{_bindir}/phpunit9 %endif +# Autoloader +BuildRequires: php-fedora-autoloader-devel # From composer.json, "require" -# "php" : ">=5.5", +# "php" : "^7.1 || ^8.0", # "ext-mbstring" : "*", -# "sabre/xml" : ">=1.5 <3.0" -Requires: php(language) >= 5.5 +# "sabre/xml" : "^2.1 || ^3.0 || ^4.0" +Requires: php(language) >= 7.1 Requires: php-mbstring -Requires: php-composer(sabre/xml) >= 1.5 -Requires: php-composer(sabre/xml) < 3 +# +Requires: (php-composer(sabre/xml) >= 2.1 with php-composer(sabre/xml) < 5) # From phpcompatinfo report for version 4.1.2 %if %{with_cmd} Requires: php-cli @@ -89,8 +87,21 @@ Autoloader: %{_datadir}/php/Sabre/VObject4/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} -%patch0 -p1 -b .rpm -cp %{SOURCE1} lib/autoload.php +%patch -P0 -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 @@ -112,16 +123,30 @@ install -Dpm 0755 bin/generate_vcards \ %check -%if %{with_tests} : 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 cmd in php php56 php70 php71 php72; do - if which $cmd; then - $cmd %{_bindir}/phpunit --verbose || ret=1 +for cmdarg in "php %{phpunit}" php82 php83 php84; do + if which $cmdarg; then + set $cmdarg + $1 ${2:-%{_bindir}/phpunit9} $opt || ret=1 fi done exit $ret @@ -131,7 +156,6 @@ exit $ret %files -%{!?_licensedir:%global license %%doc} %license LICENSE %doc *md %doc composer.json @@ -142,10 +166,171 @@ exit $ret %endif %changelog +* Mon Jan 12 2026 Remi Collet - 4.5.8-1 +- update to 4.5.8 + +* Fri Jul 25 2025 Fedora Release Engineering - 4.5.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Apr 18 2025 Remi Collet - 4.5.7-1 +- update to 4.5.7 +- re-license spec file to CECILL-2.1 + +* Sat Jan 18 2025 Fedora Release Engineering - 4.5.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Oct 15 2024 Remi Collet - 4.5.6-1 +- update to 4.5.6 + +* Fri Jul 19 2024 Fedora Release Engineering - 4.5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jul 3 2024 Remi Collet - 4.5.5-1 +- update to 4.5.5 + +* Thu Jan 25 2024 Fedora Release Engineering - 4.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 4.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Nov 9 2023 Remi Collet - 4.5.4-1 +- update to 4.5.4 + +* Fri Jul 21 2023 Fedora Release Engineering - 4.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 25 2023 Remi Collet - 4.5.3-1 +- update to 4.5.3 +- allow sabre/xml v3 or v4 +- switch to classmap autoloader + +* Fri Jan 20 2023 Fedora Release Engineering - 4.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* 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 + +* Fri Jul 22 2022 Fedora Release Engineering - 4.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* 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 + +* Fri Jan 21 2022 Fedora Release Engineering - 4.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* 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 + +* Mon Jul 26 2021 Remi Collet - 4.3.5-3 +- ignore 1 more test failing on 32-bit + +* Fri Jul 23 2021 Fedora Release Engineering - 4.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* 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 + +* Wed Jan 27 2021 Fedora Release Engineering - 4.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* 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 + +* Tue Jul 28 2020 Fedora Release Engineering - 4.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* 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 + +* Thu Jan 30 2020 Fedora Release Engineering - 4.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* 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 + +* Fri Jul 26 2019 Fedora Release Engineering - 4.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* 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 + +* Sat Feb 02 2019 Fedora Release Engineering - 4.1.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Oct 15 2018 Remi Collet - 4.1.6-3 +- add upstream patch for PHP 7.3 + +* Fri Jul 13 2018 Fedora Release Engineering - 4.1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* 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+ + +* Fri Feb 09 2018 Fedora Release Engineering - 4.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* 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 fro mKoschei, 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 +* Thu Jul 27 2017 Fedora Release Engineering - 4.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Tue Jan 17 2017 Remi Collet - 4.1.2-1 - rename to php-sabre-vobject4 - raise dependency on PHP version 5.5 diff --git a/sources b/sources index 355b579..83fc031 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-sabre-vobject4-4.1.3-df99168.tar.gz) = 75132170b6cd1adb1359a3f9ca3069b88ef06d46200c6511be375c3d6ffd00c1cab50476990eac31a0e866866dbcc3e6433a67734a074796ee09418e9aaea550 +SHA512 (php-sabre-vobject4-4.5.8-d554eb2.tgz) = 8e6af0c7069430561b3764e7bf1b4a87979732749f8628a014f34a728c426bcdd3548e56fe398e0c18ae0140a692f9c839ef1d7482e1e06c599fa813c27429d5