summaryrefslogtreecommitdiff
path: root/gnu/packages/compression.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r--gnu/packages/compression.scm69
1 files changed, 68 insertions, 1 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 8508c617e1..e5cacf5ca7 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -3,12 +3,13 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages perl)
@@ -688,3 +690,68 @@ a collection of smaller blocks which makes random access to the original data
possible and can compress in parallel. This is especially useful for large
tarballs.")
(license license:bsd-2)))
+
+(define-public brotli
+ (let ((commit "e992cce7a174d6e2b3486616499d26bb0bad6448")
+ (revision "1"))
+ (package
+ (name "brotli")
+ (version (string-append "0.1-" revision "."
+ (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bagder/libbrotli.git")
+ (commit commit)
+ (recursive? #t)))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1qxxsasvwbbbh6dl3138y9h3fg0q2v7xdk5jjc690bdg7g1wrj6n"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; This is a recursive submodule that is unnecessary for this
+ ;; package, so delete it.
+ '(delete-file-recursively "brotli/terryfy"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (mkdir "m4")
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (home-page "https://github.com/bagder/libbrotli/")
+ (synopsis "Implementation of the Brotli compression algorithm")
+ (description
+ "Brotli is a general-purpose lossless compression algorithm. It is
+similar in speed to deflate but offers denser compression. This package
+provides encoder and a decoder libraries: libbrotlienc and libbrotlidec,
+respectively, based on the reference implementation from Google.")
+ (license license:expat))))
+
+(define-public cabextract
+ (package
+ (name "cabextract")
+ (version "1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://cabextract.org.uk/cabextract-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ysmmz25fjghq7mxb2anyyvr1ljxqxzi4piwjhk0sdamcnsn3rnf"))))
+ (build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--with-external-libmspack")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libmspack" ,libmspack)))
+ (home-page "http://www.cabextract.org.uk/")
+ (synopsis "Tool to unpack Cabinet archives")
+ (description "Extracts files out of Microsoft Cabinet (.cab) archives")
+ ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
+ (license license:gpl3+)))