mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
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.
This commit is contained in:
parent
0715793373
commit
31ebecf73d
1 changed files with 19 additions and 19 deletions
|
@ -168,6 +168,25 @@ (define-module (guix packages)
|
|||
;;;
|
||||
;;; 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 @@ (define (print-origin origin port)
|
|||
|
||||
(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."
|
||||
|
|
Loading…
Reference in a new issue