Efraim Flashner skribis: > On December 6, 2021 4:37:12 PM UTC, "Ludovic Courtès" wrote: [...] >>Thinking out loud… would it work to change: >> >> (arguments '(#:cargo-inputs X #:cargo-development-inputs Y)) >> >>to: >> >> (native-inputs (map package-source Y)) >> (inputs (map package-source X)) >> >>? [...] > Then we lose the transitive package sources, which is how we ended up where we are today. True. With the minimal changes to (guix build-system cargo) below, one can use either the current style or pass “development inputs” as ‘native-inputs’ and other dependencies as ‘inputs’. Source transitivity is preserved but you can write packages the normal way. I modified some of the dependencies of librsvg to use native-inputs/inputs and you can see when applying this part of the patch that the librsvg derivation is unchanged. Good thing is that ‘guix graph’ and ‘guix refresh -l’ work for these packages. Is this a direction we want to take? If so, we can have ‘guix style’ automate transformations. Thanks, Ludo’.