On Sun, 16 Mar 2025 16:07:59 +0800, Efraim Flashner wrote: > > [1 <text/plain; utf-8 (quoted-printable)>] > +CC Steve, new(ish) rust-team member > > On Sun, Mar 16, 2025 at 02:04:02PM +0800, Hilton Chain wrote: > > I have made the following changes (currently locally): > > - New procedure ‘cargo-inputs’. > > > > (cargo-inputs NAME) returns a copy of (@ (gnu packages rust-crates) > > NAME-cargo-inputs), with #f removed and symbols resolved to (@ (gnu > > packages > > rust-sources) SYMBOL). Both modules can be configured via keyword > > arguments. > > > > This eliminates the need to modify *-cargo-inputs manually. > > Is it possible to add the other more involved cargo inputs like > rust-ring to this list or would that add too much of a burden?
For example, currently in my rust-crates.scm, ‘atuin-cargo-inputs’ has a ‘rust-ring-0.17.14’ element, which is defined as a symbol ‘'rust-ring-0.17’, then (cargo-inputs 'atuin) will resolve this symbol to ‘rust-ring-0.17’ variable defined in rust-sources.scm. We won't need to add ‘rust-ring-0.17’ to atuin's inputs then. > > - Importer: Insert *-cargo-inputs alphabetically too. > > Yay! > > > I'll try to keep cargo-build-system compatible with current packages. > > > > Draft migration path: > > 1. Import dependencies to (gnu packages rust-crates) and copy needed > > dependencies to (gnu packages rust-sources). > > 2. Remove #:cargo-inputs of applications, refine their definitions and > > relocate > > them to categorized modules. > > 3. Remove all crates-* modules. > > It seems to me that 2 and 3 can happen later as necessary, that 1 is the > most important part. Especially since I think we'd do well to have the > mixed build-system packages not be cargo-build-system but their other > build-system instead. I agree, so I'll make the changes compatible with current packages.