about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--fun/gemma/default.nix13
-rw-r--r--third_party/elmPackages_0_18/default.nix15
2 files changed, 21 insertions, 7 deletions
diff --git a/fun/gemma/default.nix b/fun/gemma/default.nix
index a47365924aa6..dbfaf5effc31 100644
--- a/fun/gemma/default.nix
+++ b/fun/gemma/default.nix
@@ -1,12 +1,13 @@
-{ depot, ... }:
+{ depot, pkgs, ... }:
 
 let
-  inherit (depot.third_party) cacert iana-etc libredirect stdenv runCommandNoCC writeText;
+  inherit (pkgs) cacert iana-etc libredirect stdenv runCommandNoCC writeText;
+  elmPackages = pkgs.elmPackages_0_18;
 
   frontend = stdenv.mkDerivation {
     name = "gemma-frontend.html";
     src = ./frontend;
-    buildInputs = [ cacert iana-etc ]; # elmPackages.elm
+    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:
@@ -35,7 +36,7 @@ let
 in depot.nix.buildLisp.program {
   name = "gemma";
 
-  deps = with depot.third_party.lisp; [
+  deps = with pkgs.lisp; [
     cl-json
     cl-prevalence
     hunchentoot
@@ -46,6 +47,4 @@ in depot.nix.buildLisp.program {
     ./src/gemma.lisp
     injectFrontend
   ];
-# depot does not currently have Gemma's frontend dependencies, thus
-# the build is disabled.
-} // { meta.ci = false; }
+}
diff --git a/third_party/elmPackages_0_18/default.nix b/third_party/elmPackages_0_18/default.nix
new file mode 100644
index 000000000000..55d66f062926
--- /dev/null
+++ b/third_party/elmPackages_0_18/default.nix
@@ -0,0 +1,15 @@
+# Backports Elm packages for Elm 0.18 from an older channel of
+# nixpkgs.
+#
+# Elm 0.19 changed the language & package ecosystem completely,
+# essentially requiring a partial rewrite of all Elm apps. However,
+# //fun/gemma uses Elm 0.18 and I don't have time to rewrite it.
+
+{ pkgs, ... }:
+
+(import (pkgs.fetchFromGitHub {
+  owner = "NixOS";
+  repo = "nixpkgs";
+  rev = "14f9ee66e63077539252f8b4550049381a082518";
+  sha256 = "1wn7nmb1cqfk2j91l3rwc6yhimfkzxprb8wknw5wi57yhq9m6lv1";
+}) {}).elmPackages