guix hash: Interpret '-' as standard input.
* guix/scripts/hash.scm (guix-hash)[file-hash]: Special-case "-". * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Document it.
This commit is contained in:
parent
12b6c951cf
commit
343dc11702
|
@ -4791,7 +4791,9 @@ The general syntax is:
|
||||||
guix hash @var{option} @var{file}
|
guix hash @var{option} @var{file}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@command{guix hash} has the following options:
|
When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the
|
||||||
|
hash of data read from standard input. @command{guix hash} has the
|
||||||
|
following options:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,9 @@ and 'hexadecimal' can be used as well).\n"))
|
||||||
(write-file file port #:select? select?)
|
(write-file file port #:select? select?)
|
||||||
(force-output port)
|
(force-output port)
|
||||||
(get-hash))
|
(get-hash))
|
||||||
(call-with-input-file file port-sha256))))
|
(match file
|
||||||
|
("-" (port-sha256 (current-input-port)))
|
||||||
|
(_ (call-with-input-file file port-sha256))))))
|
||||||
|
|
||||||
(match args
|
(match args
|
||||||
((file)
|
((file)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# GNU Guix --- Functional package management for GNU
|
||||||
# Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
# Copyright © 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
# Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
|
@ -27,6 +27,7 @@ tmpdir="guix-hash-$$"
|
||||||
trap 'rm -rf "$tmpdir"' EXIT
|
trap 'rm -rf "$tmpdir"' EXIT
|
||||||
|
|
||||||
test `guix hash /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
test `guix hash /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
||||||
|
test `echo -n | guix hash -` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
||||||
test `guix hash -f nix-base32 /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
test `guix hash -f nix-base32 /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
|
||||||
test `guix hash -f hex /dev/null` = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
test `guix hash -f hex /dev/null` = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
test `guix hash -f base32 /dev/null` = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq
|
test `guix hash -f base32 /dev/null` = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq
|
||||||
|
|
Loading…
Reference in New Issue