about summary refs log tree commit diff
path: root/pkgs/development/compilers/elm
diff options
context:
space:
mode:
authorr-vdp <ramses@well-founded.dev>2023-05-21 21:56:48 +0200
committerr-vdp <ramses@well-founded.dev>2023-05-22 00:26:25 +0200
commit714c4d35fa509d168f2df634fe1d4711f51b2e62 (patch)
treec0c8d5a91b3facfcdaa27415b0259ba14eebf48c /pkgs/development/compilers/elm
parent5ff5d1b571e2db7b6a038492e362a63ab75d77b9 (diff)
elmPackages: nodejs_14 -> nodejs_18.
Follow-up to #230543, we were still using nodejs_14 for some packages.

I also turned the node dependency into an input, so that it can be
overriden, which is handy for local testing.
Diffstat (limited to 'pkgs/development/compilers/elm')
-rw-r--r--pkgs/development/compilers/elm/default.nix24
1 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 6a720026b3ce8..55b55b931aab9 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -1,10 +1,10 @@
-{ pkgs, lib, makeWrapper }:
+{ pkgs
+, lib
+, makeWrapper
+, nodejs ? pkgs.nodejs_18
+}:
 
 let
-
-  # To control nodejs version we pass down
-  nodejs = pkgs.nodejs_18;
-
   fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { };
 
   # Haskell packages that require ghc 8.10
@@ -115,8 +115,7 @@ let
   };
 
   nodePkgs = pkgs.callPackage ./packages/node-composition.nix {
-    inherit pkgs;
-    nodejs = pkgs.nodejs_14;
+    inherit pkgs nodejs;
     inherit (pkgs.stdenv.hostPlatform) system;
   };
 
@@ -152,7 +151,8 @@ in lib.makeScope pkgs.newScope (self: with self; {
     };
   };
 } // (hs810Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (with elmLib; with (hs810Pkgs self).elmPkgs; {
-  elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // {
+  elm-verify-examples = let
+    patched = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // {
     meta = with lib; nodePkgs.elm-verify-examples.meta // {
       description = "Verify examples in your docs";
       homepage = "https://github.com/stoeffel/elm-verify-examples";
@@ -160,6 +160,14 @@ in lib.makeScope pkgs.newScope (self: with self; {
       maintainers = [ maintainers.turbomack ];
     };
   };
+  in patched.override (old: {
+    preRebuild = (old.preRebuild or "") + ''
+      # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
+      # in case of just this package
+      # TODO: investigate, same as for elm-coverage below
+      sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
+    '';
+  });
 
   elm-coverage = let
       patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);