From 0f04707953933923cf957b7800c2eba83b4f8f34 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Tue, 6 Jan 2015 14:42:37 -0500 Subject: [PATCH] Add amazonka, amazonka-core, amazonka-cloudwatch haskell packages Required adding a deep override mechanism to haskell packages --- .../haskell/amazonka-cloudwatch/default.nix | 16 ++++++++ .../haskell/amazonka-core/default.nix | 30 ++++++++++++++ .../libraries/haskell/amazonka/default.nix | 22 ++++++++++ .../libraries/haskell/nats/0.2.nix | 16 ++++++++ .../haskell/nats/{default.nix => 1.nix} | 0 pkgs/top-level/haskell-packages.nix | 40 +++++++++++++++++-- 6 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/libraries/haskell/amazonka-cloudwatch/default.nix create mode 100644 pkgs/development/libraries/haskell/amazonka-core/default.nix create mode 100644 pkgs/development/libraries/haskell/amazonka/default.nix create mode 100644 pkgs/development/libraries/haskell/nats/0.2.nix rename pkgs/development/libraries/haskell/nats/{default.nix => 1.nix} (100%) diff --git a/pkgs/development/libraries/haskell/amazonka-cloudwatch/default.nix b/pkgs/development/libraries/haskell/amazonka-cloudwatch/default.nix new file mode 100644 index 00000000000..16660edfe73 --- /dev/null +++ b/pkgs/development/libraries/haskell/amazonka-cloudwatch/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, amazonkaCore }: + +cabal.mkDerivation (self: { + pname = "amazonka-cloudwatch"; + version = "0.0.4"; + sha256 = "1lsf5il184c1ldjhg3x32c1dzlba3r3q3fpzpam3kwyzz54d4k79"; + buildDepends = [ amazonkaCore ]; + meta = { + homepage = "https://github.com/brendanhay/amazonka"; + description = "Amazon CloudWatch SDK"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/amazonka-core/default.nix b/pkgs/development/libraries/haskell/amazonka-core/default.nix new file mode 100644 index 00000000000..b7fa286d4e2 --- /dev/null +++ b/pkgs/development/libraries/haskell/amazonka-core/default.nix @@ -0,0 +1,30 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, attoparsec, base16Bytestring, base64Bytestring +, bifunctors, caseInsensitive, conduit, conduitExtra, cryptohash +, cryptohashConduit, dataDefaultClass, hashable, httpClient +, httpTypes, lens, mmorph, mtl, nats, resourcet, semigroups, tagged +, tasty, tastyHunit, text, time, transformers, unorderedContainers +, vector, xmlConduit +}: + +cabal.mkDerivation (self: { + pname = "amazonka-core"; + version = "0.0.4"; + sha256 = "1h3bp4d13mg3n935qgw5dhwadb4ivcd3m8jk9l90jcgkgsni0zy4"; + buildDepends = [ + aeson attoparsec base16Bytestring base64Bytestring bifunctors + caseInsensitive conduit conduitExtra cryptohash cryptohashConduit + dataDefaultClass hashable httpClient httpTypes lens mmorph mtl nats + resourcet semigroups tagged text time transformers + unorderedContainers vector xmlConduit + ]; + testDepends = [ tasty tastyHunit text time ]; + jailbreak = true; + meta = { + homepage = "https://github.com/brendanhay/amazonka"; + description = "Core functionality, serialisation primitives, and data types for the Amazonka Amazon Web Services SDKs"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/amazonka/default.nix b/pkgs/development/libraries/haskell/amazonka/default.nix new file mode 100644 index 00000000000..fabbe13b37e --- /dev/null +++ b/pkgs/development/libraries/haskell/amazonka/default.nix @@ -0,0 +1,22 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, amazonkaCore, conduit, exceptions, httpConduit, lens +, mmorph, monadControl, mtl, resourcet, text, time +, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "amazonka"; + version = "0.0.4"; + sha256 = "12hwkrn7azs1sxx9f5agk875y6r6wvjxmmx0xg3034p6ipjvh883"; + buildDepends = [ + amazonkaCore conduit exceptions httpConduit lens mmorph + monadControl mtl resourcet text time transformersBase + ]; + meta = { + homepage = "https://github.com/brendanhay/amazonka"; + description = "Comprehensive Amazon Web Services SDK"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/nats/0.2.nix b/pkgs/development/libraries/haskell/nats/0.2.nix new file mode 100644 index 00000000000..e870d171383 --- /dev/null +++ b/pkgs/development/libraries/haskell/nats/0.2.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, hashable }: + +cabal.mkDerivation (self: { + pname = "nats"; + version = "0.2"; + sha256 = "05skqs5ahbrnwlsxjihkvmsw0n49k9mqdhrv9nqh4dmd1j622r73"; + buildDepends = [ hashable ]; + meta = { + homepage = "http://github.com/ekmett/nats/"; + description = "Natural numbers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/1.nix similarity index 100% rename from pkgs/development/libraries/haskell/nats/default.nix rename to pkgs/development/libraries/haskell/nats/1.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5dbc6a5d4dd..6c0dda9c20c 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -55,12 +55,14 @@ # modifyPrio argument can be set to lowPrio to make all Haskell packages have # low priority. -self : let callPackage = x : y : modifyPrio (newScope self x y); in +let override = overrides: self_: let + self = self_ // overrides; + callPackage = x : y : modifyPrio (newScope self x y); # Indentation deliberately broken at this point to keep the bulk # of this file at a low indentation level. -{ +in { inherit callPackage; # GHC and its wrapper @@ -170,6 +172,34 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in alsaPcm = callPackage ../development/libraries/haskell/alsa-pcm {}; + inherit (let + new-transformers-self = if self.overridden or false + then self + else override { + overridden = true; + + mtl = new-transformers-self.mtl_2_2_1; + + transformers = new-transformers-self.transformers_0_4_2_0; + + cabal = new-transformers-self.cabal.override { + enableCheckPhase = false; + }; + + nats = new-transformers-self.nats_0_2; + } new-transformers-self; + + inherit (new-transformers-self) callPackage; + in { + amazonkaCore = + callPackage ../development/libraries/haskell/amazonka-core {}; + + amazonka = callPackage ../development/libraries/haskell/amazonka {}; + + amazonkaCloudwatch = + callPackage ../development/libraries/haskell/amazonka-cloudwatch {}; + }) amazonka amazonkaCore amazonkaCloudwatch; + amqp = callPackage ../development/libraries/haskell/amqp {}; annotatedWlPprint = callPackage ../development/libraries/haskell/annotated-wl-pprint {}; @@ -1829,7 +1859,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in nat = callPackage ../development/libraries/haskell/nat {}; - nats = callPackage ../development/libraries/haskell/nats {}; + nats_1 = callPackage ../development/libraries/haskell/nats/1.nix {}; + nats_0_2 = callPackage ../development/libraries/haskell/nats/0.2.nix {}; + nats = self.nats_1; naturals = callPackage ../development/libraries/haskell/naturals {}; @@ -3259,4 +3291,4 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in # End of the main part of the file. -} +}; in override {}