summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-01-10 08:42:42 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-01-11 08:15:08 -0500
commit8152fd1af551f4bcec2ef59243264c10ff48daea (patch)
tree01bcc662843feb72e3bfef016ee6ceb6c1af82b9
parent58780f844b3944ae8dab292ef24de87d22bfe657 (diff)
downloadguix-8152fd1af551f4bcec2ef59243264c10ff48daea.tar.gz
packages: Fix 'base32' used before definition warning.
Before this change, compiling the module would emit the following message:
"guix/packages.scm:213:25: warning: macro `base32' used before definition".

* guix/packages.scm (define-compile-time-decoder)
(base32, base64): Move definitions to the top of the module.
-rw-r--r--guix/packages.scm38
1 files changed, 19 insertions, 19 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 6fa761f569..9305dabcec 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -167,6 +167,25 @@
 ;;;
 ;;; Code:
 
+(define-syntax-rule (define-compile-time-decoder name string->bytevector)
+  "Define NAME as a macro that runs STRING->BYTEVECTOR at macro expansion time
+if possible."
+  (define-syntax name
+    (lambda (s)
+      "Return the bytevector corresponding to the given textual
+representation."
+      (syntax-case s ()
+        ((_ str)
+         (string? (syntax->datum #'str))
+         ;; A literal string: do the conversion at expansion time.
+         (with-syntax ((bv (string->bytevector (syntax->datum #'str))))
+           #''bv))
+        ((_ str)
+         #'(string->bytevector str))))))
+
+(define-compile-time-decoder base32 nix-base32-string->bytevector)
+(define-compile-time-decoder base64 base64-decode)
+
 ;; Crytographic content hash.
 (define-immutable-record-type <content-hash>
   (%content-hash algorithm value)
@@ -302,25 +321,6 @@ specifications to 'hash'."
 
 (set-record-type-printer! <origin> print-origin)
 
-(define-syntax-rule (define-compile-time-decoder name string->bytevector)
-  "Define NAME as a macro that runs STRING->BYTEVECTOR at macro expansion time
-if possible."
-  (define-syntax name
-    (lambda (s)
-      "Return the bytevector corresponding to the given textual
-representation."
-      (syntax-case s ()
-        ((_ str)
-         (string? (syntax->datum #'str))
-         ;; A literal string: do the conversion at expansion time.
-         (with-syntax ((bv (string->bytevector (syntax->datum #'str))))
-           #''bv))
-        ((_ str)
-         #'(string->bytevector str))))))
-
-(define-compile-time-decoder base32 nix-base32-string->bytevector)
-(define-compile-time-decoder base64 base64-decode)
-
 (define (origin-actual-file-name origin)
   "Return the file name of ORIGIN, either its 'file-name' field or the file
 name of its URI."