typst-bot: refactor

This commit is contained in:
Primrose 2025-07-30 12:29:49 +02:00
parent cc2c89bbd7
commit 7a27565b0d
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -1,11 +1,16 @@
{
rustPlatform,
fetchFromGitHub,
lib,
rustPlatform,
runCommand,
fetchFromGitHub,
}: let
rev = "6be5470fcb19e857f76ede9a7f0c96cac63e3abc";
in
rustPlatform.buildRustPackage (finalAttrs: {
rustPlatform.buildRustPackage (finalAttrs: let
fontDrv = runCommand "typst-bot-font" {} ''
cp -r ${finalAttrs.src}/fonts $out
'';
in {
pname = "typst-bot";
version = lib.substring 0 8 rev;
@ -21,11 +26,10 @@ in
echo 'fn main() { println!("cargo:rustc-env=BUILD_SHA=${rev}"); }' > crates/bot/build.rs
# Patch the fonts with src
# FIXME: is this the right way to patch
substituteInPlace crates/worker/src/sandbox.rs --replace-fail 'read_dir("fonts")' 'read_dir("${finalAttrs.src}/fonts")'
substituteInPlace crates/worker/src/sandbox.rs --replace-fail 'read_dir("fonts")' 'read_dir("${fontDrv}")'
# Patch the command calling the worker by name.
substituteInPlace crates/bot/src/worker.rs --replace-fail 'Command::new("./worker")' 'Command::new("worker")'
substituteInPlace crates/bot/src/worker.rs --replace-fail 'Command::new("./worker")' 'Command::new("${placeholder "out"}/bin/worker")'
'';
cargoBuildFlags = ["--workspace"];