51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
|
|
{
|
||
|
|
pkgs,
|
||
|
|
lib,
|
||
|
|
makeWrapper,
|
||
|
|
nodejs,
|
||
|
|
fetchElmDeps,
|
||
|
|
}:
|
||
|
|
|
||
|
|
self:
|
||
|
|
pkgs.haskell.packages.ghc96.override {
|
||
|
|
overrides =
|
||
|
|
self: super:
|
||
|
|
let
|
||
|
|
inherit (pkgs.haskell.lib.compose) overrideCabal;
|
||
|
|
elmPkgs = rec {
|
||
|
|
elm = overrideCabal (drv: {
|
||
|
|
# sadly with parallelism most of the time breaks compilation
|
||
|
|
enableParallelBuilding = false;
|
||
|
|
preConfigure = fetchElmDeps {
|
||
|
|
elmPackages = (import ../elm-srcs.nix);
|
||
|
|
elmVersion = drv.version;
|
||
|
|
registryDat = ../../registry.dat;
|
||
|
|
};
|
||
|
|
buildTools = drv.buildTools or [ ] ++ [ makeWrapper ];
|
||
|
|
postInstall = ''
|
||
|
|
wrapProgram $out/bin/elm \
|
||
|
|
--prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
|
||
|
|
'';
|
||
|
|
|
||
|
|
description = "Delightful language for reliable webapps";
|
||
|
|
homepage = "https://elm-lang.org/";
|
||
|
|
license = lib.licenses.bsd3;
|
||
|
|
maintainers = with lib.maintainers; [
|
||
|
|
turbomack
|
||
|
|
];
|
||
|
|
}) (self.callPackage ./elm { });
|
||
|
|
|
||
|
|
inherit fetchElmDeps;
|
||
|
|
elmVersion = elmPkgs.elm.version;
|
||
|
|
};
|
||
|
|
in
|
||
|
|
elmPkgs
|
||
|
|
// {
|
||
|
|
inherit elmPkgs;
|
||
|
|
|
||
|
|
ansi-wl-pprint = overrideCabal (drv: {
|
||
|
|
jailbreak = true;
|
||
|
|
}) (self.callPackage ./ansi-wl-pprint { });
|
||
|
|
};
|
||
|
|
}
|