aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/zip.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-07-15 22:55:26 -0400
committerMark H Weaver <mhw@netris.org>2015-07-15 23:02:27 -0400
commit385ae063c9826baf00ae47d7689f23af52bce753 (patch)
treea8f142d508c8f7188387a5b6fbcf9afa664468f4 /gnu/packages/zip.scm
parent368474150b0a77ff54509f6ad0533d8c5a208bac (diff)
downloadgnu-guix-385ae063c9826baf00ae47d7689f23af52bce753.tar
gnu-guix-385ae063c9826baf00ae47d7689f23af52bce753.tar.gz
gnu: unzip: Fix CVE-2014-9636 and some other bugs.
* gnu/packages/patches/unzip-CVE-2014-9636.patch, gnu/packages/patches/unzip-allow-greater-hostver-values.patch, gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch, gnu/packages/patches/unzip-initialize-symlink-flag.patch, gnu/packages/patches/unzip-remove-build-date.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/zip.scm (unzip)[source]: Add patches. [arguments]: Use 'modify-phases'. Remove custom 'configure' phase; pass additional make-flags instead. Add custom 'build' phase that builds "generic_gcc" target; remove "generic_gcc" from make-flags.
Diffstat (limited to 'gnu/packages/zip.scm')
-rw-r--r--gnu/packages/zip.scm36
1 files changed, 21 insertions, 15 deletions
diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm
index e6f5067295..f0f27ddfe2 100644
--- a/gnu/packages/zip.scm
+++ b/gnu/packages/zip.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,23 +81,29 @@ Compression ratios of 2:1 to 3:1 are common for text files.")
(sha256
(base32
"0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
- (patches (list (search-patch "unzip-CVE-2014-8139.patch")
- (search-patch "unzip-CVE-2014-8140.patch")
- (search-patch "unzip-CVE-2014-8141.patch")))))
+ (patches (map search-patch '("unzip-CVE-2014-8139.patch"
+ "unzip-CVE-2014-8140.patch"
+ "unzip-CVE-2014-8141.patch"
+ "unzip-CVE-2014-9636.patch"
+ "unzip-allow-greater-hostver-values.patch"
+ "unzip-increase-size-of-cfactorstr.patch"
+ "unzip-initialize-symlink-flag.patch"
+ "unzip-remove-build-date.patch")))))
(build-system gnu-build-system)
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
(arguments
- `(#:make-flags '("generic_gcc")
- #:phases
- (alist-replace
- 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- (copy-file "unix/Makefile" "Makefile")
- (substitute* "Makefile"
- (("/usr/local") out)
- (("/man/") "/share/man/"))))
- %standard-phases)))
+ `(#: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