Less rebuilds for haskell scripts
This commit is contained in:
parent
c35ccb5b4a
commit
c5fa352616
|
@ -1,15 +1,22 @@
|
|||
self: super:
|
||||
let
|
||||
master = import super.sources.nixpkgs-master { };
|
||||
pkgs = master;
|
||||
inherit (master.haskell.lib) overrideCabal unmarkBroken;
|
||||
in {
|
||||
myHaskellPackages = {
|
||||
inherit (master.haskellPackages)
|
||||
brittany ormolu releaser cabal-fmt stack ghcide cabal-install dhall aeson
|
||||
unordered-containers shh string-interpolate relude replace-megaparsec
|
||||
async say cmdargs megaparsec fdo-notify these neuron taskwarrior pandoc
|
||||
hlint Cabal cabal2nix;
|
||||
makeHaskellScriptPackages = p: {
|
||||
inherit (p)
|
||||
aeson shh string-interpolate relude replace-megaparsec async say
|
||||
megaparsec fdo-notify these;
|
||||
};
|
||||
ghc = master.ghc.withPackages (_: builtins.attrValues self.myHaskellPackages);
|
||||
makeHaskellPackages = p:
|
||||
{
|
||||
inherit (p)
|
||||
brittany ormolu releaser cabal-fmt stack ghcide cabal-install dhall
|
||||
aeson unordered-containers these neuron taskwarrior pandoc hlint
|
||||
cabal2nix;
|
||||
} // makeHaskellScriptPackages p;
|
||||
in {
|
||||
myHaskellPackages = makeHaskellPackages master.haskellPackages;
|
||||
scriptGhc = master.ghc.withPackages
|
||||
(p: builtins.attrValues (makeHaskellScriptPackages p));
|
||||
ghc = master.ghc.withPackages (p: builtins.attrValues (makeHaskellPackages p));
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
self: super: {
|
||||
haskellList = list: ''["${builtins.concatStringsSep ''", "'' list}"]'';
|
||||
writeHaskellScript =
|
||||
{ name ? "haskell-script", bins ? [ ], imports ? [ ] }:
|
||||
writeHaskellScript = { name ? "haskell-script", bins ? [ ], imports ? [ ] }:
|
||||
code:
|
||||
self.writers.makeBinWriter {
|
||||
compileScript = ''
|
||||
cp $contentPath ${name}.hs
|
||||
${self.ghc}/bin/ghc ${name}.hs -threaded -Wall -Wno-unused-top-binds -Wno-missing-signatures -Wno-type-defaults -Wno-unused-imports -Werror
|
||||
${self.scriptGhc}/bin/ghc ${name}.hs -threaded -Wall -Wno-unused-top-binds -Wno-missing-signatures -Wno-type-defaults -Wno-unused-imports -Werror
|
||||
mv ${name} $out
|
||||
${self.binutils-unwrapped}/bin/strip --strip-unneeded "$out"
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue