From 988bf4bcc0a66f203d058c68cdf1596b65403ad9 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Feb 21 2017 14:01:58 +0000 Subject: import from review #1413978 --- diff --git a/.gitignore b/.gitignore index e69de29..6498780 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +clog +/php-sabre-vobject4-4.1.2-d0fde2f.tar.gz 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 @@ + 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 + +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/VObject4/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 +%{_bindir}/phpunit --verbose +%else +: Skip upstream test suite +%endif + + +%files +%{!?_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 - 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 - 3.5.3-3 +- switch from symfony/class-loader to fedora/autoloader + +* Fri Oct 7 2016 Remi Collet - 3.5.3-1 +- update to 3.5.3 + +* Tue Apr 26 2016 Remi Collet - 3.5.2-1 +- update to 3.5.2 + +* Thu Apr 7 2016 Remi Collet - 3.5.1-1 +- update to 3.5.1 + +* Fri Mar 11 2016 Remi Collet - 3.5.0-1 +- update to 3.5.0 + +* Wed Feb 24 2016 Remi Collet - 3.4.6-1 +- update to 3.4.6 + +* Wed Jul 16 2014 Remi Collet - 3.2.4-1 +- update to 3.2.4 + +* Wed Jun 18 2014 Remi Collet - 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 - 3.2.2-1 +- update to 3.2.2 + +* Tue May 6 2014 Remi Collet - 3.2.1-1 +- update to 3.2.1 + +* Sun Apr 6 2014 Remi Collet - 3.2.0-1 +- update to 3.2.0 + +* Thu Feb 20 2014 Remi Collet - 3.1.3-1 +- update to 3.1.3 + +* Tue Dec 31 2013 Remi Collet - 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/'); diff --git a/sources b/sources index e69de29..072dba5 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (php-sabre-vobject4-4.1.2-d0fde2f.tar.gz) = 55c3b3845967d03003942a81cb3cafa65bedff5bba1a6eb3148de75ddeef99488fe3ca2a176879599addfcbe08cd13e54c221d49720a456e008334e541008954