.files/nix/packages/by-name/typst-bot/package.nix

37 lines
993 B
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
}: let
rev = "c9d4b164ff5dc2567bb0de3876460e51da62ba94";
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "typst-bot";
version = lib.substring 0 8 rev;
src = fetchFromGitHub {
owner = "mattfbacon";
repo = "typst-bot";
inherit rev;
hash = "sha256-tB+zrE5p7zOloOgoP2fmFsajd4IBf94ET1v/0W3aNcM=";
};
preBuild = ''
# Don't use the upstream way of embedding the git rev
echo 'fn main() { println!("cargo:rustc-env=BUILD_SHA=${rev}"); }' > crates/bot/build.rs
# Patch the command calling the worker by name.
substituteInPlace crates/bot/src/worker.rs --replace-fail \
'"./worker"' \
'"${placeholder "out"}/bin/worker"'
'';
cargoBuildFlags = ["--workspace"];
cargoLock = {
lockFile = "${finalAttrs.src}/Cargo.lock";
outputHashes = {
"poise-0.6.1" = "sha256-iXyp9sR/vzPsexGPdRjfuKyFcGqvDdqiBAXnuw/HFo8=";
};
};
})