Nikita Karetnikov <nik...@karetnikov.org> skribis:

>> The simplest way to do it would be by walking the package DAG: start
>> from ‘foo’, accumulate its ‘package-source’, then traverse its inputs,
>> etc.  Recursion would stop at the implicit inputs (GCC, glibc,
>> Coreutils, etc.), though.
>
>> If you’d like implicit inputs to be taken into account, then you’d have
>> to traverse derivations.  It’s less convenient because it’s lower-level.
>
> Is there a function that accepts a package name and returns a list of
> implicit inputs?

No, because by definition, those “implicit inputs” are not listed in the
package object.  Instead, they are added by the build system (see
build-system/gnu.scm.)

That’s why I suggested using derivations instead: take the output of
(package-derivation x y), and traverse it in search of fixed-output
derivations.

But again, that’s a bit of a sledgehammer, and somewhat inconvenient to
do at the moment.

Ludo’.

Reply via email to