Subject: [bug#50960] [PATCH v2 01/11] packages: Add 'package-development-inputs'.

From: zimoun <[email-masked]>
Date: Tue, 12 Oct 2021 08:39:03 +0200

Hi Ludo,

On Mon, 11 Oct 2021 at 23:37, Ludovic Courtès <[email-masked]> wrote:
> * guix/packages.scm (package-development-inputs): New procedure.
> * guix/scripts/environment.scm (package-environment-inputs): Use it.
> * tests/packages.scm ("package-development-inputs")
> ("package-development-inputs, cross-compilation"): New tests.
> * doc/guix.texi (package Reference): Document it.

LGTM, except…

>  guix/packages.scm            | 10 +++++++++
>  guix/scripts/environment.scm |  2 +-

[...]

> +(define* (package-development-inputs package
> +                                     #:optional (system (%current-system))
> +                                     #:key target)
> +  "Return the list of inputs required by PACKAGE for development purposes on
> +SYSTEM.  When TARGET is true, return the inputs needed to cross-compile
> +PACKAGE from SYSTEM to TRIPLET, where TRIPLET is a triplet such as
> +\"aarch64-linux-gnu\"."
> +  (bag-transitive-inputs (package->bag package system target)))

[...]

>    ;; Remove non-package inputs such as origin records.
>    (filter-map input->manifest-entry
> -              (bag-transitive-inputs (package->bag package))))
> +              (package-development-inputs package system)))

Why ’system’ is used here?  Why is not simply?

 +              (package-development-inputs package)))

because ’system’ should be not defined, or I do not know where IIUC.

Cheers,
simon