On Mon, Nov 27, 2023 at 12:38:26AM +0100, Tomas Volf wrote: > On 2023-11-25 11:22:46 -0500, Abdullah Imad wrote: > > Hello, > > > > > > I'm trying to package [helix](https://github.com/helix-editor/helix), a text > > editor written in rust. I'm unsure how to write the actual package though. > > The layout is seemingly straight forward - I found a random rust package > > already in guixpkgs and just copied the config - but when it comes to > > `cargo-inputs` and `cargo-development-inputs`, I'm not sure what to do. Do I > > have to define every single variable in `cargo.lock`? For bigger projects > > this seems like an incredible amount of work. Why does the guix system > > require packages to be pulled from guix repos when nix just reads the > > `cargo.lock` and pulls it from crates.io or something? Is that not also > > deterministic, since that's the entire point of the `cargo.lock` file? In > > the flake that helix provides : > > https://github.com/helix-editor/helix/blob/master/flake.nix , the individual > > dependencies are not defined. Am I missing something, or is this just how > > its done? > > I think people usually use the importer. For crates it would be something like: > > guix import crate -r PACKAGE-NAME > > That will take care of adding all dependencies not yet present in the Guix. The > generated definitions might need some tweaks though. I just checked and it doesn't look like you can use the importer for helix itself. Also the crates in the workspace, helix-core etc., are placeholders on crates-io, so you'll need to manually parse the Cargo.toml files in each of the crates in the project. crates listed in [dependencies] go in cargo-inputs and [dev-dependencies] go in cargo-development-inputs. -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted