summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--php-sabre-dav.spec137
-rw-r--r--sabre-dav-autoload.patch20
3 files changed, 161 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/php-sabre-dav.spec b/php-sabre-dav.spec
new file mode 100644
index 0000000..93721bc
--- /dev/null
+++ b/php-sabre-dav.spec
@@ -0,0 +1,137 @@
+# Spec file for php-sabre-dav
+#
+# Copyright (c) 2013 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/3.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit 41c750da3c60a427cdd847df090ef0fc7e8f1076
+%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.7
+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 Dec 31 2013 Remi Collet <remi@fedoraproject.org> - 1.8.7-1
+- Initial packaging \ No newline at end of file
diff --git a/sabre-dav-autoload.patch b/sabre-dav-autoload.patch
new file mode 100644
index 0000000..1aa22db
--- /dev/null
+++ b/sabre-dav-autoload.patch
@@ -0,0 +1,20 @@
+--- lib/Sabre/autoload.php.old 2013-12-31 17:54:12.000000000 +0100
++++ lib/Sabre/autoload.php 2013-12-31 17:58:28.000000000 +0100
+@@ -15,11 +15,9 @@
+ * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
+ */
+
+-/**
+- * We are assuming that the composer autoloader is just 2 directories up.
+- *
+- * This is not the case when sabredav is installed as a dependency. But, in
+- * those cases it's not expected that people will look for this file anyway.
+- */
+-
+-require __DIR__ . '/../../vendor/autoload.php';
++spl_autoload_register(function ($class) {
++ if (strpos($class,'Sabre\\')===0) {
++ $file = __DIR__ . str_replace('\\', '/', substr($class,5)).'.php';
++ @include $file;
++ }
++});