Commit 9fe30c0c authored by Vaibhav Sagar's avatar Vaibhav Sagar

Clean up -dynamic-too patching for Nix

parent 2907c079
...@@ -37,16 +37,23 @@ let ...@@ -37,16 +37,23 @@ let
"ihaskell-widgets" "ihaskell-widgets"
]); ]);
dontCheck = pkgs.haskell.lib.dontCheck; dontCheck = pkgs.haskell.lib.dontCheck;
stringToReplace = "setSessionDynFlags\n flags";
replacementString = "setSessionDynFlags $ flip gopt_set Opt_BuildDynamicToo\n flags";
haskellPackages = pkgs.haskellPackages.override { haskellPackages = pkgs.haskellPackages.override {
overrides = self: super: { overrides = self: super: {
ihaskell = pkgs.haskell.lib.overrideCabal ( ihaskell = pkgs.haskell.lib.overrideCabal (
self.callCabal2nix "ihaskell" src {}) (_drv: { self.callCabal2nix "ihaskell" src {}) (_drv: {
doCheck = false; doCheck = false;
postPatch = '' # Nix-built IHaskell expects to load a *.dyn_o file instead of *.o,
# see https://github.com/gibiansky/IHaskell/issues/728
postPatch = let
original = ''
setSessionDynFlags
flags'';
replacement = ''
setSessionDynFlags $ flip gopt_set Opt_BuildDynamicToo
flags'';
in ''
substituteInPlace ./src/IHaskell/Eval/Evaluate.hs --replace \ substituteInPlace ./src/IHaskell/Eval/Evaluate.hs --replace \
'${stringToReplace}' '${replacementString}' '${original}' '${replacement}'
''; '';
}); });
ghc-parser = self.callCabal2nix "ghc-parser" "${src}/ghc-parser" {}; ghc-parser = self.callCabal2nix "ghc-parser" "${src}/ghc-parser" {};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment