On 7/11/24 02:21, Ethan Reece wrote:
Hello,

I created a file that packages Typst and its dependencies, and I'm trying to figure out how to contribute it to the Guix project. What I've done to generate the file:

  * guix import -i typst-guix.scm crate --recursive
    --recursive-dev-dependencies --allow-yanked typst-cli
  * I had to run this again for pretty_assertions@0.5 for some reason
  * Marked the modules licensed as "Unicode-3.0" as license:unicode
  * Marked the modules licensed as "Apache-2.0 with LLVM-exception" as
    license:asl2.0
  * Added a snippet at the end (generated with GPT but appears to work)
    that allows me to build everything in it using "guix build -m
    typst-guix.scm" and used this to verify that everything builds
  * Bumped a few packages from rust-1.75 to rust-1.76 that were
    complaining about it
  * For the packages where tests or build failed, disabled tests or
    build for that package so that there are no errors when I run the
    guix build command
  * Added pkg-config and openssl as dependencies for rust-typst-cli-0.11

The file has about 2500 lines worth of dependencies, and I'm a bit confused on how I should handle that. Should I redo all of this on "crates-io.scm" or a different file? What branch should I do this on? Should rust-typst-cli be changed to just typst or put in a different file as that?

- Ethan

Good job getting this to work!

Do the typst tests past? Does the binary work?

I believe that all the crates that came from crates.io should go into crates-io.scm. The typst binary package should simply be called "typst" unless there is a need to distinguish between a cli and gui version. I believe there as a package manager for typst, so if typst packages will be included in guix, would be worth creating a separate file, otherwise the typst cli package could go in markup.scm. I'll let more experienced members confirm or deny these assertions.

Reply via email to