diff options
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r-- | gnu/packages/compression.scm | 137 |
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))) |