The typst-cli tests pass and the binary works (I am currently using it for a small project). For the typst library, the tests require typst_dev_assets which isn't packaged in crates.io or referred to in the typst crate, so I would need to point rust-typst to the GitHub version instead of the Crates version or make it modify the Crates version to load typst_dev_assets correctly, and also add rust-typst-dev-assets to Guix which would point to the typst/typst-dev-assets GitHub repo (not sure whether I should do this or just disable tests, and should this also go in crates-io.scm or a different file).
From what I'm seeing the `typst compile` command, which generates the file, also downloads imported packages from Typst Universe but also accepts local and custom directories, so creating a separate typst.scm file would probably be good.
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.