1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# 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 f8bad179521f434c60d836c8203f791b37a30657
%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: 1.8.8
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
License: BSD
Group: Development/Libraries
# replace composer autoloader with trivial PSR-0 one
Patch0: %{gh_project}-autoload.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
%if %{with_tests}
BuildRequires: php(language) >= 5.3.1
BuildRequires: php-pear(pear.phpunit.de/PHPUnit) > 3.7
BuildRequires: php-sabre-vobject > 2.1
Requires: php-pdo
%endif
# From composer.json
Requires: php(language) >= 5.3.1
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-vobject > 2.1
Requires: php-sabre-vobject < 2.2
# 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}
%patch0 -p0
: 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
cp -pr lib/Sabre %{buildroot}%{_datadir}/php/Sabre
%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
phpunit \
--bootstrap=../psr0.php \
--include-path=%{buildroot}%{_datadir}/php \
-d date.timezone=UTC
%else
: Skip upstream test suite
%endif
%files
%defattr(-,root,root,-)
%doc ChangeLog composer.json LICENSE README.md
%doc docs examples bin
%{_datadir}/php/Sabre
%changelog
* 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
|