diff options
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r-- | gnu/packages/compression.scm | 188 |
1 files changed, 187 insertions, 1 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c7b6ccc8ab..a4d922b743 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> +;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,7 +55,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) - #:use-module (gnu packages zip) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (last))) @@ -1331,3 +1331,189 @@ as is the decompression of data compressed in this manner. Data compressed by other implementations will only be decompressed by two threads: one performing the actual decompression, the other input and output.") (license (package-license zstd)))) + +(define-public zip + (package + (name "zip") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/infozip" + "/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz")) + (sha256 + (base32 + "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h")))) + (build-system gnu-build-system) + (inputs `(("bzip2" ,bzip2))) + (arguments + `(#:tests? #f ; no test target + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "-f" "unix/Makefile" + (string-append "prefix=" out) + (string-append "MANDIR=" out "/share/man/man1"))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "generic_gcc" make-flags)))) + (delete 'configure)))) + (home-page "http://www.info-zip.org/Zip.html") + (synopsis "Compression and file packing utility") + (description + "Zip is a compression and file packaging/archive utility. Zip is useful +for packaging a set of files for distribution, for archiving files, and for +saving disk space by temporarily compressing unused files or directories. +Zip puts one or more compressed files into a single ZIP archive, along with +information about the files (name, path, date, time of last modification, +protection, and check information to verify file integrity). An entire +directory structure can be packed into a ZIP archive with a single command. + +Zip has one compression method (deflation) and can also store files without +compression. Zip automatically chooses the better of the two for each file. +Compression ratios of 2:1 to 3:1 are common for text files.") + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) + +(define-public unzip + (package (inherit zip) + (name "unzip") + (version "6.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/infozip" + "/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz")) + (sha256 + (base32 + "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83")) + (patches (search-patches "unzip-CVE-2014-8139.patch" + "unzip-CVE-2014-8140.patch" + "unzip-CVE-2014-8141.patch" + "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" + "unzip-allow-greater-hostver-values.patch" + "unzip-initialize-symlink-flag.patch" + "unzip-remove-build-date.patch" + "unzip-attribs-overflow.patch" + "unzip-overflow-on-invalid-input.patch" + "unzip-format-secure.patch" + "unzip-overflow-long-fsize.patch")))) + (build-system gnu-build-system) + ;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* "make" + `("-j" ,(number->string + (parallel-job-count)) + ,@make-flags + "generic_gcc")))))) + #:make-flags (list "-f" "unix/Makefile" + (string-append "prefix=" %output) + (string-append "MANDIR=" %output "/share/man/man1")))) + (home-page "http://www.info-zip.org/UnZip.html") + (synopsis "Decompression and file extraction utility") + (description + "UnZip is an extraction utility for archives compressed in .zip format, +also called \"zipfiles\". + +UnZip lists, tests, or extracts files from a .zip archive. The default +behaviour (with no options) is to extract into the current directory, and +subdirectories below it, all files from the specified zipfile. UnZip +recreates the stored directory structure by default.") + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) + +(define-public zziplib + (package + (name "zziplib") + (version "0.13.62") + (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")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib))) + (native-inputs `(("perl" ,perl) ; for the documentation + ("pkg-config" ,pkg-config) + ;; for the documentation; Python 3 not supported, + ;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html + ("python" ,python-2) + ("zip" ,zip))) ; to create test files + (arguments + `(#:parallel-tests? #f)) ; since test files are created on the fly + (home-page "http://zziplib.sourceforge.net/") + (synopsis "Library for accessing zip files") + (description + "ZZipLib is a library based on zlib for accessing zip files.") + (license license:lgpl2.0+))) + +(define-public perl-zip + (package + (name "perl-zip") + (version "1.59") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-" + version ".tar.gz")) + (sha256 + (base32 + "0m31qlppg65vh32pwxkwjby02q70abx49d2yk6vfd4585fqb27cx")))) + (build-system perl-build-system) + (synopsis "Provides an interface to ZIP archive files") + (description "The Archive::Zip module allows a Perl program to create, +manipulate, read, and write Zip archive files.") + (home-page "http://search.cpan.org/~adamk/Archive-Zip-1.30/") + (license license:perl-license))) + +(define-public libzip + (package + (name "libzip") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://nih.at/libzip/libzip-" version ".tar.gz")) + (sha256 + (base32 + "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-perl + (lambda _ + (substitute* "regress/runtest.in" + (("/usr/bin/env perl") (which "perl")))))))) + (native-inputs + `(("perl" ,perl))) + (inputs + `(("zlib" ,zlib))) + (build-system gnu-build-system) + (home-page "https://nih.at/libzip/index.html") + (synopsis "C library for reading, creating, and modifying zip archives") + (description "Libzip is a C library for reading, creating, and modifying +zip archives. Files can be added from data buffers, files, or compressed data +copied directly from other zip archives. Changes made without closing the +archive can be reverted.") + (license license:bsd-3))) |