diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | php-diff-example.patch | 50 | ||||
-rw-r--r-- | php-phpspec-php-diff.spec | 92 |
3 files changed, 146 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-diff-example.patch b/php-diff-example.patch new file mode 100644 index 0000000..8f2d906 --- /dev/null +++ b/php-diff-example.patch @@ -0,0 +1,50 @@ +diff -up example/example.php.old example/example.php +--- example/example.php.old 2015-02-17 13:26:45.000000000 +0100 ++++ example/example.php 2015-02-17 13:27:34.000000000 +0100 +@@ -11,8 +11,8 @@ + <hr /> + <?php + +- // Include the diff class +- require_once dirname(__FILE__).'/../lib/Diff.php'; ++ // Include the autoloader ++ require_once 'phpspec/php-diff/autoload.php'; + + // Include two sample files for comparison + $a = explode("\n", file_get_contents(dirname(__FILE__).'/a.txt')); +@@ -31,8 +31,6 @@ + <h2>Side by Side Diff</h2> + <?php + +- // Generate a side by side diff +- require_once dirname(__FILE__).'/../lib/Diff/Renderer/Html/SideBySide.php'; + $renderer = new Diff_Renderer_Html_SideBySide; + echo $diff->Render($renderer); + +@@ -40,8 +38,6 @@ + <h2>Inline Diff</h2> + <?php + +- // Generate an inline diff +- require_once dirname(__FILE__).'/../lib/Diff/Renderer/Html/Inline.php'; + $renderer = new Diff_Renderer_Html_Inline; + echo $diff->render($renderer); + +@@ -49,8 +45,6 @@ + <h2>Unified Diff</h2> + <pre><?php + +- // Generate a unified diff +- require_once dirname(__FILE__).'/../lib/Diff/Renderer/Text/Unified.php'; + $renderer = new Diff_Renderer_Text_Unified; + echo htmlspecialchars($diff->render($renderer)); + +@@ -59,8 +53,6 @@ + <h2>Context Diff</h2> + <pre><?php + +- // Generate a context diff +- require_once dirname(__FILE__).'/../lib/Diff/Renderer/Text/Context.php'; + $renderer = new Diff_Renderer_Text_Context; + echo htmlspecialchars($diff->render($renderer)); + ?> diff --git a/php-phpspec-php-diff.spec b/php-phpspec-php-diff.spec new file mode 100644 index 0000000..27eb26a --- /dev/null +++ b/php-phpspec-php-diff.spec @@ -0,0 +1,92 @@ +# spec file for php-phpspec-php-diff +# +# Copyright (c) 2015 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit 30e103d19519fe678ae64a60d77884ef3d71b28a +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner phpspec +%global gh_project php-diff + +Name: php-phpspec-php-diff +Version: 1.0.2 +Release: 1%{?dist} +Summary: A library for generating differences between two hashable objects + +Group: Development/Libraries +# LICENSE text is inclued in the README file +License: BSD +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}.tar.gz + +# Fix example to use our generated autoloader +Patch0: %{gh_project}-example.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +# For minimal test +BuildRequires: php-cli +# To generate an autoloader +BuildRequires: %{_bindir}/phpab + +Requires: php(language) +Requires: php-pcre + +Provides: php-composer(phpspec/php-diff) = %{version} + + +%description +A comprehensive library for generating differences between two hashable +objects (strings or arrays). Generated differences can be rendered in +all of the standard formats including: + * Unified + * Context + * Inline HTML + * Side by Side HTML + +The logic behind the core of the diff engine (ie, the sequence matcher) +is primarily based on the Python difflib package. The reason for doing +so is primarily because of its high degree of accuracy. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +%patch0 -p0 + + +%build +: Generate a simple autoloader +%{_bindir}/phpab --output lib/autoload.php lib + + +%install +# No namespace, so use a package specific dir +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_datadir}/php/phpspec/php-diff +cp -pr lib/* %{buildroot}%{_datadir}/php/phpspec/php-diff + + +%check +# Not really a test... but should work without error +cd example +%{_bindir}/php -d include_path=%{buildroot}%{_datadir}/php example.php >/dev/null + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%doc README example +%doc composer.json +%{_datadir}/php/phpspec + + +%changelog +* Tue Feb 17 2015 Remi Collet <remi@fedoraproject.org> - 1.0.2-1 +- initial package
\ No newline at end of file |