diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index a221ce38c8a2..e135374511fb 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -33,7 +33,7 @@ in , profilingDetail ? "exported-functions" # TODO enable shared libs for cross-compiling , enableSharedExecutables ? false -, enableSharedLibraries ? (ghc.enableShared or false) +, enableSharedLibraries ? !stdenv.hostPlatform.isStatic && (ghc.enableShared or false) , enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin , enableStaticLibraries ? !(stdenv.hostPlatform.isWindows or stdenv.hostPlatform.isWasm) , enableHsc2hsViaAsm ? stdenv.hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4" diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index 48e4618762a6..b3fe7bf8c94f 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -50,15 +50,6 @@ self: super: let # ++ optional (super.stdenv.hostPlatform.libc == "glibc") ((flip overrideInStdenv) [ self.stdenv.glibc.static ]) ; - # Force everything to link statically. - haskellStaticAdapter = self: super: { - mkDerivation = attrs: super.mkDerivation (attrs // { - enableSharedLibraries = false; - enableSharedExecutables = false; - enableStaticLibraries = true; - }); - }; - removeUnknownConfigureFlags = f: with self.lib; remove "--disable-shared" (remove "--enable-static" f); @@ -102,12 +93,6 @@ in { clangStdenv = foldl (flip id) super.clangStdenv staticAdapters; libcxxStdenv = foldl (flip id) super.libcxxStdenv staticAdapters; - haskell = super.haskell // { - packageOverrides = composeExtensions - (super.haskell.packageOverrides or (_: _: {})) - haskellStaticAdapter; - }; - zlib = super.zlib.override { # Don’t use new stdenv zlib because # it doesn’t like the --disable-shared flag