From a93b7583084ff9084d73873d80d8dc428406593c Mon Sep 17 00:00:00 2001 From: aszlig Date: Thu, 10 Sep 2015 19:19:11 +0200 Subject: profiles/common: Force rebuilding GHC+packages. I was glad that the issues because of the longstanding GHC determinism bug (https://ghc.haskell.org/trac/ghc/ticket/4012) happened less frequently with GHC 7.10. Unfortunately, they still happen, as reported by @Profpatsch at headcounter/deployment#19 so we're going to override the GHC derivation with an additional attribute that is exported into the environment of the builder. This attribute causes GHC and all dependant packages to be rebuilt on the Headcounter Hydra. The original issue was because we're using the official NixOS binary cache as well as building everything from source. It's helpful for not needing to rebuild the entire world, but for Haskell packages it's harmful until the mentioned GHC bug has been fixed. Signed-off-by: aszlig --- modules/profiles/common.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/profiles/common.nix b/modules/profiles/common.nix index 9dc788cb..c941d636 100644 --- a/modules/profiles/common.nix +++ b/modules/profiles/common.nix @@ -26,6 +26,14 @@ with lib; config = { nixpkgs.config.packageOverrides = pkgs: { + # XXX: REAAAALLLY UGLY hack to force the Headcounter Hydra to rebuild GHC + # and all its packages and not use binary substitution. + haskellPackages = pkgs.haskellPackages.override { + ghc = pkgs.haskellPackages.ghc.overrideDerivation (const { + forceRebuild = true; + }); + }; + inherit (import ../../pkgs { # We need to make sure to incorporate other package overrides, # otherwise we are unable to override packages in vuizvui.*. -- cgit 1.4.1