This release officially supports GHC 9.6. To avoid dependency conflicts with the elm compiler (see ansi-wl-pprint), elm-format is now built with GHC 9.8. The GHC 9.4 elm package overrides have been removed.
70 lines
1.5 KiB
Nix
70 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
makeWrapper,
|
|
nodejs ? pkgs.nodejs_20,
|
|
}:
|
|
|
|
let
|
|
fetchElmDeps = pkgs.callPackage ./lib/fetchElmDeps.nix { };
|
|
|
|
# Haskell packages that require ghc 9.8
|
|
hs98Pkgs = import ./packages/ghc9_8 { inherit pkgs lib; };
|
|
|
|
# Haskell packages that require ghc 9.6
|
|
hs96Pkgs = import ./packages/ghc9_6 {
|
|
inherit
|
|
pkgs
|
|
lib
|
|
makeWrapper
|
|
nodejs
|
|
fetchElmDeps
|
|
;
|
|
};
|
|
|
|
# Patched, originally npm-downloaded, packages
|
|
patchedNodePkgs = import ./packages/node {
|
|
inherit
|
|
pkgs
|
|
lib
|
|
nodejs
|
|
makeWrapper
|
|
;
|
|
};
|
|
|
|
assembleScope =
|
|
self: basics:
|
|
(hs98Pkgs self).elmPkgs // (hs96Pkgs self).elmPkgs // (patchedNodePkgs self) // basics;
|
|
in
|
|
lib.makeScope pkgs.newScope (
|
|
self:
|
|
assembleScope self (
|
|
with self;
|
|
{
|
|
inherit fetchElmDeps nodejs;
|
|
|
|
/*
|
|
Node/NPM based dependencies can be upgraded using script `packages/generate-node-packages.sh`.
|
|
|
|
* Packages which depend on npm installation of elm can be patched using
|
|
`patchNpmElm` function defined in `packages/lib.nix`.
|
|
*/
|
|
elmLib = import ./lib {
|
|
inherit lib;
|
|
inherit (pkgs) writeScriptBin stdenv;
|
|
inherit (self) elm;
|
|
};
|
|
|
|
elm-json = callPackage ./packages/elm-json { };
|
|
|
|
elm-review = callPackage ./packages/elm-review { };
|
|
|
|
elm-test-rs = callPackage ./packages/elm-test-rs { };
|
|
|
|
elm-test = callPackage ./packages/elm-test { };
|
|
|
|
lamdera = callPackage ./packages/lamdera { };
|
|
}
|
|
)
|
|
)
|