hasura: 1.2.1 -> 1.3.1-beta.1

This commit is contained in:
Ariel Nunez
2020-08-13 15:43:19 -05:00
parent ad7f8917fd
commit a29ed35bc7
20 changed files with 169 additions and 200 deletions

View File

@@ -1386,6 +1386,38 @@ self: super: {
# Testsuite trying to run `which haskeline-examples-Test`
haskeline_0_8_1_0 = dontCheck super.haskeline_0_8_1_0;
# Tests for list-t, superbuffer, and stm-containers
# depend on HTF and it is broken, 2020-08-23
list-t = dontCheck super.list-t;
superbuffer = dontCheck super.superbuffer;
stm-containers = dontCheck super.stm-containers;
# Fails with "supports custom headers"
Spock-core = dontCheck super.Spock-core;
# Needed by Hasura 1.3.1
dependent-map_0_2_4_0 = super.dependent-map_0_2_4_0.override {
dependent-sum = self.dependent-sum_0_4;
};
# Hasura 1.3.1
# Because of ghc-heap-view, profiling needs to be disabled.
graphql-engine = disableLibraryProfiling( overrideCabal (super.graphql-engine.override {
immortal = self.immortal_0_2_2_1;
dependent-map = self.dependent-map_0_2_4_0;
dependent-sum = self.dependent-sum_0_4;
witherable = self.witherable_0_3_2;
}) (drv: {
# version in cabal file is invalid
version = "1.3.1-beta1";
# hasura needs VERSION env exported during build
preBuild = "export VERSION=1.3.1-beta1";
}));
graphql-parser = super.graphql-parser.override {
protolude = self.protolude_0_3_0;
};
# Requires repline 0.4 which is the default only for ghc8101, override for the rest
zre = super.zre.override {
repline = self.repline_0_4_0_0.override {

View File

@@ -76,6 +76,16 @@ self: super: {
singletons = self.singletons_2_7;
th-desugar = self.th-desugar_1_11;
insert-ordered-containers = super.insert-ordered-containers.override {
optics-core = self.optics-core_0_3_0_1;
optics-extra = self.optics-extra_0_3.override {
optics-core = self.optics-core_0_3_0_1;
};
};
# Jailbreaking because monoidal-containers hasnt bumped it's base dependency for 8.10.
monoidal-containers = doJailbreak super.monoidal-containers;
# `ghc-lib-parser-ex` (see conditionals in its `.cabal` file) does not need
# the `ghc-lib-parser` dependency on GHC >= 8.8. However, because we have
# multiple verions of `ghc-lib-parser(-ex)` available, and the default ones

View File

@@ -41,6 +41,13 @@ self: super: {
unix = null;
xhtml = null;
# Hasura 1.3.1
# Because of ghc-heap-view, profiling needs to be disabled.
graphql-engine = overrideCabal (super.graphql-engine) (drv: {
# GHC 8.8.x needs a revert of https://github.com/hasura/graphql-engine/commit/a77bb0570f4210fb826985e17a84ddcc4c95d3ea
patches = [ ./patches/hasura-884-compat.patch ];
});
# GHC 8.8.x can build haddock version 2.23.*
haddock = self.haddock_2_23_1;
haddock-api = self.haddock-api_2_23_1;

View File

@@ -2617,6 +2617,13 @@ extra-packages:
- yesod-persistent < 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
- yesod-static ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
- yesod-test ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
- immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20
- dependent-map == 0.2.4.0 # required by Hasura 1.3.1, 2020-08-20
- dependent-sum == 0.4 # required by Hasura 1.3.1, 2020-08-20
- witherable == 0.3.2 # required by Hasura 1.3.1, 2020-08-20
- protolude == 0.3.0 # required by Hasura 1.3.1, 2020-08-20
- optics-core == 0.3.0.1 # required by Hasura 1.3.1, 2020-08-20
- base-compat == 0.11.1 # required by Hasura 1.3.1, 2020-08-20
package-maintainers:
peti:
@@ -7368,7 +7375,6 @@ broken-packages:
- list-mux
- list-prompt
- list-remote-forwards
- list-t
- list-t-attoparsec
- list-t-html-parser
- list-t-http-client
@@ -8741,7 +8747,6 @@ broken-packages:
- prim-array
- prim-ref
- primes-type
- primitive-extras
- primitive-indexed
- primitive-maybe
- primitive-simd
@@ -9874,7 +9879,6 @@ broken-packages:
- Spock-api-ghcjs
- Spock-api-server
- Spock-auth
- Spock-core
- Spock-digestive
- Spock-lucid
- Spock-worker
@@ -9982,9 +9986,7 @@ broken-packages:
- STL
- STLinkUSB
- stm-chunked-queues
- stm-containers
- stm-firehose
- stm-hamt
- stm-promise
- stm-stats
- stm-supply
@@ -10075,7 +10077,6 @@ broken-packages:
- sunroof-server
- super-user-spark
- superbubbles
- superbuffer
- supercollider-ht
- supercollider-midi
- superconstraints

View File

@@ -18976,8 +18976,6 @@ self: {
];
description = "Another Haskell web framework for rapid development";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"Spock-digestive" = callPackage
@@ -71274,6 +71272,20 @@ self: {
broken = true;
}) {};
"dependent-map_0_2_4_0" = callPackage
({ mkDerivation, base, containers, dependent-sum }:
mkDerivation {
pname = "dependent-map";
version = "0.2.4.0";
sha256 = "0il2naf6gdkvkhscvqd8kg9v911vdhqp9h10z5546mninnyrdcsx";
revision = "1";
editedCabalFile = "0a5f35d1sgfq1cl1r5bgb5pwfjniiycxiif4ycxglaizp8g5rlr1";
libraryHaskellDepends = [ base containers dependent-sum ];
description = "Dependent finite maps (partial dependent products)";
license = "unknown";
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"dependent-map" = callPackage
({ mkDerivation, base, constraints-extras, containers
, dependent-sum
@@ -71321,6 +71333,18 @@ self: {
broken = true;
}) {};
"dependent-sum_0_4" = callPackage
({ mkDerivation, base }:
mkDerivation {
pname = "dependent-sum";
version = "0.4";
sha256 = "07hs9s78wiybwjwkal2yq65hdavq0gg1h2ld7wbph61s2nsfrpm8";
libraryHaskellDepends = [ base ];
description = "Dependent sum type";
license = stdenv.lib.licenses.publicDomain;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"dependent-sum" = callPackage
({ mkDerivation, base, constraints-extras, some }:
mkDerivation {
@@ -142704,6 +142728,25 @@ self: {
broken = true;
}) {};
"immortal_0_2_2_1" = callPackage
({ mkDerivation, base, lifted-base, monad-control, stm, tasty
, tasty-hunit, transformers, transformers-base
}:
mkDerivation {
pname = "immortal";
version = "0.2.2.1";
sha256 = "13lddk62byx8w41k80d24q31mmijacnqqz64zrrkls9si2ia2jpd";
libraryHaskellDepends = [
base lifted-base monad-control stm transformers-base
];
testHaskellDepends = [
base lifted-base stm tasty tasty-hunit transformers
];
description = "Spawn threads that never die (unless told to do so)";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"immortal" = callPackage
({ mkDerivation, base, stm, tasty, tasty-hunit, transformers
, unliftio-core
@@ -160639,8 +160682,6 @@ self: {
testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
description = "ListT done right";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"list-t-attoparsec" = callPackage
@@ -203027,8 +203068,6 @@ self: {
];
description = "Extras for the \"primitive\" library";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"primitive-foreign" = callPackage
@@ -240984,8 +241023,6 @@ self: {
];
description = "Containers for STM";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"stm-delay" = callPackage
@@ -241055,8 +241092,6 @@ self: {
];
description = "STM-specialised Hash Array Mapped Trie";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"stm-io-hooks" = callPackage
@@ -244515,8 +244550,6 @@ self: {
];
description = "Efficiently build a bytestring from smaller chunks";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
broken = true;
}) {};
"supercollider-ht" = callPackage
@@ -273203,6 +273236,26 @@ self: {
license = stdenv.lib.licenses.gpl3;
}) {};
"witherable_0_3_2" = callPackage
({ mkDerivation, base, base-orphans, containers, hashable
, monoidal-containers, transformers, transformers-compat
, unordered-containers, vector
}:
mkDerivation {
pname = "witherable";
version = "0.3.2";
sha256 = "1iqf3kc9h599lbiym8rf9b4fhj31lqwm1cxqz6x02q9dxyrcprmi";
revision = "1";
editedCabalFile = "01mprffm41km3pm5nlpsp2ig2izgl6ll9ylrym3dg01f9609aa0z";
libraryHaskellDepends = [
base base-orphans containers hashable monoidal-containers
transformers transformers-compat unordered-containers vector
];
description = "filterable traversable";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"witherable" = callPackage
({ mkDerivation, base, base-orphans, containers, hashable, lens
, monoidal-containers, transformers, transformers-compat

View File

@@ -23,4 +23,13 @@ self: super: {
# both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh
haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { };
hls-ghcide = self.callPackage ../tools/haskell/haskell-language-server/hls-ghcide.nix { };
# cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
ci-info = self.callPackage ../misc/haskell/hasura/ci-info {};
# cabal2nix --revision <rev> https://github.com/hasura/pg-client-hs.git
pg-client = self.callPackage ../misc/haskell/hasura/pg-client {};
# cabal2nix --revision <rev> https://github.com/hasura/graphql-parser-hs.git
graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser {};
# cabal2nix --subpath server --maintainer offline --no-check --revision 1.2.1 https://github.com/hasura/graphql-engine.git
graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine {};
}

View File

@@ -0,0 +1,26 @@
diff --git server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
index 6cb70cf0..0c3789cd 100644
--- server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
+++ server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
@@ -45,7 +45,7 @@ import GHC.AssertNF
import qualified ListT
import qualified Network.WebSockets as WS
import qualified StmContainers.Map as STMMap
-import qualified System.IO.Error as E
+--import qualified System.IO.Error as E
import qualified Hasura.Logging as L
@@ -287,12 +287,6 @@ createServerApp (WSServer logger@(L.Logger writeLog) serverStatus) wsHandlers !p
let rcv = forever $ do
-- Process all messages serially (important!), in a separate thread:
msg <- liftIO $
- -- Re-throw "receiveloop: resource vanished (Connection reset by peer)" :
- -- https://github.com/yesodweb/wai/blob/master/warp/Network/Wai/Handler/Warp/Recv.hs#L112
- -- as WS exception signaling cleanup below. It's not clear why exactly this gets
- -- raised occasionally; I suspect an equivalent handler is missing from WS itself.
- -- Regardless this should be safe:
- handleJust (guard . E.isResourceVanishedError) (\()-> throw WS.ConnectionClosed) $
WS.receiveData conn
writeLog $ WSLog wsId (EMessageReceived $ TBS.fromLBS msg) Nothing
_hOnMessage wsHandlers wsConn msg