summaryrefslogtreecommitdiff
path: root/guix/hash.scm
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-01-08 14:38:54 -0600
committerEric Bavier <bavier@member.fsf.org>2015-01-09 10:33:24 -0600
commit1ff2619bc114aface6b7b9d818f7208f9af677df (patch)
tree499f0d9f102b05bbb26e14a7a8e7b431231be509 /guix/hash.scm
parentc6cb82f5d5739fcc84281e5dc91076c37f1db89c (diff)
downloadgnu-guix-1ff2619bc114aface6b7b9d818f7208f9af677df.tar
gnu-guix-1ff2619bc114aface6b7b9d818f7208f9af677df.tar.gz
import: Factorize utility functions.
* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*, url-fetch, json-fetch): Pull procedures from here into... * guix/import/utils.scm: Here and... * guix/import/json.scm: Here. New file. * Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it. * guix/import/gnu.scm (file-sha256): Move from here to... * guix/hash.scm: Here. * tests/pypi.scm (pypi->guix-package): Update mock module reference.
Diffstat (limited to 'guix/hash.scm')
-rw-r--r--guix/hash.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/guix/hash.scm b/guix/hash.scm
index fb85f47586..593c2e1aee 100644
--- a/guix/hash.scm
+++ b/guix/hash.scm
@@ -26,6 +26,7 @@
#:export (sha256
open-sha256-port
port-sha256
+ file-sha256
open-sha256-input-port))
;;; Commentary:
@@ -129,6 +130,10 @@ output port."
(close-port out)
(get)))
+(define (file-sha256 file)
+ "Return the SHA256 hash (a bytevector) of FILE."
+ (call-with-input-file file port-sha256))
+
(define (open-sha256-input-port port)
"Return an input port that wraps PORT and a thunk to get the hash of all the
data read from PORT. The thunk always returns the same value."