diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ec63f243d7eb..80d4e3416940 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -375,4 +375,17 @@ self: super: { zip-archive = overrideCabal super.zip-archive (drv: { doCheck = false; }); zlib-conduit = overrideCabal super.zlib-conduit (drv: { noHaddock = true; }); + amazonka-core = overrideCabal super.amazonka-core (drv: { + # these are upstream + patches = [ ./patches/amazonka-fixes.patch ]; + + # brendanhay/amazonka#54 + doCheck = false; + }); + + amazonka = overrideCabal super.amazonka (drv: { + # brendanhay/amazonka#56 + patches = [ ./patches/amazonka-new-monad-control.patch ]; + }); + } diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix index 27d8ebb85f17..dac44bcf5230 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix @@ -55,21 +55,3 @@ self: super: { ghcjs = self.callPackage ../compilers/ghcjs { Cabal = self.Cabal_1_22_0_0; }; } - -// # packages related to amazonka - -(let - amazonkaEnv = self: super: { - mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; }); - mtl = self.mtl_2_2_1; - nats = self.nats_0_2; - transformers = self.transformers_0_4_2_0; - transformers-compat = overrideCabal super.transformers-compat (drv: { configureFlags = []; }); - }; -in -{ - # These packages need mtl 2.2.x to compile. - amazonka-core = super.amazonka-core.overrideScope amazonkaEnv; - amazonka = super.amazonka.overrideScope amazonkaEnv; - amazonka-cloudwatch = super.amazonka-cloudwatch.overrideScope amazonkaEnv; -}) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index b1835c94bef2..05b1f70fa2cf 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -16684,25 +16684,6 @@ self: { }) {}; "amazonka" = callPackage - ({ mkDerivation, amazonka-core, base, bytestring, conduit - , exceptions, http-conduit, lens, mmorph, monad-control, mtl - , resourcet, text, time, transformers, transformers-base - }: - mkDerivation { - pname = "amazonka"; - version = "0.0.7"; - sha256 = "1w1fdlvx9da2p9kl55cin04mgn9a9s1i400lrn852qfqjlw9v66n"; - buildDepends = [ - amazonka-core base bytestring conduit exceptions http-conduit lens - mmorph monad-control mtl resourcet text time transformers - transformers-base - ]; - homepage = "https://github.com/brendanhay/amazonka"; - description = "Comprehensive Amazon Web Services SDK"; - license = "unknown"; - }) {}; - - "amazonka_0_1_4" = callPackage ({ mkDerivation, amazonka-core, base, bytestring, conduit , exceptions, http-conduit, lens, mmorph, monad-control, mtl , resourcet, retry, text, time, transformers, transformers-base @@ -16794,18 +16775,6 @@ self: { }) {}; "amazonka-cloudwatch" = callPackage - ({ mkDerivation, amazonka-core, base }: - mkDerivation { - pname = "amazonka-cloudwatch"; - version = "0.0.7"; - sha256 = "09rg5irnnwx5akvhil1965234n16gqw2nbqqbk99snysq6grb52v"; - buildDepends = [ amazonka-core base ]; - homepage = "https://github.com/brendanhay/amazonka"; - description = "Amazon CloudWatch SDK"; - license = "unknown"; - }) {}; - - "amazonka-cloudwatch_0_1_4" = callPackage ({ mkDerivation, amazonka-core, base }: mkDerivation { pname = "amazonka-cloudwatch"; @@ -16878,35 +16847,6 @@ self: { }) {}; "amazonka-core" = callPackage - ({ mkDerivation, aeson, attoparsec, base, base16-bytestring - , base64-bytestring, bifunctors, bytestring, case-insensitive - , conduit, conduit-extra, cryptohash, cryptohash-conduit - , data-default-class, hashable, http-client, http-types, lens - , mmorph, mtl, nats, old-locale, resourcet, semigroups, tagged - , tasty, tasty-hunit, template-haskell, text, time, transformers - , unordered-containers, vector, xml-conduit - }: - mkDerivation { - pname = "amazonka-core"; - version = "0.0.7.1"; - sha256 = "1rj0sg5kl7nz7c2mx7ddn4n5w6zjb2gl0xzig9ixxb8l7hw2ndv2"; - buildDepends = [ - aeson attoparsec base base16-bytestring base64-bytestring - bifunctors bytestring case-insensitive conduit conduit-extra - cryptohash cryptohash-conduit data-default-class hashable - http-client http-types lens mmorph mtl nats old-locale resourcet - semigroups tagged text time transformers unordered-containers - vector xml-conduit - ]; - testDepends = [ - base old-locale tasty tasty-hunit template-haskell text time - ]; - homepage = "https://github.com/brendanhay/amazonka"; - description = "Core functionality and data types for Amazonka libraries"; - license = "unknown"; - }) {}; - - "amazonka-core_0_1_4" = callPackage ({ mkDerivation, aeson, attoparsec, base, base16-bytestring , base64-bytestring, bifunctors, bytestring, case-insensitive , conduit, conduit-extra, cryptohash, cryptohash-conduit diff --git a/pkgs/development/haskell-modules/patches/amazonka-fixes.patch b/pkgs/development/haskell-modules/patches/amazonka-fixes.patch new file mode 100644 index 000000000000..0cf22e469375 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/amazonka-fixes.patch @@ -0,0 +1,73 @@ +From 06e10485e60ec5637896dacf62f41a57fcb04bed Mon Sep 17 00:00:00 2001 +From: Shea Levy +Date: Fri, 9 Jan 2015 17:34:22 -0500 +Subject: [PATCH] Don't derive the Whole typeclass + +It was not preserved when Numeric.Natural was brought into base, which +practically means it is difficult if not impossible to build this +against newer GHCs, and also suggests that the class itself is not all +that useful. +--- + amazonka-elb/gen/Network/AWS/ELB/Types.hs | 2 +- + core/src/Network/AWS/Data/Internal/Numeric.hs | 1 - + core/src/Network/AWS/Prelude.hs | 3 +-- + gen/output/elb.json | 3 +-- + gen/src/Gen/Output.hs | 5 +---- + 5 files changed, 4 insertions(+), 10 deletions(-) + +diff --git a/src/Network/AWS/Data/Internal/Numeric.hs b/src/Network/AWS/Data/Internal/Numeric.hs +index 93b92c4..445ad8e 100644 +--- a/src/Network/AWS/Data/Internal/Numeric.hs ++++ b/src/Network/AWS/Data/Internal/Numeric.hs +@@ -34,7 +34,6 @@ newtype Nat = Nat { unNat :: Natural } + , Num + , Real + , Integral +- , Whole + , ToByteString + , FromText + , ToText +diff --git a/src/Network/AWS/Prelude.hs b/src/Network/AWS/Prelude.hs +index 1e858ee..289f51f 100644 +--- a/src/Network/AWS/Prelude.hs ++++ b/src/Network/AWS/Prelude.hs +@@ -36,7 +36,6 @@ module Network.AWS.Prelude + , Generic + , IsString (..) + , Semigroup +- , Whole + + -- * Retries + , Retry (..) +@@ -75,7 +74,7 @@ import GHC.Generics (Generic) + import Network.HTTP.Client (HttpException, RequestBody) + import Network.HTTP.Types.Method (StdMethod(..)) + import Network.HTTP.Types.Status (Status(..)) +-import Numeric.Natural (Natural, Whole) ++import Numeric.Natural (Natural) + + import Control.Applicative as Export + import Data.Bifunctor as Export +From 647dd8b69ec66110473195d36ff57172a592bc3b Mon Sep 17 00:00:00 2001 +From: Shea Levy +Date: Fri, 9 Jan 2015 17:54:54 -0500 +Subject: [PATCH] In the base-4.8.0.0 candidate, Data.Function defines (&) + +This conflicts with Control.Lens.& +--- + core/src/Network/AWS/Signing/Internal/V4.hs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Network/AWS/Signing/Internal/V4.hs b/src/Network/AWS/Signing/Internal/V4.hs +index f48c0ed..34a8516 100644 +--- a/src/Network/AWS/Signing/Internal/V4.hs ++++ b/src/Network/AWS/Signing/Internal/V4.hs +@@ -26,7 +26,7 @@ import qualified Data.ByteString.Base16 as Base16 + import qualified Data.ByteString.Char8 as BS + import qualified Data.CaseInsensitive as CI + import qualified Data.Foldable as Fold +-import Data.Function ++import Data.Function hiding ((&)) + import Data.List (groupBy, intersperse, sortBy, sort) + import Data.Maybe + import Data.Monoid diff --git a/pkgs/development/haskell-modules/patches/amazonka-new-monad-control.patch b/pkgs/development/haskell-modules/patches/amazonka-new-monad-control.patch new file mode 100644 index 000000000000..9608ceffb544 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/amazonka-new-monad-control.patch @@ -0,0 +1,61 @@ +From 3a91e0114214083d3f84375152a35d4247bb7a81 Mon Sep 17 00:00:00 2001 +From: Shea Levy +Date: Fri, 9 Jan 2015 18:54:59 -0500 +Subject: [PATCH] amazonka: Build against monad-control >=1 + +--- + amazonka/amazonka.cabal | 2 +- + amazonka/src/Control/Monad/Trans/AWS.hs | 15 +++++++-------- + 2 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/amazonka.cabal b/amazonka.cabal +index 455b7b2..48c5f1c 100644 +--- a/amazonka.cabal ++++ b/amazonka.cabal +@@ -49,7 +49,7 @@ library + , http-conduit >= 2.1.4 && < 2.3 + , lens >= 4.4 && < 5 + , mmorph >= 1 && < 2 +- , monad-control >= 0.3.2 && < 1 ++ , monad-control >= 1 + , mtl >= 2.2.1 && < 2.3 + , resourcet >= 1.1 && < 1.3 + , retry >= 0.5 +diff --git a/src/Control/Monad/Trans/AWS.hs b/src/Control/Monad/Trans/AWS.hs +index bc13925..75f2a4d 100644 +--- a/src/Control/Monad/Trans/AWS.hs ++++ b/src/Control/Monad/Trans/AWS.hs +@@ -172,26 +172,25 @@ instance MonadBase b m => MonadBase b (AWST m) where + {-# INLINE liftBase #-} + + instance MonadTransControl AWST where +- newtype StT AWST a = StTAWS +- { unStTAWS :: StT (ExceptT Error) (StT (ReaderT (Env, InternalState)) a) +- } ++ type StT AWST a = ++ StT (ExceptT Error) (StT (ReaderT (Env, InternalState)) a) + + liftWith f = AWST $ + liftWith $ \g -> + liftWith $ \h -> +- f (liftM StTAWS . h . g . unAWST) ++ f (h . g . unAWST) + {-# INLINE liftWith #-} + +- restoreT = AWST . restoreT . restoreT . liftM unStTAWS ++ restoreT = AWST . restoreT . restoreT + {-# INLINE restoreT #-} + + instance MonadBaseControl b m => MonadBaseControl b (AWST m) where +- newtype StM (AWST m) a = StMAWST { unStMAWST :: ComposeSt AWST m a } ++ type StM (AWST m) a = ComposeSt AWST m a + +- liftBaseWith = defaultLiftBaseWith StMAWST ++ liftBaseWith = defaultLiftBaseWith + {-# INLINE liftBaseWith #-} + +- restoreM = defaultRestoreM unStMAWST ++ restoreM = defaultRestoreM + {-# INLINE restoreM #-} + + instance MFunctor AWST where