File php-sabre-dav.spec of Package php-sabre-dav

# Spec file for php-sabre-dav
#
# Copyright (c) 2013-2014 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/3.0/
#
# Please, preserve the changelog entries
#
#%%global gh_commit    6a8aec204688d36681e0185fbaf1974b97e4a070
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner     fruux
%global gh_project   sabre-dav
%global with_tests   %{?_without_tests:0}%{!?_without_tests:1}

Name:           php-%{gh_project}
Summary:        WebDAV Framework for PHP
Version:        2.1.11
Release:        1%{?dist}

URL:            https://github.com/%{gh_owner}/%{gh_project}
Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}.tar.gz
Source1:        autoload.php
License:        BSD
Group:          Development/Libraries

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:      noarch
%if %{with_tests}
%if 0%{?suse_version}
BuildRequires:  php5 >= 5.4
%else
BuildRequires:  php(language) >= 5.4
%endif
BuildRequires:  php-phpunit-PHPUnit
BuildRequires:  php-sabre-http >= 2.0.4
BuildRequires:  php-sabre-vobject >= 3.3.4
BuildRequires:  php-sabre-vobject < 4
BuildRequires:  php-pdo
%endif

# From composer.json
%if 0%{?suse_version}
Requires:       php5 >= 5.4
%else
Requires:       php(language) >= 5.4
%endif
Requires:       php-ctype
Requires:       php-date
Requires:       php-dom
Requires:       php-iconv
Requires:       php-libxml
Requires:       php-mbstring
Requires:       php-pcre
Requires:       php-simplexml
Requires:       php-spl
Requires:       php-sabre-http >= 2.0.4
Requires:       php-sabre-vobject >= 3.3.4
Requires:       php-sabre-vobject < 4
# From phpcompatinfo report for version 1.8.7
Requires:       php-curl
Requires:       php-pdo
Requires:       php-xml


%description
What is SabreDAV

SabreDAV allows you to easily add WebDAV support to a PHP application.
SabreDAV is meant to cover the entire standard, and attempts to allow
integration using an easy to understand API.

Feature list:
* Fully WebDAV compliant
* Supports Windows XP, Windows Vista, Mac OS/X, DavFSv2, Cadaver, Netdrive,
  Open Office, and probably more.
* Passing all Litmus tests.
* Supporting class 1, 2 and 3 Webdav servers.
* Locking support.
* Custom property support.
* CalDAV (tested with Evolution, iCal, iPhone and Lightning).
* CardDAV (tested with OS/X addressbook, the iOS addressbook and Evolution).
* Over 97% unittest code coverage.


%prep
%setup -q -n %{gh_project}-%{?gh_commit:%{gh_commit}}%{!?gh_commit:%{version}}

: Create trivial PSR0 autoloader for tests
cat <<EOF | tee psr0.php
<?php
define('SABRE_HASSQLITE', 1);
define('SABRE_HASMYSQL', 0);
define("SABRE_TEMPDIR", __DIR__ . '/temp/');

spl_autoload_register(function (\$class) {
    \$file = str_replace('\\\\', '/', \$class).'.php';
    @include \$file;
});
EOF

# drop executable as only provided as doc
chmod -x bin/*


%build
# nothing to build


%install
# Install as a PSR-0 library
mkdir -p %{buildroot}%{_datadir}/php/Sabre
cp -pr lib/* %{buildroot}%{_datadir}/php/Sabre/.
install -pm 644 %{SOURCE1} %{buildroot}%{_datadir}/php/Sabre/autoload.php


%check
: Check that our autoloader is working
php -d include_path=%{buildroot}%{_datadir}/php \
    -r 'include "Sabre/autoload.php"; echo Sabre\DAV\Version::VERSION."\n";' \
    | grep %{version}

%if %{with_tests}
: Run upstream test suite against installed library
mkdir temp
cd tests
# Skip tests with variable result because environment (GMT vs UTC)
sed -e 's/function testCompTimeRange/function SKIP_testCompTimeRange/' \
    -e 's/function testComplex/function SKIP_testComplex/' \
    -i Sabre/CalDAV/CalendarQueryParserTest.php

phpunit \
  --debug \
  --bootstrap=../psr0.php \
  --include-path=%{buildroot}%{_datadir}/php \
  -d date.timezone=GMT || :
echo $?
%else
: Skip upstream test suite
%endif


%files
%defattr(-,root,root,-)
%doc composer.json LICENSE README.md
%doc examples bin
%{_datadir}/php/Sabre


%changelog
* Sat Dec 03 2016 Daniel Hoffend <dh@dotlan.net> - 2.1.11-1
- Forward to upstream version 2.1.11

* Wed Apr 29 2015 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.1.3-1
- Forward to upstream version 2.1.3

* Fri Mar 06 2015 Adam Williamson <awilliam@redhat.com> - 1.8.12-1
- update to 1.8.12 (bugfix release, no bc breaks)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May 22 2014 Remi Collet <remi@fedoraproject.org> - 1.8.10-1
- update to 1.8.10

* Sun Mar  2 2014 Remi Collet <remi@fedoraproject.org> - 1.8.9-1
- update to 1.8.9

* Thu Feb 20 2014 Remi Collet <remi@fedoraproject.org> - 1.8.8-2
- drop max version for VObject

* Tue Feb 11 2014 Remi Collet <remi@fedoraproject.org> - 1.8.8-1
- update to 1.8.8

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