summary refs log tree commit diff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2016-07-17 02:48:42 +0200
committerLudovic Courtès <ludo@gnu.org>2016-07-18 01:26:03 +0200
commit0b07350675ef8b94041605cb53d4763fb97c8d7d (patch)
treefd3c736d42572c6dfdaad5d9b2c96090eca7e7e8
parent7593e50b2635330edb5e82aa767dac7c12d92660 (diff)
downloadguix-0b07350675ef8b94041605cb53d4763fb97c8d7d.tar.gz
gnu: Add xdelta.
* gnu/packages/compression.scm (xdelta): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/compression.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 97f0546229..6a170031b0 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -796,3 +797,39 @@ respectively, based on the reference implementation from Google.")
     (description "Extracts files out of Microsoft Cabinet (.cab) archives")
     ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
     (license license:gpl3+)))
+
+(define-public xdelta
+  (package
+    (name "xdelta")
+    (version "3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jmacd/xdelta/archive/v"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "17g2pbbqy6h20qgdjq7ykib7kg5ajh8fwbsfgyjqg8pwg19wy5bm"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (snippet
+        ;; This file isn't freely distributable and has no effect on building.
+        '(delete-file "xdelta3/draft-korn-vcdiff.txt"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'enter-build-directory
+           (lambda _ (chdir "xdelta3")))
+         (add-before 'configure 'autoconf
+           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+    (home-page "http://xdelta.com")
+    (synopsis "Delta encoder for binary files")
+    (description "xdelta encodes only the differences between two binary files
+using the VCDIFF algorithm and patch file format described in RFC 3284.  It can
+also be used to apply such patches.  xdelta is similar to @command{diff} and
+@command{patch}, but is not limited to plain text and does not generate
+human-readable output.")
+    (license license:asl2.0)))