Subject: Re: [bug#43121] [PATCH] guix: packages: Fix print-content-hash
From: Ludovic Courtès <[email-masked]>
To: Robin Green <[email-masked]>
Cc: [email-masked]
Date: Mon, 31 Aug 2020 15:53:26 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Robin,

Robin Green <[email-masked]> skribis:

> * guix/packages.scm (print-content-hash): Prevent throwing an exception for
> linux-libre and breaking backtraces.
> ---
>  guix/packages.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/guix/packages.scm b/guix/packages.scm
> index 95d7c2cc0d..c5a971b7b7 100644
> --- a/guix/packages.scm
> +++ b/guix/packages.scm
> @@ -228,7 +228,8 @@ as base32.  Otherwise, it must be a bytevector."
>  (define (print-content-hash hash port)
>    (format port "#<content-hash ~a:~a>"
>            (content-hash-algorithm hash)
> -          (bytevector->nix-base32-string (content-hash-value hash))))
> +          (false-if-exception
> +           (bytevector->nix-base32-string (content-hash-value hash)))))
>  
>  (set-record-type-printer! <content-hash> print-content-hash)

I pushed something different with the same effect as
83ec969cc7170634872d4ff3ffc0d4099a6765a4 (avoiding ‘false-if-exception’,
which is too broad IMO).

Thanks!

Ludo’.