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.scm137
1 files changed, 89 insertions, 48 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index c92442042f..f25c4bba3a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@@ -20,6 +20,7 @@
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,6 +53,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
@@ -151,7 +153,7 @@ the @code{zlib} source.")
"0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
- (home-page "http://savannah.nongnu.org/projects/fastjar")
+ (home-page "https://savannah.nongnu.org/projects/fastjar")
(synopsis "Replacement for Sun's 'jar' utility")
(description
"FastJar is an attempt to create a much faster replacement for Sun's 'jar'
@@ -328,7 +330,7 @@ compatible with bzip2 – both at file format and command line level.")
(define-public pbzip2
(package
(name "pbzip2")
- (version "1.1.12")
+ (version "1.1.13")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/pbzip2/"
@@ -336,14 +338,14 @@ compatible with bzip2 – both at file format and command line level.")
"/+download/" name "-" version ".tar.gz"))
(sha256
(base32
- "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"))))
+ "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)))
(arguments
- `(#:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
- (delete 'configure))
+ (delete 'configure)) ; no configure script
#:make-flags (list (string-append "PREFIX=" %output))))
(home-page "http://compression.ca/pbzip2/")
(synopsis "Parallel bzip2 implementation")
@@ -450,7 +452,7 @@ Python strings.")
(define-public lzop
(package
(name "lzop")
- (version "1.03")
+ (version "1.04")
(source
(origin
(method url-fetch)
@@ -458,10 +460,10 @@ Python strings.")
version ".tar.gz"))
(sha256
(base32
- "1jdjvc4yjndf7ihmlcsyln2rbnbaxa86q4jskmkmm7ylfy65nhn1"))))
+ "0h9gb8q7y54m9mvy3jvsmxf21yx8fc3ylzh418hgbbv0i8mbcwky"))))
(build-system gnu-build-system)
(inputs `(("lzo" ,lzo)))
- (home-page "http://www.lzop.org/")
+ (home-page "https://www.lzop.org/")
(synopsis "Compress or expand files")
(description
"Lzop is a file compressor which is very similar to gzip. Lzop uses the
@@ -482,7 +484,7 @@ some compression ratio).")
(base32
"1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz"))))
(build-system gnu-build-system)
- (home-page "http://www.nongnu.org/lzip/lzip.html")
+ (home-page "https://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
(description
"Lzip is a lossless data compressor with a user interface similar to the
@@ -494,16 +496,16 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
(define-public lziprecover
(package
(name "lziprecover")
- (version "1.19")
+ (version "1.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0z5fbkm0qprypjf7kxkqganniibj0zml13zvfkrchnjafcmmzyld"))))
+ "0fpnmdxayvd1ff0rk9606dvr431ji6b1v71km4ww244rih1rmmzz"))))
(build-system gnu-build-system)
- (home-page "http://www.nongnu.org/lzip/lziprecover.html")
+ (home-page "https://www.nongnu.org/lzip/lziprecover.html")
(synopsis "Recover and decompress data from damaged lzip files")
(description
"Lziprecover is a data recovery tool and decompressor for files in the lzip
@@ -719,7 +721,7 @@ writing of compressed data created with the zlib and bzip2 libraries.")
(define-public lz4
(package
(name "lz4")
- (version "1.8.0")
+ (version "1.8.1.2")
(source
(origin
(method url-fetch)
@@ -727,15 +729,14 @@ writing of compressed data created with the zlib and bzip2 libraries.")
"v" version ".tar.gz"))
(sha256
(base32
- "1xnckwwah74gl98gylf1b00vk4km1d8sgd8865h07ccvgbm8591c"))
+ "1y93h6dyi3026gvpzdv310ldcylnnhwf32n75mdjf8x9fvkskwqj"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs `(("valgrind" ,valgrind))) ; for tests
(arguments
`(#:test-target "test"
- #:parallel-tests? #f ; tests fail if run in parallel
#:make-flags (list "CC=gcc"
- (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(home-page "http://www.lz4.org")
@@ -1312,10 +1313,11 @@ compresser/decompresser.")
("java-snappy" ,java-snappy)
("hamcrest" ,java-hamcrest-core)
("testng" ,java-testng)))
- (synopsis "Java port of snappy")
- (description "Iq80-snappy is a rewrite (port) of Snappy writen in pure
-Java. This compression code produces a byte-for-byte exact copy of the output
-created by the original C++ code, and extremely fast.")
+ (synopsis "Java port of the Snappy (de)compressor")
+ (description
+ "Iq80-snappy is a port of the Snappy compressor and decompressor rewritten
+in pure Java. This compression code produces a byte-for-byte exact copy of the
+output created by the original C++ code, and is extremely fast.")
(license license:asl2.0)))
(define-public java-jbzip2
@@ -1384,6 +1386,7 @@ It can be used as a replacement for the Apache @code{CBZip2InputStream} /
(delete-file-recursively "CPP/7zip/Compress/Rar")
#t))
(patches (search-patches "p7zip-CVE-2016-9296.patch"
+ "p7zip-CVE-2017-17969.patch"
"p7zip-remove-unused-code.patch"))))
(build-system gnu-build-system)
(arguments
@@ -1630,7 +1633,7 @@ trade-off between compression ratio and speed, without affecting decompression
speed.")
(license (list license:bsd-3 ; the main top-level LICENSE file
license:bsd-2 ; many files explicitly state 2-Clause
- license:gpl2 ; the mail top-level COPYING file
+ license:gpl2 ; the main top-level COPYING file
license:gpl3+ ; tests/gzip/*.sh
license:expat ; lib/dictBuilder/divsufsort.[ch]
license:public-domain ; zlibWrapper/examples/fitblk*
@@ -1725,6 +1728,7 @@ Compression ratios of 2:1 to 3:1 are common for text files.")
(define-public unzip
(package (inherit zip)
(name "unzip")
+ (replacement unzip/fixed)
(version "6.0")
(source
(origin
@@ -1775,25 +1779,33 @@ recreates the stored directory structure by default.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
+(define unzip/fixed
+ (package/inherit unzip
+ (arguments
+ (substitute-keyword-arguments (package-arguments unzip)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'fortify
+ (lambda _
+ ;; Mitigate CVE-2018-1000035, an exploitable buffer overflow.
+ ;; This environment variable is recommended in 'unix/Makefile'
+ ;; for passing flags to the C compiler.
+ (setenv "LOCAL_UNZIP" "-D_FORTIFY_SOURCE=1")
+ #t))))))))
+
(define-public zziplib
(package
(name "zziplib")
- (version "0.13.62")
+ (version "0.13.68")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/zziplib/zziplib13/"
version "/zziplib-"
version ".tar.bz2"))
- (patches (search-patches "zziplib-CVE-2017-5974.patch"
- "zziplib-CVE-2017-5975.patch"
- "zziplib-CVE-2017-5976.patch"
- "zziplib-CVE-2017-5978.patch"
- "zziplib-CVE-2017-5979.patch"
- "zziplib-CVE-2017-5981.patch"))
(sha256
(base32
- "0nsjqxw017hiyp524p9316283jlf5piixc1091gkimhz38zh7f51"))))
+ "1s0wz1hf2q4qxcp4lkg4rzpbz2814xagmvlyicqdj0ww0cvxv036"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -1804,7 +1816,10 @@ recreates the stored directory structure by default.")
("python" ,python-2)
("zip" ,zip))) ; to create test files
(arguments
- `(#:parallel-tests? #f)) ; since test files are created on the fly
+ ;; XXX: "make check" is broken, and the alternative (test/zziptests.py)
+ ;; requires network access. See <https://github.com/gdraheim/zziplib/issues/20>
+ ;; and <https://github.com/gdraheim/zziplib/issues/24>.
+ `(#:tests? #f))
(home-page "http://zziplib.sourceforge.net/")
(synopsis "Library for accessing zip files")
(description
@@ -1884,7 +1899,7 @@ archive can be reverted.")
(inputs
`(("perl" ,perl)
("file" ,file)))
- (home-page "http://www.nongnu.org/atool/")
+ (home-page "https://www.nongnu.org/atool/")
(synopsis "Universal tool to manage file archives of various types")
(description "The main command is @command{aunpack} which extracts files
from an archive. The other commands provided are @command{apack} (to create
@@ -1953,19 +1968,19 @@ algorithms in Java.")
(define-public lunzip
(package
(name "lunzip")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.savannah.gnu.org/releases/lzip/"
+ (uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "1ax3d9cp66z1qb9q7lfzg5bpx9630xrxgq9a5sw569wm0qqgpg2q"))))
+ (base32 "1iw59br6nsxs7l1p875h8w3vxwr04xfhg5zyal64crvamhxkj5kl"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "CC=gcc")))
- (home-page "http://www.nongnu.org/lzip/lunzip.html")
+ (home-page "https://www.nongnu.org/lzip/lunzip.html")
(synopsis "Small, stand-alone lzip decompressor")
(description
"Lunzip is a decompressor for files in the lzip compression format (.lz),
@@ -1980,19 +1995,19 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
(define-public clzip
(package
(name "clzip")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.savannah.gnu.org/releases/lzip/"
+ (uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "1brvsnpihzj81cf4wk2x5bnr2qldlq0wncpdbzxmzvxapm1cq2yc"))))
+ (base32 "03xcmhl3dya4jrwmsqh09ikimpb36fr3vkh2bwfzz1sbcns0cdg3"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "CC=gcc")))
- (home-page "http://www.nongnu.org/lzip/clzip.html")
+ (home-page "https://www.nongnu.org/lzip/clzip.html")
(synopsis "Small, stand-alone lzip compressor and decompressor")
(description
"Clzip is a compressor and decompressor for files in the lzip compression
@@ -2006,14 +2021,14 @@ Clzip is intended to be fully compatible with the regular lzip package.")
(define-public lzlib
(package
(name "lzlib")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.savannah.gnu.org/releases/lzip/"
+ (uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "13mssf3hrcnmd4ijbqnxfk0zgj1q5lvpxxkm1hmrbl1h73czhwi4"))))
+ (base32 "0hqhnj2lzqacdbmmnpy91lsm1rd9zlngs1q6s9pyahsv1a0bfshx"))))
(build-system gnu-build-system)
;; The included minilzip binary is only ~16 smaller than the ‘real’ lzip.
;; It's used during the test suite, but don't be tempted to install it.
@@ -2021,7 +2036,7 @@ Clzip is intended to be fully compatible with the regular lzip package.")
`(#:configure-flags
(list "CC=gcc"
"--enable-shared"))) ; only static (.a) is built by default
- (home-page "http://www.nongnu.org/lzip/lzlib.html")
+ (home-page "https://www.nongnu.org/lzip/lzlib.html")
(synopsis "Lzip data compression C library")
(description
"Lzlib is a C library for in-memory LZMA compression and decompression in
@@ -2034,18 +2049,18 @@ corrupted input.")
(define-public plzip
(package
(name "plzip")
- (version "1.6")
+ (version "1.7")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.savannah.gnu.org/releases/lzip/"
+ (uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "0z2cs6vn4xl65wakd013xl3sdfpg8dr0cvcjwc2slh8y9bz7j7ax"))))
+ (base32 "1dzjp9r7krwpsn224bhcqbzd5aj5b4556sdi9yzl2bzbk3fjrqlm"))))
(build-system gnu-build-system)
(inputs
`(("lzlib" ,lzlib)))
- (home-page "http://www.nongnu.org/lzip/plzip.html")
+ (home-page "https://www.nongnu.org/lzip/plzip.html")
(synopsis "Parallel lossless data compressor for the lzip format")
(description
"Plzip is a massively parallel (multi-threaded) lossless data compressor
@@ -2060,3 +2075,29 @@ faster by plzip, unless the @code{-b} option was used: lzip usually produces
single-member files which can't be decompressed in parallel.")
(license (list license:bsd-2 ; arg_parser.{cc,h}
license:gpl2+)))) ; everything else
+
+(define-public innoextract
+ (package
+ (name "innoextract")
+ (version "1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/dscharrer/innoextract/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "08sp5vbfjvq1irhhraqkn5m2x1z209r4axhx7laf1adcw30ccapi"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;; No tests available.
+ (inputs `(("boost" ,boost)
+ ("libiconv" ,libiconv)
+ ("xz" ,xz)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://constexpr.org/innoextract/")
+ (synopsis "Tool for extracting Inno Setup installers")
+ (description "innoextract allows extracting Inno Setup installers under
+non-Windows systems without running the actual installer using wine.")
+ (license license:zlib)))