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.