summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--composer.json88
-rw-r--r--php-sabre-vobject4-autoload.php10
-rw-r--r--php-sabre-vobject4.spec200
-rw-r--r--sabre-vobject-bin.patch66
5 files changed, 368 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/composer.json b/composer.json
new file mode 100644
index 0000000..cfa4a71
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,88 @@
+{
+ "name": "sabre/vobject",
+ "description" : "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects",
+ "keywords" : [
+ "iCalendar",
+ "iCal",
+ "vCalendar",
+ "vCard",
+ "jCard",
+ "jCal",
+ "ics",
+ "vcf",
+ "xCard",
+ "xCal",
+ "freebusy",
+ "recurrence",
+ "availability",
+ "rfc2425",
+ "rfc2426",
+ "rfc2739",
+ "rfc4770",
+ "rfc5545",
+ "rfc5546",
+ "rfc6321",
+ "rfc6350",
+ "rfc6351",
+ "rfc6474",
+ "rfc6638",
+ "rfc6715",
+ "rfc6868"
+ ],
+ "homepage" : "http://sabre.io/vobject/",
+ "license" : "BSD-3-Clause",
+ "require" : {
+ "php" : ">=5.5",
+ "ext-mbstring" : "*",
+ "sabre/xml" : ">=1.5 <3.0"
+ },
+ "require-dev" : {
+ "phpunit/phpunit" : "*",
+ "sabre/cs" : "^1.0.0"
+
+ },
+ "suggest" : {
+ "hoa/bench" : "If you would like to run the benchmark scripts"
+ },
+ "authors" : [
+ {
+ "name" : "Evert Pot",
+ "email" : "me@evertpot.com",
+ "homepage" : "http://evertpot.com/",
+ "role" : "Developer"
+ },
+ {
+ "name" : "Dominik Tobschall",
+ "email" : "dominik@fruux.com",
+ "homepage" : "http://tobschall.de/",
+ "role" : "Developer"
+ },
+ {
+ "name" : "Ivan Enderlin",
+ "email" : "ivan.enderlin@hoa-project.net",
+ "homepage" : "http://mnt.io/",
+ "role" : "Developer"
+ }
+ ],
+ "support" : {
+ "forum" : "https://groups.google.com/group/sabredav-discuss",
+ "source" : "https://github.com/fruux/sabre-vobject"
+ },
+ "autoload" : {
+ "psr-4" : {
+ "Sabre\\VObject\\" : "lib/"
+ }
+ },
+ "bin" : [
+ "bin/vobject",
+ "bin/generate_vcards"
+ ],
+ "extra" : {
+ "branch-alias" : {
+ "dev-master" : "4.0.x-dev"
+ }
+ },
+ "config" : {
+ "bin-dir" : "bin"
+ }
+}
diff --git a/php-sabre-vobject4-autoload.php b/php-sabre-vobject4-autoload.php
new file mode 100644
index 0000000..427a243
--- /dev/null
+++ b/php-sabre-vobject4-autoload.php
@@ -0,0 +1,10 @@
+<?php
+/* Autoloader for sabre/vobject v4 and its dependencies */
+
+require_once '/usr/share/php/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Sabre\\VObject\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ '/usr/share/php/Sabre/Xml/autoload.php',
+]);
+
diff --git a/php-sabre-vobject4.spec b/php-sabre-vobject4.spec
new file mode 100644
index 0000000..0f69b3f
--- /dev/null
+++ b/php-sabre-vobject4.spec
@@ -0,0 +1,200 @@
+# remirepo/fedora spec file for php-sabre-vobject4
+#
+# Copyright (c) 2013-2017 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_owner fruux
+%global gh_project sabre-vobject
+%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+
+%if 0%{?fedora} > 25
+%global with_cmd 1
+%else
+%global with_cmd 0
+%endif
+
+Name: php-%{gh_project}4
+Summary: Library to parse and manipulate iCalendar and vCard objects
+Version: 4.1.2
+Release: 1%{?dist}
+
+URL: http://sabre.io/vobject/
+License: BSD
+Group: Development/Libraries
+Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz
+Source1: %{name}-autoload.php
+
+# replace composer autloader
+Patch0: %{gh_project}-bin.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
+%if %{with_tests}
+BuildRequires: php(language) >= 5.5
+BuildRequires: php-mbstring
+BuildRequires: php-composer(sabre/xml) < 3
+BuildRequires: php-composer(sabre/xml) >= 1.5
+BuildRequires: php-date
+BuildRequires: php-json
+BuildRequires: php-pcre
+BuildRequires: php-spl
+BuildRequires: php-xml
+# From composer.json, "require-dev"
+# "phpunit/phpunit" : "*",
+# "squizlabs/php_codesniffer": "*"
+# "sabre/cs" : "^1.0.0"
+BuildRequires: php-composer(phpunit/phpunit)
+# Autoloader
+BuildRequires: php-composer(fedora/autoloader)
+%endif
+
+# From composer.json, "require"
+# "php" : ">=5.5",
+# "ext-mbstring" : "*",
+# "sabre/xml" : ">=1.5 <3.0"
+Requires: php(language) >= 5.5
+Requires: php-mbstring
+Requires: php-composer(sabre/xml) >= 1.5
+Requires: php-composer(sabre/xml) < 3
+# From phpcompatinfo report for version 4.1.2
+%if %{with_cmd}
+Requires: php-cli
+%endif
+Requires: php-date
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
+Requires: php-xml
+# Autoloader
+Requires: php-composer(fedora/autoloader)
+
+Provides: php-composer(sabre/vobject) = %{version}
+
+
+%description
+The VObject library allows you to easily parse and manipulate iCalendar
+and vCard objects using PHP. The goal of the VObject library is to create
+a very complete library, with an easy to use API.
+
+This project is a spin-off from SabreDAV, where it has been used for several
+years. The VObject library has 100% unittest coverage.
+
+Autoloader: %{_datadir}/php/Sabre/VObject/autoload.php
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+
+%patch0 -p1 -b .rpm
+cp %{SOURCE1} lib/autoload.php
+
+
+%build
+# nothing to build
+
+
+%install
+# Install as a PSR-0 library
+mkdir -p %{buildroot}%{_datadir}/php/Sabre
+cp -pr lib %{buildroot}%{_datadir}/php/Sabre/VObject4
+
+%if %{with_cmd}
+# Install the commands
+install -Dpm 0755 bin/vobject \
+ %{buildroot}/%{_bindir}/vobject
+install -Dpm 0755 bin/generate_vcards \
+ %{buildroot}/%{_bindir}/generate_vcards
+%endif
+
+
+%check
+%if %{with_tests}
+: Fix bootstrap
+cd tests
+sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php
+
+: Run upstream test suite against installed library
+# remirepo:11
+run=0
+ret=0
+if which php56; then
+ php56 %{_bindir}/phpunit || ret=1
+ run=1
+fi
+if which php71; then
+ php71 %{_bindir}/phpunit || ret=1
+ run=1
+fi
+if [ $run -eq 0 ]; then
+%{_bindir}/phpunit --verbose
+# remirepo:2
+fi
+exit $ret
+%else
+: Skip upstream test suite
+%endif
+
+
+%files
+%defattr(-,root,root,-)
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc *md
+%doc composer.json
+%{_datadir}/php/Sabre/VObject4
+%if %{with_cmd}
+%{_bindir}/vobject
+%{_bindir}/generate_vcards
+%endif
+
+%changelog
+* Tue Jan 17 2017 Remi Collet <remi@fedoraproject.org> - 4.1.2-1
+- rename to php-sabre-vobject4
+- raise dependency on PHP version 5.5
+- add dependency on sabre/xml
+
+* Sat Oct 29 2016 Remi Collet <remi@fedoraproject.org> - 3.5.3-3
+- switch from symfony/class-loader to fedora/autoloader
+
+* Fri Oct 7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.3-1
+- update to 3.5.3
+
+* Tue Apr 26 2016 Remi Collet <remi@fedoraproject.org> - 3.5.2-1
+- update to 3.5.2
+
+* Thu Apr 7 2016 Remi Collet <remi@fedoraproject.org> - 3.5.1-1
+- update to 3.5.1
+
+* Fri Mar 11 2016 Remi Collet <remi@fedoraproject.org> - 3.5.0-1
+- update to 3.5.0
+
+* Wed Feb 24 2016 Remi Collet <remi@fedoraproject.org> - 3.4.6-1
+- update to 3.4.6
+
+* Wed Jul 16 2014 Remi Collet <remi@fedoraproject.org> - 3.2.4-1
+- update to 3.2.4
+
+* Wed Jun 18 2014 Remi Collet <remi@fedoraproject.org> - 3.2.3-1
+- update to 3.2.3
+- add provides php-composer(sabre/vobject)
+- url is now http://sabre.io/vobject/
+
+* Fri May 9 2014 Remi Collet <remi@fedoraproject.org> - 3.2.2-1
+- update to 3.2.2
+
+* Tue May 6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.1-1
+- update to 3.2.1
+
+* Sun Apr 6 2014 Remi Collet <remi@fedoraproject.org> - 3.2.0-1
+- update to 3.2.0
+
+* Thu Feb 20 2014 Remi Collet <remi@fedoraproject.org> - 3.1.3-1
+- update to 3.1.3
+
+* Tue Dec 31 2013 Remi Collet <remi@fedoraproject.org> - 2.1.3-1
+- Initial packaging
diff --git a/sabre-vobject-bin.patch b/sabre-vobject-bin.patch
new file mode 100644
index 0000000..79ed1a5
--- /dev/null
+++ b/sabre-vobject-bin.patch
@@ -0,0 +1,66 @@
+diff -up ./bin/generate_vcards.rpm ./bin/generate_vcards
+--- ./bin/generate_vcards.rpm 2017-01-17 14:09:13.368837753 +0100
++++ ./bin/generate_vcards 2017-01-17 14:12:49.417890498 +0100
+@@ -6,8 +6,7 @@ namespace Sabre\VObject;
+ // This sucks.. we have to try to find the composer autoloader. But chances
+ // are, we can't find it this way. So we'll do our bestest
+ $paths = [
+- __DIR__ . '/../vendor/autoload.php', // In case vobject is cloned directly
+- __DIR__ . '/../../../autoload.php', // In case vobject is a composer dependency.
++ '/usr/share/php/Sabre/VObject4/autoload.php', // RPM installation
+ ];
+
+ foreach($paths as $path) {
+@@ -18,7 +17,7 @@ foreach($paths as $path) {
+ }
+
+ if (!class_exists('Sabre\\VObject\\Version')) {
+- fwrite(STDERR, "Composer autoloader could not be properly loaded.\n");
++ fwrite(STDERR, "Autoloader could not be properly loaded.\n");
+ die(1);
+ }
+
+diff -up ./bin/vobject.rpm ./bin/vobject
+--- ./bin/vobject.rpm 2017-01-17 14:12:09.586696412 +0100
++++ ./bin/vobject 2017-01-17 14:12:40.301846078 +0100
+@@ -6,8 +6,7 @@ namespace Sabre\VObject;
+ // This sucks.. we have to try to find the composer autoloader. But chances
+ // are, we can't find it this way. So we'll do our bestest
+ $paths = [
+- __DIR__ . '/../vendor/autoload.php', // In case vobject is cloned directly
+- __DIR__ . '/../../../autoload.php', // In case vobject is a composer dependency.
++ '/usr/share/php/Sabre/VObject4/autoload.php', // RPM installation
+ ];
+
+ foreach($paths as $path) {
+@@ -18,7 +17,7 @@ foreach($paths as $path) {
+ }
+
+ if (!class_exists('Sabre\\VObject\\Version')) {
+- fwrite(STDERR, "Composer autoloader could not be loaded.\n");
++ fwrite(STDERR, "Autoloader could not be loaded.\n");
+ die(1);
+ }
+
+diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php
+--- ./tests/bootstrap.php.rpm 2016-12-06 05:14:09.000000000 +0100
++++ ./tests/bootstrap.php 2017-01-17 14:14:50.960482740 +0100
+@@ -3,8 +3,7 @@
+ date_default_timezone_set('UTC');
+
+ $try = [
+- __DIR__ . '/../vendor/autoload.php',
+- __DIR__ . '/../../../autoload.php',
++ '@BUILDROOT@/usr/share/php/Sabre/VObject4/autoload.php', // RPM installation
+ ];
+
+ foreach ($try as $path) {
+@@ -14,7 +13,7 @@ foreach ($try as $path) {
+ }
+ }
+
+-$autoLoader->addPsr4('Sabre\\VObject\\', __DIR__ . '/VObject');
++\Fedora\Autoloader\Autoload::addPsr4('Sabre\\VObject\\', __DIR__ . '/VObject');
+
+ if (!defined('SABRE_TEMPDIR')) {
+ define('SABRE_TEMPDIR', __DIR__ . '/temp/');