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.

Reply via email to