summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-03-15 12:26:32 +0100
committersternenseemann <sternenseemann@systemli.org>2022-04-03 15:43:33 +0200
commitf5536149557e611a8f8b6503bd51cb2e62306a2a (patch)
treeead5ce2ef499c7314a9f8992a6b85dafb65a361d /pkgs/development/haskell-modules
parent820408b2e8dc152054fde2098d88dd15eb87ab4a (diff)
downloadnixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar.gz
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar.bz2
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar.lz
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar.xz
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.tar.zst
nixpkgs-f5536149557e611a8f8b6503bd51cb2e62306a2a.zip
haskellPackages.graphql-engine: 2.0.10 -> 2.3.1
haskellPackages.kriti-lang: init at 0.3.1

Towards getting hasura-related packages to work with Stackage Nightly /
GHC 9.0.
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix47
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix1
-rw-r--r--pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch33
3 files changed, 31 insertions, 50 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 54366201b1d..2b64c549f18 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1484,35 +1484,48 @@ self: super: {
 
   # hasura packages need some extra care
   graphql-engine = overrideCabal (drv: {
-    patches = [ ./patches/graphql-engine-mapkeys.patch ];
+    patches = [
+      # Compat with unordered-containers >= 0.2.15.0
+      (fetchpatch {
+        name = "hasura-graphql-engine-updated-deps.patch";
+        url = "https://github.com/hasura/graphql-engine/commit/d50aae87a58794bc1fc66c7a60acb0c34b5e70c7.patch";
+        stripLen = 1;
+        excludes = [ "cabal.project.freeze" ];
+        sha256 = "0lb5l9vfynr85i9xs53w4mpgczp04ncxz7846n3y91ri34fa87v3";
+      })
+      # Compat with hashable >= 1.3.4.0
+      (fetchpatch {
+        name = "hasura-graphql-engine-hashable-1.3.4.0.patch";
+        url = "https://github.com/hasura/graphql-engine/commit/e48b2287315fb09005ffd52c0a686dc321171ae2.patch";
+        sha256 = "1jppnanmsyl8npyf59s0d8bgjy7bq50vkh5zx4888jy6jqh27jb6";
+        stripLen = 1;
+      })
+      # Compat with unordered-containers >= 0.2.17.0
+      (fetchpatch {
+        name = "hasura-graphql-engine-unordered-containers-0.2.17.0.patch";
+        url = "https://github.com/hasura/graphql-engine/commit/3a1eb3128a2ded2da7c5fef089738890828cce03.patch";
+        sha256 = "0vz7s8m8mjvv728vm4q0dvvrirvydaw7xks30b5ddj9f6a72a2f1";
+        stripLen = 1;
+      })
+    ];
     doHaddock = false;
-    version = "2.0.10";
-  }) (super.graphql-engine.overrideScope (self: super: {
+    version = "2.3.1";
+  }) (super.graphql-engine.override {
     immortal = self.immortal_0_2_2_1;
     resource-pool = self.hasura-resource-pool;
     ekg-core = self.hasura-ekg-core;
     ekg-json = self.hasura-ekg-json;
-    hspec = dontCheck self.hspec_2_9_4;
-    hspec-core = dontCheck self.hspec-core_2_9_4;
-    hspec-discover = dontCheck super.hspec-discover_2_9_4;
-  }));
-  hasura-ekg-core = doJailbreak (super.hasura-ekg-core.overrideScope (self: super: {
-    hspec = dontCheck self.hspec_2_9_4;
-    hspec-core = dontCheck self.hspec-core_2_9_4;
-    hspec-discover = dontCheck super.hspec-discover_2_9_4;
-  }));
-  hasura-ekg-json = super.hasura-ekg-json.overrideScope (self: super: {
-    ekg-core = self.hasura-ekg-core;
-    hspec = dontCheck self.hspec_2_9_4;
-    hspec-core = dontCheck self.hspec-core_2_9_4;
-    hspec-discover = dontCheck super.hspec-discover_2_9_4;
   });
+  hasura-ekg-json = super.hasura-ekg-json.override {
+    ekg-core = self.hasura-ekg-core;
+  };
   pg-client = overrideCabal (drv: {
     librarySystemDepends = with pkgs; [ postgresql krb5.dev openssl.dev ];
     # wants a running DB to check against
     doCheck = false;
   }) (super.pg-client.override {
     resource-pool = self.hasura-resource-pool;
+    ekg-core = self.hasura-ekg-core;
   });
 
   # https://github.com/bos/statistics/issues/170
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index e06f9d30d2d..beb81a58d86 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -30,6 +30,7 @@ self: super: {
   pg-client = self.callPackage ../misc/haskell/hasura/pg-client.nix {};
   graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser.nix {};
   graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine.nix {};
+  kriti-lang = self.callPackage ../misc/haskell/hasura/kriti-lang.nix {};
   hasura-resource-pool = self.callPackage ../misc/haskell/hasura/pool.nix {};
   hasura-ekg-core = self.callPackage ../misc/haskell/hasura/ekg-core.nix {};
   hasura-ekg-json = self.callPackage ../misc/haskell/hasura/ekg-json.nix {};
diff --git a/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch b/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch
deleted file mode 100644
index 9035185dc2d..00000000000
--- a/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/server/src-lib/Data/HashMap/Strict/Extended.hs b/server/src-lib/Data/HashMap/Strict/Extended.hs
-index eaff0dfba..9902cadd0 100644
---- a/src-lib/Data/HashMap/Strict/Extended.hs
-+++ b/src-lib/Data/HashMap/Strict/Extended.hs
-@@ -7,7 +7,6 @@ module Data.HashMap.Strict.Extended
-   , groupOnNE
-   , differenceOn
-   , lpadZip
--  , mapKeys
-   , unionsWith
-   ) where
- 
-@@ -54,20 +53,6 @@ lpadZip left = catMaybes . flip A.alignWith left \case
-   That    b -> Just (Nothing, b)
-   These a b -> Just (Just a,  b)
- 
---- | @'mapKeys' f s@ is the map obtained by applying @f@ to each key of @s@.
----
---- The size of the result may be smaller if @f@ maps two or more distinct
---- keys to the same new key.  In this case the value at the greatest of the
---- original keys is retained.
----
---- > mapKeys (+ 1) (fromList [(5,"a"), (3,"b")])                        == fromList [(4, "b"), (6, "a")]
---- > mapKeys (\ _ -> 1) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 1 "c"
---- > mapKeys (\ _ -> 3) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 3 "c"
----
---- copied from https://hackage.haskell.org/package/containers-0.6.4.1/docs/src/Data.Map.Internal.html#mapKeys
--mapKeys :: (Ord k2, Hashable k2) => (k1 -> k2) -> HashMap k1 a -> HashMap k2 a
--mapKeys f = fromList . foldrWithKey (\k x xs -> (f k, x) : xs) []
--
- -- | The union of a list of maps, with a combining operation:
- --   (@'unionsWith' f == 'Prelude.foldl' ('unionWith' f) 'empty'@).
- --