@@ -1,5 +1,11 @@
1−{ stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, ghcForComponent, hsPkgs, runCommand, libffi, gmp, zlib, ncurses, nodejs }:
1+{ stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, ghcForComponent, hsPkgs, runCommand, libffi, gmp, zlib, ncurses, numactl, nodejs }:
3+ # These are here to avoid multiple calls to override
4+ gmpStatic = gmp.override { withStatic = true; };
5+ zlibStatic = zlib.static;
6+ ncursesStatic = ncurses.override { enableStatic = true; };
7+ numactlStatic = numactl.overrideAttrs (_: { configureFlags = "--enable-static"; });
3lib.makeOverridable (
9lib.makeOverridable (
5{ componentId
11{ componentId
@@ -120,9 +126,10 @@ let
120 "--disable-executable-dynamic"
126 "--disable-executable-dynamic"
121 "--ghc-option=-optl=-pthread"
127 "--ghc-option=-optl=-pthread"
122 "--ghc-option=-optl=-static"
128 "--ghc-option=-optl=-static"
123− "--ghc-option=-optl=-L${gmp.override { withStatic = true; }}/lib"
129+ "--ghc-option=-optl=-L${gmpStatic}/lib"
130+ "--ghc-option=-optl=-L${zlibStatic}/lib"
124− "--ghc-option=-optl=-L${zlib.static}/lib"
131+ "--ghc-option=-optl=-L${ncursesStatic}/lib"
125− "--ghc-option=-optl=-L${ncurses.override { enableStatic = true; }}/lib"
132+ "--ghc-option=-optl=-L${numactlStatic}/lib"
126 ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
133 ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
127 ++ lib.optional doHaddock' "--docdir=${docdir "$doc"}"
134 ++ lib.optional doHaddock' "--docdir=${docdir "$doc"}"
128 ++ lib.optional (enableLibraryProfiling || enableExecutableProfiling) "--profiling-detail=${profilingDetail}"
135 ++ lib.optional (enableLibraryProfiling || enableExecutableProfiling) "--profiling-detail=${profilingDetail}"