summary refs log tree commit diff
path: root/gnu/packages/compression.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-09-30 12:01:32 +0200
committerLudovic Courtès <ludo@gnu.org>2016-09-30 12:05:27 +0200
commit79355ae3e84359716f5135cc7083e72246bc8bf9 (patch)
tree6b61851e2153581578bb78ef0f177b8841ee5db7 /gnu/packages/compression.scm
parent39d6b9c99f297e14fc4f47f002be3d40556726be (diff)
parent86d8f6d3efb8300a3354735cbf06be6c01e23243 (diff)
downloadguix-79355ae3e84359716f5135cc7083e72246bc8bf9.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r--gnu/packages/compression.scm112
1 files changed, 109 insertions, 3 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index c239d16638..6504641977 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -12,6 +12,8 @@
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -662,14 +664,14 @@ time for compression ratio.")
        ("xz" ,xz)
        ("zlib" ,zlib)))
     (home-page "http://squashfs.sourceforge.net/")
-    (synopsis "Tools to create and extract squashfs filesystems")
+    (synopsis "Tools to create and extract squashfs file systems")
     (description
-     "Squashfs is a highly compressed read-only filesystem for Linux.  It uses
+     "Squashfs is a highly compressed read-only file system for Linux.  It uses
 zlib to compress files, inodes, and directories.  All blocks are packed to
 minimize the data overhead, and block sizes of between 4K and 1M are supported.
 It is intended to be used for archival use, for live CDs, and for embedded
 systems where low overhead is needed.  This package allows you to create and
-extract such filesystems.")
+extract such file systems.")
     (license license:gpl2+)))
 
 (define-public pigz
@@ -895,3 +897,107 @@ compared to the fastest mode of zlib, Snappy is an order of magnitude faster
 for most inputs, but the resulting compressed files are anywhere from 20% to
 100% bigger.")
     (license license:asl2.0)))
+
+(define-public p7zip
+  (package
+    (name "p7zip")
+    (version "16.02")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/" name "/" name "/"
+                                  version "/" name "_" version
+                                  "_src_all.tar.bz2"))
+              (sha256
+               (base32
+                "07rlwbbgszq8i7m8jh3x6j2w2hc9a72dc7fmqawnqkwlwb00mcjy"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Remove non-free source files
+                  (for-each delete-file
+                            (append
+                             (find-files "CPP/7zip/Compress" "Rar.*")
+                             (find-files "CPP/7zip/Crypto" "Rar.*")
+                             (find-files "DOC/unRarLicense.txt")
+                             (find-files  "Utils/file_Codecs_Rar_so.py")))
+                  (delete-file-recursively "CPP/7zip/Archive/Rar")
+                  (delete-file-recursively "CPP/7zip/Compress/Rar")
+                  #t))
+              (patches (search-patches "p7zip-remove-unused-code.patch"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "DEST_HOME=" (assoc-ref %outputs "out")) "all3")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key system outputs #:allow-other-keys)
+             (zero? (system* "cp"
+                             (let ((system ,(or (%current-target-system)
+                                                (%current-system))))
+                               (cond
+                                ((string-prefix? "x86_64" system)
+                                 "makefile.linux_amd64_asm")
+                                ((string-prefix? "i686" system)
+                                 "makefile.linux_x86_asm_gcc_4.X")
+                                (else
+                                 "makefile.linux_any_cpu_gcc_4.X")))
+                             "makefile.machine"))))
+         (replace 'check
+           (lambda _
+             (and (zero? (system* "make" "test"))
+                  (zero? (system* "make" "test_7z"))
+                  (zero? (system* "make" "test_7zr"))))))))
+    (inputs
+     (let ((system (or (%current-target-system)
+                       (%current-system))))
+       `(,@(cond ((string-prefix? "x86_64" system)
+                  `(("yasm" ,yasm)))
+                 ((string-prefix? "i686" system)
+                  `(("nasm" ,nasm)))
+                 (else '())))))
+    (home-page "http://p7zip.sourceforge.net/")
+    (synopsis "Command-line file archiver with high compression ratio")
+    (description "p7zip is a command-line port of 7-Zip, a file archiver that
+handles the 7z format which features very high compression ratios.")
+    (license (list license:lgpl2.1+
+                   license:gpl2+
+                   license:public-domain))))
+
+(define-public gzstream
+  (package
+    (name "gzstream")
+    (version "1.5")
+    (source (origin
+              (method url-fetch)
+              (uri
+                ;; No versioned URL, but last release was in 2003.
+                "http://www.cs.unc.edu/Research/compgeom/gzstream/gzstream.tgz")
+                (file-name (string-append name "-" version ".tgz"))
+                (sha256
+                 (base32
+                  "00y19pqjsdj5zcrx4p9j56pl73vayfwnb7y2hvp423nx0cwv5b4r"))
+                (modules '((guix build utils)))
+                (snippet
+                 ;; Remove pre-compiled object.
+                 '(delete-file "gzstream.o"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib"))
+                    (include (string-append out "/include")))
+               (install-file "libgzstream.a" lib)
+               (install-file "gzstream.h" include)
+               #t))))))
+    (propagated-inputs `(("zlib" ,zlib)))
+    (home-page "http://www.cs.unc.edu/Research/compgeom/gzstream/")
+    (synopsis "Compressed C++ iostream")
+    (description "gzstream is a small library for providing zlib
+functionality in a C++ iostream.")
+    (license license:lgpl2.1+)))