about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-03-23T23·59+0200
committertazjin <mail@tazj.in>2021-03-24T00·54+0000
commitb59f712535453ac971239ddec28196a1a071ae42 (patch)
tree118f54abfdfbb73e22885e47de1949e5d4be1447
parent63e1706096f825f369c016d2827f366e1dde7a35 (diff)
fix(gemma): Fix build by backporting Elm 0.18 r/2327
Backports an old version of the Elm language (before the release where
they made everyone rewrite their programs), from the same old nixpkgs
commit as was previously used in overrides (see CL/2646).

Change-Id: I0ae4cc611aa40269b290651ab982c1db93518d8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2649
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
-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