aa122cbae7
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
57 lines
1.4 KiB
Nix
57 lines
1.4 KiB
Nix
{ depot, pkgs, ... }:
|
|
|
|
let
|
|
inherit (pkgs) cacert iana-etc libredirect stdenv runCommandNoCC writeText;
|
|
elmPackages = depot.third_party.elmPackages_0_18;
|
|
|
|
frontend = stdenv.mkDerivation {
|
|
name = "gemma-frontend.html";
|
|
src = ./frontend;
|
|
buildInputs = [ cacert iana-etc elmPackages.elm ];
|
|
|
|
# The individual Elm packages this requires are not packaged and I
|
|
# can't be bothered to do that now, so lets open the escape hatch:
|
|
outputHashAlgo = "sha256";
|
|
outputHash = "000xhds5bsig3kbi7dhgbv9h7myacf34bqvw7avvz7m5mwnqlqg7";
|
|
|
|
phases = [ "unpackPhase" "buildPhase" ];
|
|
buildPhase = ''
|
|
export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
|
|
LD_PRELOAD=${libredirect}/lib/libredirect.so
|
|
|
|
export SYSTEM_CERTIFICATE_PATH=${cacert}/etc/ssl/certs
|
|
|
|
mkdir .home && export HOME="$PWD/.home"
|
|
elm-make --yes Main.elm --output $out
|
|
'';
|
|
};
|
|
|
|
injectFrontend = writeText "gemma-frontend.lisp" ''
|
|
(in-package :gemma)
|
|
(setq *static-file-location* "${runCommandNoCC "frontend" {} ''
|
|
mkdir -p $out
|
|
cp ${frontend} $out/index.html
|
|
''}/")
|
|
'';
|
|
in
|
|
depot.nix.buildLisp.program {
|
|
name = "gemma";
|
|
|
|
deps = with depot.third_party.lisp; [
|
|
cl-json
|
|
cl-prevalence
|
|
hunchentoot
|
|
local-time
|
|
];
|
|
|
|
srcs = [
|
|
./src/gemma.lisp
|
|
injectFrontend
|
|
];
|
|
|
|
# depends on SBCL
|
|
brokenOn = [
|
|
"ccl"
|
|
"ecl"
|
|
];
|
|
}
|