From 3021f2f529c914fe2ac8212e4388b16f57663e1d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Feb 2015 20:15:26 +0100 Subject: [PATCH] haskell-generic-builder: update and jailbreak cabal files before patchPhase is run The updated and jailbroken Cabal file must be in place before the 'patchPhase' hook is run, otherwise we cannot use that hook to patch the Cabal file! Resolves https://github.com/NixOS/nixpkgs/issues/5922. As an added bonus, this change makes the "jailbreakPhase" obsolete. --- .../haskell-modules/generic-builder.nix | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index da07af21c77..f22d2d7e507 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -111,7 +111,7 @@ stdenv.mkDerivation ({ name = "${optionalString hasActiveLibrary "haskell-"}${pname}-${version}"; prePhases = ["setupCompilerEnvironmentPhase"]; - preConfigurePhases = ["jailbreakPhase" "compileBuildDriverPhase"]; + preConfigurePhases = ["compileBuildDriverPhase"]; preInstallPhases = ["haddockPhase"]; inherit src; @@ -121,6 +121,14 @@ stdenv.mkDerivation ({ LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase. + prePatch = optionalString (editedCabalFile != null) '' + echo "Replacing Cabal file with edited version ${newCabalFile}." + cp ${newCabalFile} ${pname}.cabal + '' + optionalString jailbreak '' + echo "Running jailbreak-cabal to lift version restrictions on build inputs." + ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal + '' + prePatch; + setupCompilerEnvironmentPhase = '' runHook preSetupCompilerEnvironment @@ -155,20 +163,6 @@ stdenv.mkDerivation ({ runHook postSetupCompilerEnvironment ''; - jailbreakPhase = '' - runHook preJailbreak - - ${optionalString (editedCabalFile != null) '' - echo "Replacing Cabal file with edited version ${newCabalFile}." - cp ${newCabalFile} ${pname}.cabal - ''}${optionalString jailbreak '' - echo "Running jailbreak-cabal to lift version restrictions on build inputs." - ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal - ''} - - runHook postJailbreak - ''; - compileBuildDriverPhase = '' runHook preCompileBuildDriver @@ -281,7 +275,6 @@ stdenv.mkDerivation ({ // optionalAttrs (configureFlags != []) { inherit configureFlags; } // optionalAttrs (patches != []) { inherit patches; } // optionalAttrs (patchPhase != "") { inherit patchPhase; } -// optionalAttrs (prePatch != "") { inherit prePatch; } // optionalAttrs (postPatch != "") { inherit postPatch; } // optionalAttrs (preConfigure != "") { inherit preConfigure; } // optionalAttrs (postConfigure != "") { inherit postConfigure; }