From 414a557904f5e22285c4abba4cb2c3ff7b75bb2c Mon Sep 17 00:00:00 2001 From: Nicholas Clarke Date: Mon, 21 Aug 2017 12:18:23 +0100 Subject: [PATCH] Add specific overrides for a number of failing packages. Finish overriding bin output for broken packages. Put stack bash completions in $bin. --- .../haskell-modules/configuration-nix.nix | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 83ed62c7de06..c97a586d1eae 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -211,7 +211,10 @@ self: super: builtins.intersectAttrs super { # wxc supports wxGTX >= 3.0, but our current default version points to 2.8. # http://hydra.cryp.to/build/1331287/log/raw - wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; }; + wxc = (overrideCabal super.wxc (drv: { + buildDepends = (drv.buildDepends or []) ++ [self.split]; + postInstall = "cp -v dist/build/libwxc.so.0.92.3.0 $lib/lib/libwxc.so"; + })).override { wxGTK = pkgs.wxGTK30; }; wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; }; # Test suite wants to connect to $DISPLAY. @@ -492,4 +495,39 @@ self: super: builtins.intersectAttrs super { # Alex has some weird files in /usr/share that create a cyclic ref with # its bin dir. alex = hasNoBinOutput super.alex; + + # Disable separate bin outputs for these specific packages that break with it. + H = hasNoBinOutput super.H; + cryptol = hasNoBinOutput super.cryptol; + git-annex = hasNoBinOutput super.git-annex; + sproxy = hasNoBinOutput super.sproxy; + sproxy2 = hasNoBinOutput super.sproxy2; + sproxy-web = hasNoBinOutput super.sproxy-web; + juandelacosa = hasNoBinOutput super.juandelacosa; + mywatch = hasNoBinOutput super.mywatch; + sugarhaskell = hasNoBinOutput super.sugarhaskell; + zerobin = hasNoBinOutput super.zerobin; + + # Override a number of packages with specific references to $out in their + # derivations + stack = overrideCabal super.stack (drv: { + postInstall = '' + exe=$bin/bin/stack + mkdir -p $bin/share/bash-completion/completions + $exe --bash-completion-script $exe >$bin/share/bash-completion/completions/stack + ''; + }); + Agda = overrideCabal super.Agda (drv: { + postInstall = '' + files=("$out/share/"*"-ghc-"*"/Agda-"*"/lib/prim/Agda/"{Primitive.agda,Builtin"/"*.agda}) + for f in "''${files[@]}" ; do + $bin/bin/agda $f + done + for f in "''${files[@]}" ; do + $bin/bin/agda -c --no-main $f + done + $bin/bin/agda-mode compile + ''; + }); + }