diff options
| -rw-r--r-- | php-sabre-dav-autoload-dev.patch | 29 | ||||
| -rw-r--r-- | php-sabre-dav-autoload-dev.php | 29 | ||||
| -rw-r--r-- | php-sabre-dav-dev.spec | 201 | 
3 files changed, 259 insertions, 0 deletions
diff --git a/php-sabre-dav-autoload-dev.patch b/php-sabre-dav-autoload-dev.patch new file mode 100644 index 0000000..76e947b --- /dev/null +++ b/php-sabre-dav-autoload-dev.patch @@ -0,0 +1,29 @@ +diff -up tests/bootstrap.php.rpm tests/bootstrap.php +--- tests/bootstrap.php.rpm	2015-07-20 16:23:38.849592222 +0200 ++++ tests/bootstrap.php	2015-07-20 16:23:46.101628015 +0200 +@@ -1,21 +1,17 @@ + <?php +  +-set_include_path(__DIR__ . '/../lib/' . PATH_SEPARATOR . __DIR__ . PATH_SEPARATOR . get_include_path()); +- +-$autoLoader = include __DIR__ . '/../vendor/autoload.php'; ++require '@BUILDROOT@/usr/share/php/Sabre/DAV/autoload.php'; +  + // SabreDAV tests auto loading +-$autoLoader->add('Sabre\\', __DIR__); +-// VObject tests auto loadiong +-$autoLoader->addPsr4('Sabre\\VObject\\',__DIR__ . '/../vendor/sabre/vobject/tests/VObject'); ++$fedoraClassLoader->addPrefix('Sabre\\', __DIR__); +  +  + date_default_timezone_set('UTC'); +  + $config = [ +     'SABRE_TEMPDIR'   => dirname(__FILE__) . '/temp/', +-    'SABRE_HASSQLITE' => in_array('sqlite',PDO::getAvailableDrivers()), +-    'SABRE_HASMYSQL'  => in_array('mysql',PDO::getAvailableDrivers()), ++    'SABRE_HASSQLITE' => 1, ++    'SABRE_HASMYSQL'  => 0, +     'SABRE_MYSQLDSN'  => 'mysql:host=127.0.0.1;dbname=sabredav', +     'SABRE_MYSQLUSER' => 'root', +     'SABRE_MYSQLPASS' => '', diff --git a/php-sabre-dav-autoload-dev.php b/php-sabre-dav-autoload-dev.php new file mode 100644 index 0000000..938d523 --- /dev/null +++ b/php-sabre-dav-autoload-dev.php @@ -0,0 +1,29 @@ +<?php +/** + * Autoloader for sabre/dav and its dependencies + */ + +$vendorDir = '/usr/share/php'; + +// Use Symfony autoloader +if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) { +    if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) { +        require_once $vendorDir . '/Symfony/Component/ClassLoader/ClassLoader.php'; +    } + +    $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader(); +    $fedoraClassLoader->register(); +} + +$thisdir = dirname(dirname(__DIR__)); +$fedoraClassLoader->addPrefixes(array( +  'Sabre\\DAV\\'     => $thisdir, +  'Sabre\\DAVACL\\'  => $thisdir, +  'Sabre\\CalDAV\\'  => $thisdir, +  'Sabre\\CardDAV\\' => $thisdir, +)); + +// dependencies +require_once $vendorDir . '/Sabre/Event/autoload.php'; +require_once $vendorDir . '/Sabre/HTTP/autoload.php'; +require_once $vendorDir . '/Sabre/VObject/autoload.php'; diff --git a/php-sabre-dav-dev.spec b/php-sabre-dav-dev.spec new file mode 100644 index 0000000..a1fddfd --- /dev/null +++ b/php-sabre-dav-dev.spec @@ -0,0 +1,201 @@ +# remirepo/fedora spec file for php-sabre-dav +# +# Copyright (c) 2013-2016 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit    9f8c1939a3f66eb7170489fc48579ffd1461af62 +%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.10 +Release:        1%{?dist} + +URL:            https://github.com/%{gh_owner}/%{gh_project} +License:        BSD +Group:          Development/Libraries +Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz +Source1:        %{name}-autoload.php + +# replace composer autoloader +Patch0:         %{name}-autoload.patch + +BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch:      noarch +%if %{with_tests} +BuildRequires:  php(language) >= 5.4.1 +BuildRequires:  php-composer(phpunit/phpunit) +BuildRequires:  php-composer(sabre/vobject) >= 3.3.4 +BuildRequires:  php-composer(sabre/event)   >= 2.0.0 +BuildRequires:  php-composer(sabre/http)    >= 3.0.0 +BuildRequires:  php-dom +BuildRequires:  php-pcre +BuildRequires:  php-spl +BuildRequires:  php-simplexml +BuildRequires:  php-mbstring +BuildRequires:  php-ctype +BuildRequires:  php-date +BuildRequires:  php-iconv +BuildRequires:  php-libxml +BuildRequires:  php-curl +BuildRequires:  php-pdo +# Autoloader +BuildRequires:  php-composer(symfony/class-loader) +BuildRequires:  php-pdo_sqlite +%endif + +# From composer.json,    "require": { +#        "php": ">=5.4.1", +#        "sabre/vobject": "^3.3.4", +#        "sabre/event" : "^2.0.0", +#        "sabre/http" : "^3.0.0", +#        "ext-dom": "*", +#        "ext-pcre": "*", +#        "ext-spl": "*", +#        "ext-simplexml": "*", +#        "ext-mbstring" : "*", +#        "ext-ctype" : "*", +#        "ext-date" : "*", +#        "ext-iconv" : "*", +#        "ext-libxml" : "*" +Requires:       php(language) >= 5.4.1 +Requires:       php-composer(sabre/vobject) >= 3.3.4 +Requires:       php-composer(sabre/vobject) <  4 +Requires:       php-composer(sabre/event)   >= 2.0.0 +Requires:       php-composer(sabre/event)   <  2.1 +Requires:       php-composer(sabre/http)    >= 3.0.0 +Requires:       php-composer(sabre/http)    <  3.1 +Requires:       php-dom +Requires:       php-pcre +Requires:       php-spl +Requires:       php-simplexml +Requires:       php-mbstring +Requires:       php-ctype +Requires:       php-date +Requires:       php-iconv +Requires:       php-libxml +# From composer.json, "suggest" : { +#        "ext-curl" : "*", +#        "ext-pdo" : "*" +Requires:       php-curl +Requires:       php-pdo +# Autoloader +Requires:       php-composer(symfony/class-loader) + +Provides:       php-composer(sabre/dav) = %{version} + + +%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 +cp %{SOURCE1} lib/DAV/autoload.php + +# 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 %{buildroot}%{_datadir}/php/Sabre + + + +%check +%if %{with_tests} +%if 0%{?rhel} == 5 +sed -e 's/testMove/SKIP_testMove/' \ +    -i tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php +sed -e 's/testCalendarQueryReportWindowsPhone/SKIP_testCalendarQueryReportWindowsPhone/' \ +    -i tests/Sabre/CalDAV/PluginTest.php +%endif + +: Fix bootstrap +cd tests +sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php + +: Run upstream test suite against installed library +%{_bindir}/phpunit --verbose + +if which php70; then +   php70 %{_bindir}/phpunit --verbose || : ignore test results +fi +%else +: Skip upstream test suite +%endif + + +%files +%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc *md +%doc composer.json +%doc examples bin +%{_datadir}/php/Sabre/DAV +%{_datadir}/php/Sabre/DAVACL +%{_datadir}/php/Sabre/CalDAV +%{_datadir}/php/Sabre/CardDAV + + +%changelog +* Tue Mar 22 2016 Remi Collet <remi@fedoraproject.org> - 2.1.10-1 +- update to 2.1.10 + +* Mon Mar 21 2016 Remi Collet <remi@fedoraproject.org> - 2.1.6-2 +- provide missing php-composer(sabre/dav) + +* Wed Feb 24 2016 James Hogarth <james.hogarth@gmail.com> - 2.1.6-1 +- update to 2.1.6 + +* Wed Feb 24 2016 Remi Collet <remi@fedoraproject.org> - 2.1.5-1 +- update to 2.1.5 + +* Fri Mar 06 2015 Adam Williamson <awilliam@redhat.com> - 1.8.12-1 +- update to 1.8.12 (bugfix release, no bc breaks) + +* 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  | 
