summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-17 15:45:05 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-17 15:45:05 +0100
commitaba326f79c188e39368c910ddf1bcd884c68a32c (patch)
tree43bd3200a9a1b979d9b332f8b4e0c1fa8aa6fc0c
parent2a6c679561548b410ea34ff716c1165e8570609a (diff)
downloadguix-aba326f79c188e39368c910ddf1bcd884c68a32c.tar.gz
packages: Change `base32' to allow non-literal strings.
* guix/packages.scm (base32): Allow arguments that are not literal strings.
-rw-r--r--guix/packages.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 384db6d362..e65877df58 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -93,9 +93,12 @@ representation."
     (syntax-case s ()
       ((_ str)
        (string? (syntax->datum #'str))
+       ;; A literal string: do the conversion at expansion time.
        (with-syntax ((bv (nix-base32-string->bytevector
                           (syntax->datum #'str))))
-         #''bv)))))
+         #''bv))
+      ((_ str)
+       #'(nix-base32-string->bytevector str)))))
 
 ;; A package.