diff options
-rw-r--r-- | guix/import/print.scm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/guix/import/print.scm b/guix/import/print.scm index 11cc218285..d21ce57aeb 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -74,7 +74,7 @@ when evaluated." (define (source->code source version) (let ((uri (origin-uri source)) (method (origin-method source)) - (sha256 (origin-sha256 source)) + (hash (origin-hash source)) (file-name (origin-file-name source)) (patches (origin-patches source))) `(origin @@ -82,9 +82,12 @@ when evaluated." (uri (string-append ,@(match (factorize-uri uri version) ((? string? uri) (list uri)) (factorized factorized)))) - (sha256 - (base32 - ,(format #f "~a" (bytevector->nix-base32-string sha256)))) + ,(if (equal? (content-hash-algorithm hash) 'sha256) + `(sha256 (base32 ,(bytevector->nix-base32-string + (content-hash-value hash)))) + `(hash (content-hash ,(bytevector->nix-base32-string + (content-hash-value hash)) + ,(content-hash-algorithm hash)))) ;; FIXME: in order to be able to throw away the directory prefix, ;; we just assume that the patch files can be found with ;; "search-patches". |