~ruther/guix-local

b0fad8a2d45a47138e202644c542adbd6d5ee684 — Ludovic Courtès 12 years ago 69927e7
Use `port-sha256' and `open-sha256-port'.

* guix/derivations.scm (derivation-hash): Add comment as to why we keep
  the plain `sha256' call.
* guix/scripts/download.scm (guix-download): Use `port-sha256' instead
  of (compose sha256 get-bytevector-all).
* guix/scripts/refresh.scm (update-package): Likewise.
3 files changed, 6 insertions(+), 2 deletions(-)

M guix/derivations.scm
M guix/scripts/download.scm
M guix/scripts/refresh.scm
M guix/derivations.scm => guix/derivations.scm +4 -0
@@ 469,6 469,10 @@ in SIZE bytes."
                           inputs))
              (drv    (make-derivation outputs inputs sources
                                       system builder args env-vars)))

         ;; XXX: At this point this remains faster than `port-sha256', because
         ;; the SHA256 port's `write' method gets called for every single
         ;; character.
         (sha256
          (with-fluids ((%default-port-encoding "UTF-8"))
            (string->utf8 (call-with-output-string

M guix/scripts/download.scm => guix/scripts/download.scm +1 -1
@@ 116,7 116,7 @@ Supported formats: 'nix-base32' (default), 'base32', and 'base16'
                      (or path
                          (leave (_ "~a: download failed~%")
                                 arg))
                    (compose sha256 get-bytevector-all)))
                    port-sha256))
           (fmt   (assq-ref opts 'format)))
      (format #t "~a~%~a~%" path (fmt hash))
      #t)))

M guix/scripts/refresh.scm => guix/scripts/refresh.scm +1 -1
@@ 137,7 137,7 @@ values: 'interactive' (default), 'always', and 'never'."
                    (package-name package)
                    (package-version package) version)
            (let ((hash (call-with-input-file tarball
                          (compose sha256 get-bytevector-all))))
                          port-sha256)))
              (update-package-source package version hash)))
          (warning (_ "~a: version ~a could not be \
downloaded and authenticated; not updating")