Subject: [bug#45591] environment: gracefully handle unsupported system.

From: Ludovic Courtès <[email-masked]>
Date: Wed, 13 Jan 2021 15:37:53 +0100

Hi,

guy fleury iteriteka <[email-masked]> skribis:

> diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
> index e435bf0..40af012 100644
> --- a/guix/scripts/environment.scm
> +++ b/guix/scripts/environment.scm
> @@ -719,6 +719,10 @@ message if any test fails."
>             (mappings   (pick-all opts 'file-system-mapping))
>             (white-list (pick-all opts 'inherit-regexp)))
>  
> +      (when (not (member system '("armhf-linux" "aarch64-linux"
> +                                  "i686-linux" "x86_64-linux" "i586-gnu")))
> +        (leave (G_ "guix does not support ~A system~%") system))

The system list should not be hardcoded (there’s already such a list in
(guix packages)).

Currently the error one gets is:

  $ guix environment -s does-not-exist --ad-hoc coreutils 
  guix environment: error: could not find bootstrap binary 'tar' for system 'does-not-exist'

I suppose that’s what you intended to improve, right?

Ludo’.