diff options
Diffstat (limited to 'pkgs/development/haskell-modules/generic-builder.nix')
-rw-r--r-- | pkgs/development/haskell-modules/generic-builder.nix | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index faf1ce4046e2..3e9f82db359f 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -3,7 +3,7 @@ }: { pname -, version +, version, revision ? null , sha256 ? null , src ? fetchurl { url = "mirror://hackage/${pname}-${version}.tar.gz"; inherit sha256; } , buildDepends ? [] @@ -43,9 +43,10 @@ , preFixup ? "", postFixup ? "" , coreSetup ? false # Use only core packages to build Setup.hs. , useCpphs ? false -}: +} @ args: assert pkgconfigDepends != [] -> pkgconfig != null; +assert editedCabalFile != null -> revision != null; let @@ -53,8 +54,9 @@ let concatStringsSep enableFeature optionalAttrs; newCabalFile = fetchurl { - url = "http://hackage.haskell.org/package/${pname}-${version}/${pname}.cabal"; + url = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal"; sha256 = editedCabalFile; + name = "${pname}-${version}-r${revision}.cabal"; }; defaultSetupHs = builtins.toFile "Setup.hs" '' @@ -110,6 +112,8 @@ in stdenv.mkDerivation ({ name = "${optionalString hasActiveLibrary "haskell-"}${pname}-${version}"; + pos = builtins.unsafeGetAttrPos "pname" args; + prePhases = ["setupCompilerEnvironmentPhase"]; preConfigurePhases = ["compileBuildDriverPhase"]; preInstallPhases = ["haddockPhase"]; |