Blob Blame Raw
# remirepo/fedora spec file for php-sabre-vobject4
#
# Copyright (c) 2013-2019 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#

# For compatibility with SCL
%undefine __brp_mangle_shebangs

%global gh_commit    bd500019764e434ff65872d426f523e7882a0739
%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} >= 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.2.0
Release:        2%{?dist}

URL:            http://sabre.io/vobject/
License:        BSD
Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz
Source1:        %{name}-autoload.php

# replace composer autloader
Patch0:         %{name}-bin.patch

BuildArch:      noarch
%if %{with_tests}
BuildRequires:  php(language) >= 5.5
BuildRequires:  php-mbstring
BuildRequires:  (php-composer(sabre/xml)    >= 1.5  with php-composer(sabre/xml)     < 3)
BuildRequires:  php-date
BuildRequires:  php-json
BuildRequires:  php-pcre
BuildRequires:  php-spl
BuildRequires:  php-xml
# From composer.json, "require-dev"
#        "phpunit/phpunit" : "> 4.8.35, <6.0.0"
BuildRequires:  php-composer(phpunit/phpunit) > 4.8.35
# Autoloader
BuildRequires:  php-composer(fedora/autoloader)
%endif

# From composer.json, "require"
#        "php"          : ">=5.5",
#        "ext-mbstring" : "*",
#        "sabre/xml"    : ">=1.5 <3.0"
Requires:       php(language) >= 5.5
Requires:       php-mbstring
#
Requires:       (php-composer(sabre/xml)    >= 1.5  with php-composer(sabre/xml)     < 3)
# 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

cp %{SOURCE1} lib/autoload.php


%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
%if %{with_tests}
: Fix bootstrap
cd tests
sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php

: Run upstream test suite against installed library
ret=0
for cmd in php php71 php72 php73 php74; do
  if which $cmd; then
   $cmd %{_bindir}/phpunit --verbose || ret=1
  fi
done
exit $ret
%else
: Skip upstream test suite
%endif


%files
%{!?_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
* Mon Jul  1 2019 Remi Collet <remi@remirepo.net> - 4.2.0-2
- fix autoloader for sabre/xml version 2

* Wed Feb 20 2019 Remi Collet <remi@remirepo.net> - 4.2.0-1
- update to 4.2.0

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Mon Oct 15 2018 Remi Collet <remi@remirepo.net> - 4.1.6-3
- add upstream patch for PHP 7.3

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Apr 20 2018 Remi Collet <remi@remirepo.net> - 4.1.6-1
- update to 4.1.6
- undefine __brp_mangle_shebangs

* Fri Mar  9 2018 Remi Collet <remi@remirepo.net> - 4.1.5-1
- update to 4.1.5
- use range dependencies on F27+

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sat Dec 23 2017 Remi Collet <remi@remirepo.net> - 4.1.4-1
- Update to 4.1.4

* Mon Oct 30 2017 Remi Collet <remi@remirepo.net> - 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 <remi@remirepo.net> - 4.1.3-1
- Update to 4.1.3
- sources from https://github.com/sabre-io/vobject

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Tue Jan 17 2017 Remi Collet <remi@fedoraproject.org> - 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 <remi@fedoraproject.org> - 3.5.3-3
- switch from symfony/class-loader to fedora/autoloader

* Fri Oct  7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.3-1
- update to 3.5.3

* Tue Apr 26 2016 Remi Collet <remi@fedoraproject.org> - 3.5.2-1
- update to 3.5.2

* Thu Apr  7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.1-1
- update to 3.5.1

* Fri Mar 11 2016 Remi Collet <remi@fedoraproject.org> - 3.5.0-1
- update to 3.5.0

* Wed Feb 24 2016 Remi Collet <remi@fedoraproject.org> - 3.4.6-1
- update to 3.4.6

* Wed Jul 16 2014 Remi Collet <remi@fedoraproject.org> - 3.2.4-1
- update to 3.2.4

* Wed Jun 18 2014 Remi Collet <remi@fedoraproject.org> - 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 <remi@fedoraproject.org> - 3.2.2-1
- update to 3.2.2

* Tue May  6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.1-1
- update to 3.2.1

* Sun Apr  6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.0-1
- update to 3.2.0

* Thu Feb 20 2014 Remi Collet <remi@fedoraproject.org> - 3.1.3-1
- update to 3.1.3

* Tue Dec 31 2013 Remi Collet <remi@fedoraproject.org> - 2.1.3-1
- Initial packaging