From efcd1fbf90529e5f0e6820c36639d8382f7459d9 Mon Sep 17 00:00:00 2001 From: Marek Fajkus Date: Thu, 28 Dec 2023 14:14:21 +0100 Subject: [PATCH 1/4] elmPackages.elm: use ghc96 --- pkgs/development/compilers/elm/default.nix | 27 ++++++++++++------- .../compilers/elm/packages/elm.nix | 11 +++++--- .../compilers/elm/packages/elmi-to-json.nix | 5 ++-- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 9ae727f93767..df969af940d8 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -7,8 +7,8 @@ let fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { }; - # Haskell packages that require ghc 8.10 - hs810Pkgs = self: pkgs.haskell.packages.ghc810.override { + # Haskell packages that require ghc 9.2 + hs96Pkgs = self: pkgs.haskell.packages.ghc92.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; let elmPkgs = rec { elm = overrideCabal (drv: { @@ -20,7 +20,6 @@ let registryDat = ./registry.dat; }; buildTools = drv.buildTools or [] ++ [ makeWrapper ]; - jailbreak = true; postInstall = '' wrapProgram $out/bin/elm \ --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} @@ -32,6 +31,17 @@ let maintainers = with maintainers; [ domenkozar turbomack ]; }) (self.callPackage ./packages/elm.nix { }); + inherit fetchElmDeps; + elmVersion = elmPkgs.elm.version; + }; + in { + inherit elmPkgs; + }; + }; + + hs810Pkgs = self: pkgs.haskell.packages.ghc810.override { + overrides = self: super: with pkgs.haskell.lib.compose; with lib; + let elmPkgs = { elmi-to-json = justStaticExecutables (overrideCabal (drv: { prePatch = '' substituteInPlace package.yaml --replace "- -Werror" "" @@ -49,18 +59,15 @@ let prePatch = '' sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place ''; - jailbreak = true; # Tests are failing because of missing instances for Eq and Show type classes doCheck = false; + jailbreak = true; description = "Instrument Elm code as a preprocessing step for elm-coverage"; homepage = "https://github.com/zwilias/elm-instrument"; license = licenses.bsd3; maintainers = [ maintainers.turbomack ]; }) (self.callPackage ./packages/elm-instrument.nix {})); - - inherit fetchElmDeps; - elmVersion = elmPkgs.elm.version; }; in elmPkgs // { inherit elmPkgs; @@ -82,7 +89,7 @@ let # Haskell packages that require ghc 9.2 hs92Pkgs = self: pkgs.haskell.packages.ghc92.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = rec { + let elmPkgs = { /* The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: `package/nix/build.sh` @@ -131,7 +138,7 @@ in lib.makeScope pkgs.newScope (self: with self; { `patchNpmElm` function also defined in `packages/lib.nix`. */ elmLib = let - hsElmPkgs = hs810Pkgs self; + hsElmPkgs = hs96Pkgs self; in import ./packages/lib.nix { inherit lib; inherit (pkgs) writeScriptBin stdenv; @@ -143,7 +150,7 @@ in lib.makeScope pkgs.newScope (self: with self; { elm-test-rs = callPackage ./packages/elm-test-rs.nix { }; elm-test = callPackage ./packages/elm-test.nix { }; -} // (hs810Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (with elmLib; with (hs810Pkgs self).elmPkgs; { +} // (hs96Pkgs self).elmPkgs // (hs810Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (with elmLib; with (hs810Pkgs self).elmPkgs; { elm-verify-examples = let patched = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // { meta = with lib; nodePkgs.elm-verify-examples.meta // { diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix index a0c248af17bb..5b877e8a6a76 100644 --- a/pkgs/development/compilers/elm/packages/elm.nix +++ b/pkgs/development/compilers/elm/packages/elm.nix @@ -8,12 +8,15 @@ }: mkDerivation { pname = "elm"; - version = "0.19.1"; + # We're building binaries from commit that npm installer is using since + # November 1st release called 0.19.1-6. + # These binaries are built with newer ghc version and also support Aarch64 for Linux and Darwin. + # Upstream git tag for 0.19.1 is still pointing to original commit from 2019. + version = "0.19.1-6"; src = fetchgit { url = "https://github.com/elm/compiler"; - sha256 = "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w"; - rev = "c9aefb6230f5e0bda03205ab0499f6e4af924495"; - fetchSubmodules = true; + rev = "2f6dd29258e880dbb7effd57a829a0470d8da48b"; + sha256 = "sha256-6PXucwc9nFN6TxxsSBuwEkKelThtJ6CLshjfsCmHMsE="; }; isLibrary = false; isExecutable = true; diff --git a/pkgs/development/compilers/elm/packages/elmi-to-json.nix b/pkgs/development/compilers/elm/packages/elmi-to-json.nix index 3362ce5cc7a7..f82f3e5179ac 100644 --- a/pkgs/development/compilers/elm/packages/elmi-to-json.nix +++ b/pkgs/development/compilers/elm/packages/elmi-to-json.nix @@ -8,9 +8,8 @@ mkDerivation { version = "1.3.0"; src = fetchgit { url = "https://github.com/stoeffel/elmi-to-json"; - sha256 = "11j56vcyhijkwi9hzggkwwmxlhzhgm67ab2m7kxkhcbbqgpasa8n"; - rev = "ae40d1aa1e3d6878f2af514e611d44890e7abc1e"; - fetchSubmodules = true; + rev = "bd18efb59d247439b362272b480e67a16a4e424e"; + sha256 = "sha256-9fScXRSyTkqzeXwh/Jjza6mnENCThlU6KI366CLFcgY="; }; isLibrary = true; isExecutable = true; From b481fa58d5fa16f2675a1fe016c5c5b7cb847755 Mon Sep 17 00:00:00 2001 From: Marek Fajkus Date: Sat, 6 Jan 2024 13:21:44 +0100 Subject: [PATCH 2/4] fix ghc version --- pkgs/development/compilers/elm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index df969af940d8..444334306956 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -8,7 +8,7 @@ let fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { }; # Haskell packages that require ghc 9.2 - hs96Pkgs = self: pkgs.haskell.packages.ghc92.override { + hs96Pkgs = self: pkgs.haskell.packages.ghc96.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; let elmPkgs = rec { elm = overrideCabal (drv: { From 910829801085e98d9617be19da13dd916f290973 Mon Sep 17 00:00:00 2001 From: Marek Fajkus Date: Sat, 6 Jan 2024 14:21:12 +0100 Subject: [PATCH 3/4] fix build --- pkgs/development/compilers/elm/default.nix | 17 ++++++++++------- .../compilers/elm/fetchElmDeps.nix | 3 +-- .../compilers/elm/packages/elm.nix | 9 +++------ pkgs/development/compilers/elm/registry.dat | Bin 132822 -> 130280 bytes pkgs/development/compilers/elm/update.sh | 2 +- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 444334306956..c28a231760e4 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -7,7 +7,7 @@ let fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { }; - # Haskell packages that require ghc 9.2 + # Haskell packages that require ghc 9.6 hs96Pkgs = self: pkgs.haskell.packages.ghc96.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; let elmPkgs = rec { @@ -34,14 +34,15 @@ let inherit fetchElmDeps; elmVersion = elmPkgs.elm.version; }; - in { + in elmPkgs // { inherit elmPkgs; }; }; + # Haskell packages that require ghc 8.10 hs810Pkgs = self: pkgs.haskell.packages.ghc810.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = { + let elmPkgs = rec { elmi-to-json = justStaticExecutables (overrideCabal (drv: { prePatch = '' substituteInPlace package.yaml --replace "- -Werror" "" @@ -59,15 +60,17 @@ let prePatch = '' sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place ''; + jailbreak = true; # Tests are failing because of missing instances for Eq and Show type classes doCheck = false; - jailbreak = true; description = "Instrument Elm code as a preprocessing step for elm-coverage"; homepage = "https://github.com/zwilias/elm-instrument"; license = licenses.bsd3; maintainers = [ maintainers.turbomack ]; }) (self.callPackage ./packages/elm-instrument.nix {})); + + elmVersion = elmPkgs.elm.version; }; in elmPkgs // { inherit elmPkgs; @@ -89,7 +92,7 @@ let # Haskell packages that require ghc 9.2 hs92Pkgs = self: pkgs.haskell.packages.ghc92.override { overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = { + let elmPkgs = rec { /* The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: `package/nix/build.sh` @@ -138,7 +141,7 @@ in lib.makeScope pkgs.newScope (self: with self; { `patchNpmElm` function also defined in `packages/lib.nix`. */ elmLib = let - hsElmPkgs = hs96Pkgs self; + hsElmPkgs = hs810Pkgs self; in import ./packages/lib.nix { inherit lib; inherit (pkgs) writeScriptBin stdenv; @@ -150,7 +153,7 @@ in lib.makeScope pkgs.newScope (self: with self; { elm-test-rs = callPackage ./packages/elm-test-rs.nix { }; elm-test = callPackage ./packages/elm-test.nix { }; -} // (hs96Pkgs self).elmPkgs // (hs810Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (with elmLib; with (hs810Pkgs self).elmPkgs; { +} // (hs96Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (hs810Pkgs self).elmPkgs // (with elmLib; with (hs96Pkgs self).elmPkgs; { elm-verify-examples = let patched = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // { meta = with lib; nodePkgs.elm-verify-examples.meta // { diff --git a/pkgs/development/compilers/elm/fetchElmDeps.nix b/pkgs/development/compilers/elm/fetchElmDeps.nix index 05dffaa9e2eb..9715bfbe037d 100644 --- a/pkgs/development/compilers/elm/fetchElmDeps.nix +++ b/pkgs/development/compilers/elm/fetchElmDeps.nix @@ -3,8 +3,7 @@ {elmPackages, registryDat, elmVersion}: let - makeDotElm = import ./makeDotElm.nix {inherit stdenv lib fetchurl registryDat;}; - + makeDotElm = import ./makeDotElm.nix { inherit stdenv lib fetchurl registryDat; }; in '' export ELM_HOME=`pwd`/.elm diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix index 5b877e8a6a76..1071d50a84c9 100644 --- a/pkgs/development/compilers/elm/packages/elm.nix +++ b/pkgs/development/compilers/elm/packages/elm.nix @@ -8,15 +8,12 @@ }: mkDerivation { pname = "elm"; - # We're building binaries from commit that npm installer is using since - # November 1st release called 0.19.1-6. - # These binaries are built with newer ghc version and also support Aarch64 for Linux and Darwin. - # Upstream git tag for 0.19.1 is still pointing to original commit from 2019. - version = "0.19.1-6"; + version = "0.19.1"; src = fetchgit { url = "https://github.com/elm/compiler"; + sha256 = "1h9jhwlv1pqqna5s09vd72arwhhjn0dlhv0w9xx5771x0xryxxg8"; rev = "2f6dd29258e880dbb7effd57a829a0470d8da48b"; - sha256 = "sha256-6PXucwc9nFN6TxxsSBuwEkKelThtJ6CLshjfsCmHMsE="; + fetchSubmodules = true; }; isLibrary = false; isExecutable = true; diff --git a/pkgs/development/compilers/elm/registry.dat b/pkgs/development/compilers/elm/registry.dat index 248a1503a3c0014142da7e620ab304cbe4a1a35e..a1c3b2f71c3e8dfd0bbb91ced769308f2b6297b7 100644 GIT binary patch delta 15767 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 diff --git a/pkgs/development/compilers/elm/update.sh b/pkgs/development/compilers/elm/update.sh index c2500b462adf..60ddacb3108a 100755 --- a/pkgs/development/compilers/elm/update.sh +++ b/pkgs/development/compilers/elm/update.sh @@ -1,7 +1,7 @@ #!/usr/bin/env nix-shell #!nix-shell -p cabal2nix elm2nix -i bash ../../.. -cabal2nix https://github.com/elm/compiler --revision c9aefb6230f5e0bda03205ab0499f6e4af924495 > packages/elm.nix +cabal2nix https://github.com/elm/compiler --revision 2f6dd29258e880dbb7effd57a829a0470d8da48b > packages/elm.nix echo "need to manually copy registry.dat from an existing elm project" #elm2nix snapshot > registry.dat pushd "$(nix-build -A elmPackages.elm.src --no-out-link ../../../..)/reactor" From 6f3ec49a11c50e6b36f48d520e18d80d8ddd0f94 Mon Sep 17 00:00:00 2001 From: Marek Fajkus Date: Sat, 6 Jan 2024 14:31:32 +0100 Subject: [PATCH 4/4] Move comment and fix elmLib --- pkgs/development/compilers/elm/default.nix | 4 +--- pkgs/development/compilers/elm/update.sh | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index c28a231760e4..6815eb71e25f 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -69,8 +69,6 @@ let license = licenses.bsd3; maintainers = [ maintainers.turbomack ]; }) (self.callPackage ./packages/elm-instrument.nix {})); - - elmVersion = elmPkgs.elm.version; }; in elmPkgs // { inherit elmPkgs; @@ -141,7 +139,7 @@ in lib.makeScope pkgs.newScope (self: with self; { `patchNpmElm` function also defined in `packages/lib.nix`. */ elmLib = let - hsElmPkgs = hs810Pkgs self; + hsElmPkgs = (hs810Pkgs self) // (hs96Pkgs self); in import ./packages/lib.nix { inherit lib; inherit (pkgs) writeScriptBin stdenv; diff --git a/pkgs/development/compilers/elm/update.sh b/pkgs/development/compilers/elm/update.sh index 60ddacb3108a..ecd24de46f67 100755 --- a/pkgs/development/compilers/elm/update.sh +++ b/pkgs/development/compilers/elm/update.sh @@ -1,9 +1,15 @@ #!/usr/bin/env nix-shell #!nix-shell -p cabal2nix elm2nix -i bash ../../.. +# We're building binaries from commit that npm installer is using since +# November 1st release called 0.19.1-6 in npm registry. +# These binaries are built with newer ghc version and also support Aarch64 for Linux and Darwin. +# Upstream git tag for 0.19.1 is still pointing to original commit from 2019. cabal2nix https://github.com/elm/compiler --revision 2f6dd29258e880dbb7effd57a829a0470d8da48b > packages/elm.nix + echo "need to manually copy registry.dat from an existing elm project" #elm2nix snapshot > registry.dat + pushd "$(nix-build -A elmPackages.elm.src --no-out-link ../../../..)/reactor" elm2nix convert > $OLDPWD/packages/elm-srcs.nix popd