diff options
Diffstat (limited to 'pkgs/development/tools/haskell')
-rw-r--r-- | pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix index f8f1f85b2703..b55fd6aa6ba7 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix @@ -2,6 +2,7 @@ , stdenv , supportedGhcVersions ? [ "884" "8107" "902" ] ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ "921" ] +, dynamic ? true , haskellPackages , haskell }: @@ -13,19 +14,25 @@ # for example. Read more about this in the haskell-language-server section of the nixpkgs manual. # let - inherit (lib) concatStringsSep concatMapStringsSep take splitString; + inherit (lib) concatStringsSep concatMapStringsSep take splitString pipe optionals; + inherit (haskell.lib.compose) justStaticExecutables overrideCabal enableCabalFlag disableCabalFlag; getPackages = version: haskell.packages."ghc${version}"; tunedHls = hsPkgs: - haskell.lib.compose.justStaticExecutables - (haskell.lib.compose.overrideCabal (old: { - postInstall = '' - remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server - remove-references-to -t ${hsPkgs.shake.data} $out/bin/haskell-language-server - remove-references-to -t ${hsPkgs.js-jquery.data} $out/bin/haskell-language-server - remove-references-to -t ${hsPkgs.js-dgtable.data} $out/bin/haskell-language-server - remove-references-to -t ${hsPkgs.js-flot.data} $out/bin/haskell-language-server - ''; - }) hsPkgs.haskell-language-server); + lib.pipe hsPkgs.haskell-language-server ([ + (haskell.lib.compose.overrideCabal (old: { + enableSharedExecutables = dynamic; + postInstall = '' + remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server + remove-references-to -t ${hsPkgs.shake.data} $out/bin/haskell-language-server + remove-references-to -t ${hsPkgs.js-jquery.data} $out/bin/haskell-language-server + remove-references-to -t ${hsPkgs.js-dgtable.data} $out/bin/haskell-language-server + remove-references-to -t ${hsPkgs.js-flot.data} $out/bin/haskell-language-server + ''; + })) + ((if dynamic then enableCabalFlag else disableCabalFlag) "dynamic") + ] ++ optionals (!dynamic) [ + justStaticExecutables + ]); targets = version: let packages = getPackages version; in [ |