From d07125a0d985db0b0c8d8b2cf92db3834225ef4b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 5 Jun 2014 11:21:56 +0200 Subject: [PATCH] haskell-transformers-compat: provide different versions for GHC 7.8.2 and below transformers is a core library in GHC 7.8.2, so that compiler is stuck with an older version of the -compat library. --- .../{default.nix => 0.3.3.4.nix} | 0 .../haskell/transformers-compat/0.3.3.nix | 14 ++++++++++++++ pkgs/top-level/haskell-defaults.nix | 2 ++ pkgs/top-level/haskell-packages.nix | 4 +++- 4 files changed, 19 insertions(+), 1 deletion(-) rename pkgs/development/libraries/haskell/transformers-compat/{default.nix => 0.3.3.4.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix similarity index 100% rename from pkgs/development/libraries/haskell/transformers-compat/default.nix rename to pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix new file mode 100644 index 00000000000..dfe9e2ef0d6 --- /dev/null +++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "transformers-compat"; + version = "0.3.3"; + sha256 = "14lmwqr6q79k1f7byvb0jcm4r7lprhxkl85z72pr6ghn7bsvqwps"; + buildDepends = [ transformers ]; + meta = { + homepage = "http://github.com/ekmett/transformers-compat/"; + description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms."; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 6341b9a36dd..4139c9fcb97 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -17,6 +17,7 @@ ghcHEADPrefs = self : super : super // { mtl = self.mtl_2_1_2; cabalInstall_1_20_0_2 = super.cabalInstall_1_20_0_2.override { Cabal = null; }; + transformersCompat = super.transformersCompat_0_3_3; }; ghc782Prefs = self : super : ghcHEADPrefs self super // { @@ -44,6 +45,7 @@ mtl = self.mtl_2_2_1; pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; }; transformers = self.transformers_0_4_1_0; # core packagen in ghc > 7.6.x + transformersCompat = super.transformersCompat; zipArchive = super.zipArchive_0_2_2_1; # works without binary 0.7.x }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c0535f5ef40..f00901f9d16 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2269,7 +2269,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in transformersBase = callPackage ../development/libraries/haskell/transformers-base {}; - transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {}; + transformersCompat_0_3_3 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.nix {}; + transformersCompat_0_3_3_4 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.4.nix {}; + transformersCompat = self.transformersCompat_0_3_3_4; transformersFree = callPackage ../development/libraries/haskell/transformers-free {};