summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-08-19 17:56:28 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-08-19 17:59:42 +0200
commitaf735661f3829390c8e43f83873068b86509526b (patch)
tree5286ec3aa21d6a2ee5af138fdf356ee29e5c0996
parent2905926285c0ea4a66be61b8f6687c16f61bc8d1 (diff)
downloadguix-af735661f3829390c8e43f83873068b86509526b.tar.gz
pack: Add "none" compressor.
* guix/scripts/pack.scm (%compressors): Add compressor "none"; prepend
extension with ".".
(self-contained-tarball, docker-image): Assume compressor extensions start
with period.
* doc/guix.texi (Invoking guix pack): Document it.
-rw-r--r--doc/guix.texi2
-rw-r--r--guix/scripts/pack.scm18
2 files changed, 11 insertions, 9 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 816064383c..bff0788b2f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2630,7 +2630,7 @@ configuration triplets,, autoconf, Autoconf}).
 @item --compression=@var{tool}
 @itemx -C @var{tool}
 Compress the resulting tarball using @var{tool}---one of @code{gzip},
-@code{bzip2}, @code{xz}, or @code{lzip}.
+@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression.
 
 @item --symlink=@var{spec}
 @itemx -S @var{spec}
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 1273c09f54..c269a1fefc 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -50,19 +51,20 @@
   (compressor name extension command)
   compressor?
   (name       compressor-name)      ;string (e.g., "gzip")
-  (extension  compressor-extension) ;string (e.g., "lz")
+  (extension  compressor-extension) ;string (e.g., ".lz")
   (command    compressor-command))  ;gexp (e.g., #~("/gnu/store/…/gzip" "-9n"))
 
 (define %compressors
   ;; Available compression tools.
-  (list (compressor "gzip"  "gz"
+  (list (compressor "gzip"  ".gz"
                     #~(#+(file-append gzip "/bin/gzip") "-9n"))
-        (compressor "lzip"  "lz"
+        (compressor "lzip"  ".lz"
                     #~(#+(file-append lzip "/bin/lzip") "-9"))
-        (compressor "xz"    "xz"
+        (compressor "xz"    ".xz"
                     #~(#+(file-append xz "/bin/xz") "-e -T0"))
-        (compressor "bzip2" "bz2"
-                    #~(#+(file-append bzip2 "/bin/bzip2") "-9"))))
+        (compressor "bzip2" ".bz2"
+                    #~(#+(file-append bzip2 "/bin/bzip2") "-9"))
+        (compressor "none" "" #f)))
 
 (define (lookup-compressor name)
   "Return the compressor object called NAME.  Error out if it could not be
@@ -180,7 +182,7 @@ added to the pack."
                                           (_ #f))
                                         directives)))))))))
 
-  (gexp->derivation (string-append name ".tar."
+  (gexp->derivation (string-append name ".tar"
                                    (compressor-extension compressor))
                     build
                     #:references-graphs `(("profile" ,profile))))
@@ -245,7 +247,7 @@ the image."
                               #:compressor '#$(compressor-command compressor)
                               #:creation-time (make-time time-utc 0 1)))))
 
-  (gexp->derivation (string-append name ".tar."
+  (gexp->derivation (string-append name ".tar"
                                    (compressor-extension compressor))
                     build
                     #:references-graphs `(("profile" ,profile))))