diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/elm/packages/ghc9_2/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/elm/packages/ghc9_2/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/ghc9_2/default.nix b/nixpkgs/pkgs/development/compilers/elm/packages/ghc9_2/default.nix new file mode 100644 index 000000000000..5ef5eff3bef1 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/elm/packages/ghc9_2/default.nix @@ -0,0 +1,53 @@ +{ pkgs, lib }: + +self: pkgs.haskell.packages.ghc92.override { + overrides = self: super: with pkgs.haskell.lib.compose; with lib; + 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` + */ + elm-format = justStaticExecutables (overrideCabal + (drv: { + jailbreak = true; + doHaddock = false; + postPatch = '' + mkdir -p ./generated + cat <<EOHS > ./generated/Build_elm_format.hs + module Build_elm_format where + gitDescribe :: String + gitDescribe = "${drv.version}" + EOHS + ''; + + description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; + homepage = "https://github.com/avh4/elm-format"; + license = licenses.bsd3; + maintainers = with maintainers; [ avh4 turbomack ]; + }) + (self.callPackage ./elm-format/elm-format.nix { })); + }; + + fixHaddock = overrideCabal (_: { + configureFlags = [ "--ghc-option=-Wno-error=unused-packages" ]; + doHaddock = false; + }); + in + elmPkgs // { + inherit elmPkgs; + + # Needed for elm-format + avh4-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/avh4-lib.nix { })); + elm-format-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/elm-format-lib.nix { })); + elm-format-test-lib = fixHaddock (self.callPackage ./elm-format/elm-format-test-lib.nix { }); + elm-format-markdown = fixHaddock (self.callPackage ./elm-format/elm-format-markdown.nix { }); + + # elm-format requires text >= 2.0 + text = self.text_2_0_2; + # unorderd-container's tests indirectly depend on text < 2.0 + unordered-containers = overrideCabal (drv: { doCheck = false; }) super.unordered-containers; + # relude-1.1.0.0's tests depend on hedgehog < 1.2, which indirectly depends on text < 2.0 + relude = overrideCabal (drv: { doCheck = false; }) super.relude; + }; +} |