988bf4b
# remirepo/fedora spec file for php-sabre-vobject4
988bf4b
#
9b772dd
# Copyright (c) 2013-2022 Remi Collet
988bf4b
# License: CC-BY-SA
988bf4b
# http://creativecommons.org/licenses/by-sa/4.0/
988bf4b
#
988bf4b
# Please, preserve the changelog entries
988bf4b
#
2a6b431
b352109
%bcond_without       tests
b352109
2a6b431
# For compatibility with SCL
2a6b431
%undefine __brp_mangle_shebangs
2a6b431
9c39d17
%global gh_commit    1f836740c88bac483f3b572a332eb8fd1cd04981
988bf4b
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
098df77
%global gh_owner     sabre-io
098df77
%global gh_project   vobject
988bf4b
ed24b46
%if 0%{?fedora} >= 26 || 0%{?rhel} >= 8
988bf4b
%global with_cmd 1
988bf4b
%else
988bf4b
%global with_cmd 0
988bf4b
%endif
988bf4b
098df77
Name:           php-sabre-vobject4
988bf4b
Summary:        Library to parse and manipulate iCalendar and vCard objects
9c39d17
Version:        4.5.1
27f89de
Release:        1%{?dist}
988bf4b
988bf4b
URL:            http://sabre.io/vobject/
988bf4b
License:        BSD
effbc4b
Source0:        %{name}-%{version}-%{gh_short}.tgz
988bf4b
Source1:        %{name}-autoload.php
effbc4b
Source2:        makesrc.sh
988bf4b
988bf4b
# replace composer autloader
098df77
Patch0:         %{name}-bin.patch
988bf4b
988bf4b
BuildArch:      noarch
781966c
%if %{with tests}
381f1c7
BuildRequires:  php(language) >= 7.1
988bf4b
BuildRequires:  php-mbstring
381f1c7
BuildRequires:  (php-composer(sabre/xml)    >= 2.1  with php-composer(sabre/xml)     < 3)
988bf4b
BuildRequires:  php-date
988bf4b
BuildRequires:  php-json
988bf4b
BuildRequires:  php-pcre
988bf4b
BuildRequires:  php-spl
988bf4b
BuildRequires:  php-xml
988bf4b
# From composer.json, "require-dev"
effbc4b
#        "friendsofphp/php-cs-fixer": "~2.17.1",
781966c
#        "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0",
effbc4b
#        "phpunit/php-invoker" : "^2.0 || ^3.1",
781966c
#        "phpstan/phpstan": "^0.12"
b4c3d76
BuildRequires:  phpunit9
b4c3d76
%global phpunit %{_bindir}/phpunit9
988bf4b
# Autoloader
988bf4b
BuildRequires:  php-composer(fedora/autoloader)
988bf4b
%endif
988bf4b
988bf4b
# From composer.json, "require"
b352109
#        "php"          : "^7.1 || ^8.0",
988bf4b
#        "ext-mbstring" : "*",
381f1c7
#        "sabre/xml"    : "^2.1"
381f1c7
Requires:       php(language) >= 7.1
988bf4b
Requires:       php-mbstring
8aef5ab
#
381f1c7
Requires:       (php-composer(sabre/xml)    >= 2.1  with php-composer(sabre/xml)     < 3)
988bf4b
# From phpcompatinfo report for version 4.1.2
988bf4b
%if %{with_cmd}
988bf4b
Requires:       php-cli
988bf4b
%endif
988bf4b
Requires:       php-date
988bf4b
Requires:       php-json
988bf4b
Requires:       php-pcre
988bf4b
Requires:       php-spl
988bf4b
Requires:       php-xml
988bf4b
# Autoloader
988bf4b
Requires:       php-composer(fedora/autoloader)
988bf4b
988bf4b
Provides:       php-composer(sabre/vobject) = %{version}
988bf4b
988bf4b
988bf4b
%description
988bf4b
The VObject library allows you to easily parse and manipulate iCalendar
988bf4b
and vCard objects using PHP. The goal of the VObject library is to create
988bf4b
a very complete library, with an easy to use API.
988bf4b
988bf4b
This project is a spin-off from SabreDAV, where it has been used for several
988bf4b
years. The VObject library has 100% unittest coverage.
988bf4b
988bf4b
Autoloader: %{_datadir}/php/Sabre/VObject4/autoload.php
988bf4b
988bf4b
988bf4b
%prep
988bf4b
%setup -q -n %{gh_project}-%{gh_commit}
988bf4b
988bf4b
%patch0 -p1 -b .rpm
9c5b9af
988bf4b
cp %{SOURCE1} lib/autoload.php
988bf4b
988bf4b
988bf4b
%build
988bf4b
# nothing to build
988bf4b
988bf4b
988bf4b
%install
988bf4b
# Install as a PSR-0 library
988bf4b
mkdir -p %{buildroot}%{_datadir}/php/Sabre
988bf4b
cp -pr lib %{buildroot}%{_datadir}/php/Sabre/VObject4
988bf4b
988bf4b
%if %{with_cmd}
988bf4b
# Install the commands
988bf4b
install -Dpm 0755 bin/vobject \
988bf4b
         %{buildroot}/%{_bindir}/vobject
988bf4b
install -Dpm 0755 bin/generate_vcards \
988bf4b
         %{buildroot}/%{_bindir}/generate_vcards
988bf4b
%endif
988bf4b
988bf4b
988bf4b
%check
988bf4b
: Fix bootstrap
988bf4b
cd tests
988bf4b
sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php
988bf4b
134ec38
: Check version
134ec38
php -r '
134ec38
require "%{_datadir}/php/Fedora/Autoloader/autoload.php";
134ec38
require "bootstrap.php";
134ec38
echo  Sabre\VObject\Version::VERSION . "\n";
134ec38
exit (Sabre\VObject\Version::VERSION === "%{version}" ? 0 : 1);
134ec38
'
134ec38
134ec38
%if %{with tests}
20803b6
opt="--verbose"
20803b6
if [ $(php -r 'echo PHP_INT_SIZE;') -lt 8 ]; then
c0108d4
  opt="--filter '^((?!(testNeverEnding|testGeneratorBaseObject|testDailyBySetPosLoop|testYearlyBySetPosLoop)).)*$' $opt"
20803b6
fi
20803b6
988bf4b
: Run upstream test suite against installed library
098df77
ret=0
27f89de
for cmdarg in "php %{phpunit}" php74 php80 php81 php82; do
b4c3d76
  if which $cmdarg; then
b4c3d76
    set $cmdarg
b4c3d76
    $1 ${2:-%{_bindir}/phpunit9} $opt || ret=1
098df77
  fi
098df77
done
098df77
exit $ret
988bf4b
%else
988bf4b
: Skip upstream test suite
988bf4b
%endif
988bf4b
988bf4b
988bf4b
%files
988bf4b
%license LICENSE
988bf4b
%doc *md
988bf4b
%doc composer.json
988bf4b
%{_datadir}/php/Sabre/VObject4
988bf4b
%if %{with_cmd}
988bf4b
%{_bindir}/vobject
988bf4b
%{_bindir}/generate_vcards
988bf4b
%endif
988bf4b
988bf4b
%changelog
9c39d17
* Mon Oct 10 2022 Remi Collet <remi@remirepo.net> - 4.5.1-1
9c39d17
- update to 4.5.1
9c39d17
27f89de
* Thu Aug 18 2022 Remi Collet <remi@remirepo.net> - 4.5.0-1
27f89de
- update to 4.5.0
27f89de
9da3dfd
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.3-2
9da3dfd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
9da3dfd
924bb48
* Mon Jul 18 2022 Remi Collet <remi@remirepo.net> - 4.4.3-1
924bb48
- update to 4.4.3
924bb48
9b772dd
* Fri Jun 24 2022 Remi Collet <remi@remirepo.net> - 4.4.2-1
9b772dd
- update to 4.4.2
9b772dd
98e60db
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.1-2
98e60db
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
98e60db
ea8e7ae
* Tue Dec  7 2021 Remi Collet <remi@remirepo.net> - 4.4.1-1
ea8e7ae
- update to 4.4.1
ea8e7ae
746fe64
* Tue Nov 16 2021 Remi Collet <remi@remirepo.net> - 4.4.0-1
746fe64
- update to 4.4.0
746fe64
4a158da
* Mon Nov 15 2021 Remi Collet <remi@remirepo.net> - 4.3.8-1
4a158da
- update to 4.3.8
4a158da
134ec38
* Thu Nov  4 2021 Remi Collet <remi@remirepo.net> - 4.3.7-1
134ec38
- update to 4.3.7
134ec38
146b583
* Mon Jul 26 2021 Remi Collet <remi@remirepo.net> - 4.3.5-3
146b583
- ignore 1 more test failing on 32-bit
146b583
f6b0db9
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.5-2
f6b0db9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
f6b0db9
7725439
* Mon Feb 15 2021 Remi Collet <remi@remirepo.net> - 4.3.5-1
7725439
- update to 4.3.5
7725439
effbc4b
* Thu Feb  4 2021 Remi Collet <remi@remirepo.net> - 4.3.4-1
effbc4b
- update to 4.3.4
effbc4b
- sources from git snapshot
effbc4b
3232bb0
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.3-2
3232bb0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
3232bb0
b4c3d76
* Mon Nov  9 2020 Remi Collet <remi@remirepo.net> - 4.3.3-1
b4c3d76
- update to 4.3.3
b4c3d76
b352109
* Mon Oct  5 2020 Remi Collet <remi@remirepo.net> - 4.3.2-1
b352109
- update to 4.3.2
b352109
4361181
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.1-2
4361181
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
4361181
781966c
* Mon Jul 13 2020 Remi Collet <remi@remirepo.net> - 4.3.1-1
781966c
- update to 4.3.1
781966c
381f1c7
* Sat Feb  1 2020 Remi Collet <remi@remirepo.net> - 4.3.0-1
381f1c7
- update to 4.3.0
381f1c7
- raise dependency on PHP 7.1
381f1c7
- raise dependency on sabre/xml 2.1
381f1c7
- switch to phpunit8
381f1c7
dd95be0
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.2-2
dd95be0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
dd95be0
b2bf577
* Tue Jan 14 2020 Remi Collet <remi@remirepo.net> - 4.2.2-1
b2bf577
- update to 4.2.2
b2bf577
1f8c518
* Thu Dec 19 2019 Remi Collet <remi@remirepo.net> - 4.2.1-1
1f8c518
- update to 4.2.1
1f8c518
- drop patch merged upstream
b3c6d41
- skip 1 test failing on 32-bit
b3c6d41
  https://github.com/sabre-io/vobject/issues/481
1f8c518
b3c6d41
* Wed Oct  9 2019 Remi Collet <remi@remirepo.net> - 4.2.0-4
9d72914
- add patch for PHP 7.4 from
9d72914
  https://github.com/sabre-io/vobject/pull/469
9d72914
2c04921
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.0-3
2c04921
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2c04921
8aef5ab
* Mon Jul  1 2019 Remi Collet <remi@remirepo.net> - 4.2.0-2
8aef5ab
- fix autoloader for sabre/xml version 2
8aef5ab
b6eac28
* Wed Feb 20 2019 Remi Collet <remi@remirepo.net> - 4.2.0-1
b6eac28
- update to 4.2.0
b6eac28
3119397
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-4
3119397
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
3119397
2ae21c4
* Mon Oct 15 2018 Remi Collet <remi@remirepo.net> - 4.1.6-3
2ae21c4
- add upstream patch for PHP 7.3
2ae21c4
61f4eac
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-2
61f4eac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
61f4eac
2a6b431
* Fri Apr 20 2018 Remi Collet <remi@remirepo.net> - 4.1.6-1
2a6b431
- update to 4.1.6
2a6b431
- undefine __brp_mangle_shebangs
2a6b431
ed24b46
* Fri Mar  9 2018 Remi Collet <remi@remirepo.net> - 4.1.5-1
ed24b46
- update to 4.1.5
ed24b46
- use range dependencies on F27+
ed24b46
99312e4
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-2
99312e4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
99312e4
fedb856
* Sat Dec 23 2017 Remi Collet <remi@remirepo.net> - 4.1.4-1
fedb856
- Update to 4.1.4
fedb856
9c5b9af
* Mon Oct 30 2017 Remi Collet <remi@remirepo.net> - 4.1.3-2
9c5b9af
- fix FTBFS fro mKoschei, add patch for test from
9c5b9af
  https://github.com/sabre-io/vobject/pull/395
9c5b9af
098df77
* Thu Oct 19 2017 Remi Collet <remi@remirepo.net> - 4.1.3-1
098df77
- Update to 4.1.3
098df77
- sources from https://github.com/sabre-io/vobject
098df77
b319082
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-2
b319082
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
b319082
988bf4b
* Tue Jan 17 2017 Remi Collet <remi@fedoraproject.org> - 4.1.2-1
988bf4b
- rename to php-sabre-vobject4
988bf4b
- raise dependency on PHP version 5.5
988bf4b
- add dependency on sabre/xml
988bf4b
988bf4b
* Sat Oct 29 2016 Remi Collet <remi@fedoraproject.org> - 3.5.3-3
988bf4b
- switch from symfony/class-loader to fedora/autoloader
988bf4b
988bf4b
* Fri Oct  7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.3-1
988bf4b
- update to 3.5.3
988bf4b
988bf4b
* Tue Apr 26 2016 Remi Collet <remi@fedoraproject.org> - 3.5.2-1
988bf4b
- update to 3.5.2
988bf4b
988bf4b
* Thu Apr  7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.1-1
988bf4b
- update to 3.5.1
988bf4b
988bf4b
* Fri Mar 11 2016 Remi Collet <remi@fedoraproject.org> - 3.5.0-1
988bf4b
- update to 3.5.0
988bf4b
988bf4b
* Wed Feb 24 2016 Remi Collet <remi@fedoraproject.org> - 3.4.6-1
988bf4b
- update to 3.4.6
988bf4b
988bf4b
* Wed Jul 16 2014 Remi Collet <remi@fedoraproject.org> - 3.2.4-1
988bf4b
- update to 3.2.4
988bf4b
988bf4b
* Wed Jun 18 2014 Remi Collet <remi@fedoraproject.org> - 3.2.3-1
988bf4b
- update to 3.2.3
988bf4b
- add provides php-composer(sabre/vobject)
988bf4b
- url is now http://sabre.io/vobject/
988bf4b
988bf4b
* Fri May  9 2014 Remi Collet <remi@fedoraproject.org> - 3.2.2-1
988bf4b
- update to 3.2.2
988bf4b
988bf4b
* Tue May  6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.1-1
988bf4b
- update to 3.2.1
988bf4b
988bf4b
* Sun Apr  6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.0-1
988bf4b
- update to 3.2.0
988bf4b
988bf4b
* Thu Feb 20 2014 Remi Collet <remi@fedoraproject.org> - 3.1.3-1
988bf4b
- update to 3.1.3
988bf4b
988bf4b
* Tue Dec 31 2013 Remi Collet <remi@fedoraproject.org> - 2.1.3-1
988bf4b
- Initial packaging