69 lines
1.2 KiB
Nix
69 lines
1.2 KiB
Nix
{ mkCljBin
|
|
, callPackage
|
|
, lib
|
|
, doerg-parser
|
|
, doerg-tex
|
|
, ibm-plex-web
|
|
, fake-git
|
|
, our-tex ? callPackage ./our-tex.nix {}
|
|
, makeWrapper
|
|
, breakpointHook
|
|
}:
|
|
|
|
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-tex
|
|
];
|
|
in mkCljBin' {
|
|
name = "net.deertopia/doerg";
|
|
version = "0.1.0";
|
|
projectSrc = ./.;
|
|
lockfile = ../deps-lock.json;
|
|
main-ns = "net.deertopia.doerg.main";
|
|
nativeBuildInputs = [
|
|
plex
|
|
makeWrapper
|
|
breakpointHook
|
|
];
|
|
buildInputs = [
|
|
doerg-parser
|
|
doerg-tex
|
|
plex
|
|
our-tex
|
|
];
|
|
nativeCheckInputs = [
|
|
doerg-parser
|
|
doerg-tex
|
|
plex
|
|
our-tex
|
|
];
|
|
doCheck = true;
|
|
checkPhase = ''
|
|
clojure -M:test
|
|
'';
|
|
postInstall = ''
|
|
wrapProgram $out/bin/doerg \
|
|
--prefix PATH : ${bin-path}
|
|
'';
|
|
# installPhase= ''
|
|
# runHook preInstall
|
|
# exit 1
|
|
# runHook postInstall
|
|
# '';
|
|
}
|