Add a `base32' macro, for convenience.

* guix/packages.scm (base32): New macro.

* distro/base.scm (libsigsegv, gawk, hello): Use it.
This commit is contained in:
Ludovic Courtès 2012-07-01 17:32:03 +02:00
parent 03671375b6
commit e4c245f8a5
2 changed files with 15 additions and 6 deletions

View File

@ -36,8 +36,7 @@
(method http-fetch)
(uri "http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.10.tar.gz")
(sha256
(nix-base32-string->bytevector ; TODO: make conversion implicit
"16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44"))))
(base32 "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44"))))
(build-system gnu-build-system)
(outputs '("out" "lib")) ; separate libdir from the rest
(home-page "http://www.gnu.org/software/libsigsegv/")
@ -59,8 +58,7 @@ handlers, distributed shared memory, and more.")
(method http-fetch)
(uri "http://ftp.gnu.org/gnu/gawk/gawk-4.0.0.tar.bz2")
(sha256
(nix-base32-string->bytevector
"0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
(base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
(build-system gnu-build-system)
(arguments (case-lambda
((system)
@ -94,8 +92,7 @@ code.")
(method http-fetch)
(uri "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz")
(sha256
(nix-base32-string->bytevector ; TODO: make conversion implicit
"0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))))
(base32 "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags
`("--disable-dependency-tracking"

View File

@ -35,6 +35,7 @@
package-source-method
package-source-sha256
package-source-file-name
base32
package
package?
@ -102,6 +103,17 @@ etc."
(file-name package-source-file-name ; optional file name
(default #f)))
(define-syntax base32
(lambda (s)
"Return the bytevector corresponding to the given Nix-base32
representation."
(syntax-case s ()
((_ str)
(string? (syntax->datum #'str))
(with-syntax ((bv (nix-base32-string->bytevector
(syntax->datum #'str))))
#''bv)))))
;; A package.
(define-record-type* <package>
package make-package