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

From: zimoun <[email-masked]>
Date: Tue, 12 Oct 2021 13:52:45 +0200

On Tue, 12 Oct 2021 at 11:54, Ludovic Courtès <[email-masked]> wrote:
> zimoun <[email-masked]> skribis:
>
>>> +(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.
>
> It’s an optional parameter above.

Sorry if I miss, to me, ’system’ is not bounded when calling:

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

and it seems bounded to something:

    ;;; (#<procedure system (#:optional _)>)”

and I do not know from where this definition comes.

Maybe I misread what optional means.  From my understanding, it means:

    (package-development-inputs foo)

will use ’(%current-system)’ as default.  And it also means that:

    (package-development-inputs foo system)

where ’system’ is bounded to something and from my understanding this
something is not necessary ’(%current-system)’.

Again, sorry if I misread something.

Cheers,
simon