# remirepo/fedora spec file for php-sabre-dav4 # # Copyright (c) 2013-2019 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # Github %global gh_commit a4959bf2b9b175aef6fd91c9006b1ca7a56f9bb0 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner sabre-io %global gh_project dav # Packagist %global pk_vendor sabre %global pk_project %{gh_project} # Namespace %global ns_vendor Sabre %global ns_project DAV %global major 4 %global with_tests 0%{!?_without_tests:1} Name: php-%{pk_vendor}-%{pk_project}%{major} Summary: WebDAV Framework for PHP Version: 4.0.0 Release: 1%{?dist} URL: https://github.com/%{gh_owner}/%{gh_project} License: BSD Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz # replace composer autoloader Patch0: %{name}-autoload.patch BuildArch: noarch %if %{with_tests} BuildRequires: php(language) >= 7.0 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(sabre/vobject) >= 4.2 with php-composer(sabre/vobject) < 5) BuildRequires: (php-composer(sabre/event) >= 5.0 with php-composer(sabre/event) < 6) BuildRequires: (php-composer(sabre/xml) >= 2.0.1 with php-composer(sabre/xml) < 3) BuildRequires: (php-composer(sabre/http) >= 5.0 with php-composer(sabre/http) < 6) BuildRequires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) BuildRequires: (php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2) BuildRequires: (php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2) BuildRequires: (php-composer(monolog/monolog) >= 1.18 with php-composer(monolog/monolog) < 2) # remirepo:9 %else BuildRequires: php-sabre-vobject4 >= 4.2 BuildRequires: php-sabre-event5 >= 5.0 BuildRequires: php-sabre-xml2 >= 2.0.1 BuildRequires: php-sabre-http5 >= 5.0 BuildRequires: php-sabre-uri2 >= 2.0 BuildRequires: php-PsrLog >= 1.0.1 BuildRequires: php-Monolog >= 1.18 %endif 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 BuildRequires: php-json # From composer.json, "require-dev" : { # "phpunit/phpunit" : "^6", # "evert/phpdoc-md" : "~0.1.0", # "squizlabs/php_codesniffer": "~1.5.3" # "monolog/monolog": "^1.18" BuildRequires: phpunit6 %endif # Autoloader BuildRequires: php-fedora-autoloader-devel BuildRequires: php-pdo_sqlite # From composer.json, "require": { # "php": ">=7.0.0", # "sabre/vobject": "^4.2.0-alpha1", # "sabre/event" : "^5.0", # "sabre/xml" : "^2.0.1", # "sabre/http" : "^5.0", # "sabre/uri" : "^2.0", # "ext-dom": "*", # "ext-pcre": "*", # "ext-spl": "*", # "ext-simplexml": "*", # "ext-mbstring" : "*", # "ext-ctype" : "*", # "ext-date" : "*", # "ext-iconv" : "*", # "lib-libxml" : ">=2.7.0", # "psr/log": "^1.0", # "ext-json": "*" Requires: php(language) >= 7.0 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(sabre/vobject) >= 4.2 with php-composer(sabre/vobject) < 5) Requires: (php-composer(sabre/event) >= 5.0 with php-composer(sabre/event) < 6) Requires: (php-composer(sabre/xml) >= 2.0.1 with php-composer(sabre/xml) < 3) Requires: (php-composer(sabre/http) >= 5.0.0 with php-composer(sabre/http) < 6) Requires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) Requires: (php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2) # remirepo:8 %else Requires: php-sabre-vobject4 >= 4.2 Requires: php-sabre-event5 >= 5.0 Requires: php-sabre-xml2 >= 2.0.1 Requires: php-sabre-http5 >= 5.0 Requires: php-sabre-uri2 >= 2.0 Requires: php-PsrLog >= 1.0.1 %endif 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 Requires: php-json # From composer.json, "suggest" : { # "ext-curl" : "*", # "ext-pdo" : "*", # "ext-imap": "*" %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 Recommends: php-curl Recommends: php-pdo Recommends: php-imap %endif # Autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{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. Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm : relocate for dir in CalDAV CardDAV DAV DAVACL; do mv lib/${dir} lib/${dir}%{major} done : autoloader phpab -t fedora -o lib/%{ns_project}%{major}/autoload.php lib cat << 'EOF' | tee -a lib/%{ns_project}%{major}/autoload.php // Dependencies \Fedora\Autoloader\Dependencies::required([ '%{_datadir}/php/%{ns_vendor}/Event5/autoload.php', '%{_datadir}/php/%{ns_vendor}/Xml2/autoload.php', '%{_datadir}/php/%{ns_vendor}/Uri2/autoload.php', '%{_datadir}/php/%{ns_vendor}/HTTP5/autoload.php', '%{_datadir}/php/%{ns_vendor}/VObject4/autoload.php', '%{_datadir}/php/Psr/Log/autoload.php', ]); 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 %{buildroot}%{_datadir}/php/%{ns_vendor} %check %if %{with_tests} : Fix bootstrap cd tests sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php # TODO testDeliverInsignificantRequest fails locally, not in mock : Run upstream test suite against installed library ret=0 for cmd in php php71 php72 php73 php74; do if which $cmd; then $cmd %{_bindir}/phpunit6 \ --filter '^((?!(testDeliverInsignificantRequest)).)*$' \ || ret=1 fi done exit $ret %else : Skip upstream test suite %endif %files # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc *md %doc composer.json %doc examples bin %{_datadir}/php/%{ns_vendor}/DAV%{major} %{_datadir}/php/%{ns_vendor}/DAVACL%{major} %{_datadir}/php/%{ns_vendor}/CalDAV%{major} %{_datadir}/php/%{ns_vendor}/CardDAV%{major} %changelog * Fri Jul 5 2019 Remi Collet - 4.0.0-1 - update to 4.0.0 - rename to php-sabre-dav4 - move to /usr/share/php/Sabre/DAV4 - raise dependency on PHP 7 - raise dependency on sabre/vobject 4.2.0 - raise dependency on sabre/event 5.0 - raise dependency on sabre/xml 2.0.1 - raise dependency on sabre/http 5.0 - raise dependency on sabre/uri 2.0 - switch to classmap autoloader * Mon Jul 1 2019 Remi Collet - 3.2.3-3 - change autoloader order to ensure same versions are used * Wed Jan 9 2019 Remi Collet - 3.2.3-1 - update to 3.2.3 * Mon Oct 15 2018 Remi Collet - 3.2.2-7 - add upstream patch for PHP 7.3 * Tue Jun 5 2018 Remi Collet - 3.2.2-5 - use range dependencies on F27+ - ignore 1 test failing with sabre/http 4.2.4 - fix project URL * Fri Oct 6 2017 Remi Collet - 3.2.2-3 - add patch for PHP 7.2 from https://github.com/fruux/sabre-dav/pull/1006 * Wed Feb 15 2017 Remi Collet - 3.2.2-1 - update to 3.2.2 * Sun Jan 29 2017 Remi Collet - 3.2.1-1 - update to 3.2.1 * Tue Jan 17 2017 Remi Collet - 3.2.0-1 - update to 3.2.0 - raise dependency on PHP version 5.5 - raise dependency on sabre/vobject version 4.1 - raise dependency on sabre/xml version 1.4 - raise dependency on sabre/http version 4.2.1 - raise dependency on sabre/uri version 1.0.1 - add dependency on psr/log * Wed Nov 23 2016 Remi Collet - 3.0.9-3 - add upstream patch to fix FTBFS with php 7.1 * Sat Oct 29 2016 Remi Collet - 3.0.9-2 - switch from symfony/class-loader to fedora/autoloader * Thu Apr 7 2016 Remi Collet - 3.0.9-1 - update to 3.0.9 - add dependency on sabre/xml - add dependency on sabre/uri - raise dependency on sabre/http >= 4 * Tue Mar 22 2016 Remi Collet - 2.1.10-1 - update to 2.1.10 * Mon Mar 21 2016 Remi Collet - 2.1.6-2 - provide missing php-composer(sabre/dav) * Wed Feb 24 2016 James Hogarth - 2.1.6-1 - update to 2.1.6 * Wed Feb 24 2016 Remi Collet - 2.1.5-1 - update to 2.1.5 * Fri Mar 06 2015 Adam Williamson - 1.8.12-1 - update to 1.8.12 (bugfix release, no bc breaks) * Thu May 22 2014 Remi Collet - 1.8.10-1 - update to 1.8.10 * Sun Mar 2 2014 Remi Collet - 1.8.9-1 - update to 1.8.9 * Thu Feb 20 2014 Remi Collet - 1.8.8-2 - drop max version for VObject * Tue Feb 11 2014 Remi Collet - 1.8.8-1 - update to 1.8.8 * Tue Dec 31 2013 Remi Collet - 1.8.7-1 - Initial packaging