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.master
parent
0715793373
commit
31ebecf73d
|
@ -168,6 +168,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)
|
||||
|
@ -303,25 +322,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."
|
||||
|
|
Reference in New Issue