Files
net-deertopia/doerg/default.nix
Madeleine Sydney Ślaga 29d5cdc85a
All checks were successful
build / build (push) Successful in 5s
feat: o pona e ijo Config kepeken lipu Library
2026-03-23 08:40:50 -06:00

72 lines
1.5 KiB
Nix

{ mkCljBin
, callPackage
, lib
, doerg-parser
, doerg-temml-worker
, ibm-plex-web
, fake-git
, our-tex ? callPackage ./our-tex.nix {}
, makeWrapper
, writeText
}:
let
# mkCljBin sans fake-git. We don't need it, and I don't want it in
# my dev shell.
mkCljBin' = args: (mkCljBin args).overrideAttrs (final: prev: {
nativeBuildInputs =
builtins.filter
# A possibly-sketchy predicate, lol.
(x: x != fake-git)
prev.nativeBuildInputs;
});
plex = ibm-plex-web.override {
families = [ "math" "serif" "sans" "sans-kr" ];
};
bin-path = lib.makeBinPath [
doerg-parser
our-tex
doerg-temml-worker
];
doerg-config = writeText "doerg-extra-config.edn" ''
#:net.deertopia.doerg
{:ibm-plex-web "${ibm-plex-web}"
:latex "${lib.getExe' our-tex "xelatex"}"
:dvisvgm "${lib.getExe' our-tex "dvisvgm"}"
:doerg-temml-worker "${lib.getExe doerg-temml-worker}"
:doerg-parser "${lib.getExe doerg-parser}"}
'';
in mkCljBin' {
name = "net.deertopia/doerg";
version = "0.1.0";
projectSrc = lib.cleanSource ./.;
lockfile = ../deps-lock.json;
main-ns = "net.deertopia.doerg.main";
nativeBuildInputs = [
plex
makeWrapper
];
buildInputs = [
doerg-parser
doerg-temml-worker
plex
our-tex
];
nativeCheckInputs = [
doerg-parser
doerg-temml-worker
plex
our-tex
];
preBuild = ''
cp ${doerg-config} resources/net/deertopia/doerg/extra-config.edn
'';
doCheck = true;
checkPhase = ''
clojure -M:test
'';
}