Merge pull request #96560 from NixOS/haskell-updates

Update Haskell package set to LTS 16.12 (plus other fixes)
This commit is contained in:
Peter Simons 2020-09-04 22:03:16 +02:00 committed by GitHub
commit efc5084e51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 1447 additions and 772 deletions

View File

@ -212,7 +212,7 @@ self: super: {
# https://github.com/haskell-nix/hnix/issues/676
# Once neat-interpolation >= 0.4 is in our stack release,
# (which should happen soon), we can remove this override
neat-interpolation = self.neat-interpolation_0_5_1_1;
neat-interpolation = self.neat-interpolation_0_5_1_2;
});
# Fails for non-obvious reasons while attempting to use doctest.
@ -1017,11 +1017,6 @@ self: super: {
})];
});
# 2020-06-05: HACK: In Nixpkgs currently this is
# old pandoc version 2.7.4 to current 2.9.2.1,
# test suite failures: https://github.com/jgm/pandoc/issues/5582
pandoc = dontCheck super.pandoc;
# Fix build with attr-2.4.48 (see #53716)
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
@ -1214,7 +1209,15 @@ self: super: {
# this will probably need to get updated with every ghcide update,
# we need an override because ghcide is tracking haskell-lsp closely.
ghcide = dontCheck (super.ghcide.override { ghc-check = self.ghc-check_0_3_0_1; });
ghcide = dontCheck (appendPatch (super.ghcide.override {
hie-bios = dontCheck super.hie-bios_0_7_1;
lsp-test = dontCheck self.lsp-test_0_11_0_4;
}) (pkgs.fetchpatch {
# This patch loosens the hie-bios upper bound.
# It is already merged into upstream and wont be needed for ghcide 0.4.0
url = "https://github.com/haskell/ghcide/commit/3e1b3620948870a4da8808ca0c0897fbd3ecad16.patch";
sha256 = "1jwn7jgi740x6wwv1k0mz9d4z0b9p3mzs54pdg4nfq0h2v7zxchz";
}));
# hasnt bumped upper bounds
# upstream: https://github.com/obsidiansystems/which/pull/6
@ -1236,13 +1239,6 @@ self: super: {
x509-validation = dontCheck super.x509-validation;
tls = dontCheck super.tls;
# Upstream PR: https://github.com/bgamari/monoidal-containers/pull/62
# Bump these version bound
monoidal-containers = appendPatch super.monoidal-containers (pkgs.fetchpatch {
url = "https://github.com/bgamari/monoidal-containers/commit/715093b22a015398a1390f636be6f39a0de83254.patch";
sha256="1lfxvwp8g55ljxvj50acsb0wjhrvp2hvir8y0j5pfjkd1kq628ng";
});
patch = appendPatches super.patch [
# Upstream PR: https://github.com/reflex-frp/patch/pull/20
# Makes tests work with hlint 3
@ -1385,43 +1381,51 @@ self: super: {
# https://github.com/jgm/commonmark-hs/issues/55
commonmark-extensions = dontCheck super.commonmark-extensions;
# The overrides in the following lines all have the following causes:
# * neuron needs commonmark-pandoc
# * which needs a newer pandoc-types (>= 1.21)
# * which means we need a newer pandoc (>= 2.10)
# * which needs a newer hslua (1.1.2) and a newer jira-wiki-markup (1.3.2)
# Then we need to apply those overrides to all transitive dependencies
# All of this will be obsolete, when pandoc 2.10 hits stack lts.
commonmark-pandoc = super.commonmark-pandoc.override {
pandoc-types = self.pandoc-types_1_21;
};
reflex-dom-pandoc = super.reflex-dom-pandoc.override {
pandoc-types = self.pandoc-types_1_21;
};
pandoc_2_10_1 = super.pandoc_2_10_1.overrideScope (self: super: {
pandoc-types = self.pandoc-types_1_21;
hslua = self.hslua_1_1_2;
jira-wiki-markup = self.jira-wiki-markup_1_3_2;
});
# Apply version-bump patch that is not contained in released version yet.
# Upstream PR: https://github.com/srid/neuron/pull/304
neuron = (appendPatch super.neuron (pkgs.fetchpatch {
neuron = appendPatch super.neuron (pkgs.fetchpatch {
url= "https://github.com/srid/neuron/commit/9ddcb7e9d63b8266d1372ef7c14c13b6b5277990.patch";
sha256 = "01f9v3jnl05fnpd624wv3a0j5prcbnf62ysa16fbc0vabw19zv1b";
excludes = [ "commonmark-hs/github.json" ];
stripLen = 2;
extraPrefix = "";
}))
# See comment about overrides above commonmark-pandoc
.overrideScope (self: super: {
pandoc = self.pandoc_2_10_1;
pandoc-types = self.pandoc-types_1_21;
});
# 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 {
@ -1457,15 +1461,25 @@ self: super: {
# resolving https://github.com/NixOS/nixpkgs/issues/81915.
cryptonite = self.cryptonite_0_27;
# We want the latest version of Pandoc.
hslua = self.hslua_1_1_2;
jira-wiki-markup = self.jira-wiki-markup_1_3_2;
pandoc = self.pandoc_2_10_1;
pandoc-citeproc = self.pandoc-citeproc_0_17_0_2;
pandoc-plot = self.pandoc-plot_0_9_2_0;
pandoc-types = self.pandoc-types_1_21;
rfc5051 = self.rfc5051_0_2;
# INSERT NEW OVERRIDES ABOVE THIS LINE
} // (let
inherit (self) hls-ghcide;
hlsScopeOverride = self: super: {
# haskell-language-server uses its own fork of ghcide
# Test disabled: it seems to freeze (is it just that it takes a long time ?)
ghcide = dontCheck super.hls-ghcide;
ghcide = hls-ghcide;
# we are faster than stack here
hie-bios = dontCheck super.hie-bios_0_7_0;
hie-bios = dontCheck super.hie-bios_0_7_1;
lsp-test = dontCheck super.lsp-test_0_11_0_4;
# fourmolu cant compile with an older aeson
aeson = dontCheck super.aeson_1_5_2_0;
@ -1475,7 +1489,13 @@ self: super: {
in {
# jailbreaking for hie-bios 0.7.0 (upstream PR: https://github.com/haskell/haskell-language-server/pull/357)
haskell-language-server = dontCheck (doJailbreak (super.haskell-language-server.overrideScope hlsScopeOverride));
hls-ghcide = dontCheck (super.hls-ghcide.overrideScope hlsScopeOverride);
hls-ghcide = appendPatch (dontCheck (super.hls-ghcide.overrideScope hlsScopeOverride))
(pkgs.fetchpatch {
# This patch loosens the hie-bios upper bound.
# It is already merged into upstream and wont be needed for ghcide 0.4.0
url = "https://github.com/haskell/ghcide/commit/3e1b3620948870a4da8808ca0c0897fbd3ecad16.patch";
sha256 = "1jwn7jgi740x6wwv1k0mz9d4z0b9p3mzs54pdg4nfq0h2v7zxchz";
});
fourmolu = super.fourmolu.overrideScope hlsScopeOverride;
}
) // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

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
@ -119,10 +129,4 @@ self: super: {
executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ];
}));
# We want the latest version of Pandoc.
pandoc = self.pandoc_2_10_1;
pandoc-citeproc = self.pandoc-citeproc_0_17_0_2;
pandoc-plot = self.pandoc-plot_0_9_2_0;
pandoc-types = self.pandoc-types_1_21;
}

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;
@ -107,4 +114,16 @@ self: super: {
# cabal-fmt requires Cabal3
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_0_0; };
# liquidhaskell does not support ghc version 8.8.x.
liquid = markBroken super.liquid;
liquid-base = markBroken super.liquid-base;
liquid-bytestring = markBroken super.liquid-bytestring;
liquid-containers = markBroken super.liquid-containers;
liquid-ghc-prim = markBroken super.liquid-ghc-prim;
liquid-parallel = markBroken super.liquid-parallel;
liquid-platform = markBroken super.liquid-platform;
liquid-prelude = markBroken super.liquid-prelude;
liquid-vector = markBroken super.liquid-vector;
liquidhaskell = markBroken super.liquidhaskell;
}

View File

@ -72,7 +72,7 @@ default-package-overrides:
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs
- gi-gdkx11 < 4
# LTS Haskell 16.11
# LTS Haskell 16.12
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Angle ==1.0
@ -512,7 +512,7 @@ default-package-overrides:
- constraints ==0.12
- constraint-tuples ==0.1.2
- contravariant ==1.5.2
- contravariant-extras ==0.3.5.1
- contravariant-extras ==0.3.5.2
- control-bool ==0.2.1
- control-monad-free ==0.6.2
- control-monad-omega ==0.3.2
@ -760,7 +760,7 @@ default-package-overrides:
- extended-reals ==0.2.4.0
- extensible-effects ==5.0.0.1
- extensible-exceptions ==0.1.1.4
- extra ==1.7.6
- extra ==1.7.7
- extractable-singleton ==0.0.1
- extrapolate ==0.4.2
- fail ==4.9.0.0
@ -931,7 +931,7 @@ default-package-overrides:
- gi-graphene ==1.0.1
- gi-gtk ==3.0.33
- gi-gtk-hs ==0.3.8.1
- ginger ==0.10.0.5
- ginger ==0.10.1.0
- gingersnap ==0.3.1.0
- gi-pango ==1.0.22
- giphy-api ==0.7.0.0
@ -1190,7 +1190,7 @@ default-package-overrides:
- ieee754 ==0.8.0
- if ==0.1.0.0
- iff ==0.0.6
- ihaskell ==0.10.1.1
- ihaskell ==0.10.1.2
- ihs ==0.1.0.3
- ilist ==0.4.0.1
- imagesize-conduit ==1.1
@ -1242,7 +1242,7 @@ default-package-overrides:
- iproute ==1.7.9
- IPv6Addr ==1.1.5
- ipynb ==0.1.0.1
- ipython-kernel ==0.10.2.0
- ipython-kernel ==0.10.2.1
- irc ==0.6.1.0
- irc-client ==1.1.1.1
- irc-conduit ==0.3.0.4
@ -1369,7 +1369,7 @@ default-package-overrides:
- logging ==3.0.5
- logging-facade ==0.3.0
- logging-facade-syslog ==1
- logict ==0.7.0.2
- logict ==0.7.0.3
- loop ==0.3.0
- loopbreaker ==0.1.1.1
- lrucache ==1.2.0.1
@ -1906,7 +1906,7 @@ default-package-overrides:
- safe-exceptions-checked ==0.1.0
- safe-foldable ==0.1.0.0
- safeio ==0.0.5.0
- safe-json ==1.1.0
- safe-json ==1.1.1
- safe-money ==0.9
- SafeSemaphore ==0.10.1
- salak ==0.3.6
@ -1996,7 +1996,7 @@ default-package-overrides:
- sexp-grammar ==2.1.0
- SHA ==1.6.4.4
- shake-plus ==0.1.10.0
- shakespeare ==2.0.24.1
- shakespeare ==2.0.25
- shared-memory ==0.2.0.0
- shell-conduit ==4.7.0
- shell-escape ==0.2.0
@ -2182,7 +2182,7 @@ default-package-overrides:
- TCache ==0.12.1
- tce-conf ==1.3
- tdigest ==0.2.1
- template-haskell-compat-v0208 ==0.1.2.1
- template-haskell-compat-v0208 ==0.1.4
- temporary ==1.3
- temporary-rc ==1.2.0.3
- temporary-resourcet ==0.1.0.1
@ -2463,7 +2463,7 @@ default-package-overrides:
- writer-cps-transformers ==0.5.6.1
- wss-client ==0.3.0.0
- wuss ==1.1.17
- X11 ==1.9.1
- X11 ==1.9.2
- X11-xft ==0.3.1
- x11-xim ==0.0.9.0
- x509 ==1.7.5
@ -2563,7 +2563,6 @@ extra-packages:
- Diff < 0.4 # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
- doctemplates == 0.8 # required by pandoc-2.9.x
- generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x
- ghc-check == 0.3.0.1 # only version compatible with ghcide 0.2.0
- ghc-tcplugins-extra ==0.3.2 # required for polysemy-plugin 0.2.5.0
- gi-gdk == 3.0.23 # required for gi-pango 1.0.23
- gi-gtk == 3.0.35 # required for gi-pango 1.0.23
@ -2575,8 +2574,6 @@ extra-packages:
- happy <1.19.6 # newer versions break Agda
- happy == 1.19.9 # for purescript
- haskell-gi-overloading == 0.0 # gi-* packages use this dependency to disable overloading support
- haskell-lsp == 0.22.* # required for ghcide 0.2.0
- haskell-lsp-types == 0.22.* # required for ghcide 0.2.0
- haskell-src-exts == 1.19.* # required by hindent and structured-haskell-mode
- hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
- hoogle == 5.0.14 # required by hie-hoogle
@ -2617,6 +2614,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:
@ -3912,6 +3916,7 @@ broken-packages:
- codemonitor
- codepad
- codeworld-api
- codex
- codo-notation
- coin
- coinbase-exchange
@ -4086,6 +4091,7 @@ broken-packages:
- Control-Monad-ST2
- contstuff-monads-tf
- contstuff-transformers
- conversions
- convert
- convert-annotation
- convertible-ascii
@ -4181,6 +4187,7 @@ broken-packages:
- cryptocipher
- cryptocompare
- cryptoconditions
- cryptoids
- cryptol
- cryptsy-api
- crystalfontz
@ -4723,6 +4730,7 @@ broken-packages:
- enchant
- encoding
- encoding-io
- encryptable
- engine-io
- engine-io-growler
- engine-io-snap
@ -4969,6 +4977,7 @@ broken-packages:
- FileManip
- FileManipCompat
- fileneglect
- filepath-crypto
- filepath-io-access
- FilePather
- filepather
@ -5459,10 +5468,12 @@ broken-packages:
- google-drive
- google-html5-slide
- google-mail-filters
- google-maps-geocoding
- google-oauth2
- google-oauth2-easy
- google-search
- google-server-api
- google-static-maps
- google-translate
- GoogleCodeJam
- GoogleDirections
@ -5655,18 +5666,25 @@ broken-packages:
- hakismet
- hakka
- hako
- hakyll
- hakyll-agda
- hakyll-blaze-templates
- hakyll-contrib
- hakyll-contrib-csv
- hakyll-contrib-elm
- hakyll-contrib-hyphenation
- hakyll-contrib-links
- hakyll-convert
- hakyll-dhall
- hakyll-dir-list
- hakyll-favicon
- hakyll-filestore
- hakyll-images
- hakyll-ogmarkup
- hakyll-R
- hakyll-sass
- hakyll-series
- hakyll-shakespeare
- hakyll-shortcode
- hakyll-shortcut-links
- hakyll-typescript
@ -6228,6 +6246,7 @@ broken-packages:
- HLogger
- hlogger
- hlongurl
- hlrdb
- hls
- hlwm
- hly
@ -6740,8 +6759,20 @@ broken-packages:
- ignore
- igraph
- igrf
- ihaskell
- ihaskell-aeson
- ihaskell-basic
- ihaskell-blaze
- ihaskell-charts
- ihaskell-diagrams
- ihaskell-display
- ihaskell-gnuplot
- ihaskell-graphviz
- ihaskell-hatex
- ihaskell-hvega
- ihaskell-inline-r
- ihaskell-juicypixels
- ihaskell-magic
- ihaskell-parsec
- ihaskell-plot
- ihaskell-rlangqq
@ -7214,6 +7245,8 @@ broken-packages:
- latest-npm-version
- latex-formulae-hakyll
- latex-formulae-pandoc
- latex-svg-hakyll
- latex-svg-pandoc
- LATS
- launchdarkly-server-sdk
- launchpad-control
@ -7368,7 +7401,6 @@ broken-packages:
- list-mux
- list-prompt
- list-remote-forwards
- list-t
- list-t-attoparsec
- list-t-html-parser
- list-t-http-client
@ -7475,6 +7507,7 @@ broken-packages:
- lp-diagrams
- lp-diagrams-svg
- LRU
- lrucaching-haxl
- ls-usb
- lscabal
- LslPlus
@ -8335,10 +8368,11 @@ broken-packages:
- pam
- pan-os-syslog
- panda
- pandoc-crossref
- pandoc-csv2table
- pandoc-emphasize-code
- pandoc-filter-graphviz
- pandoc-include
- pandoc-include-code
- pandoc-japanese-filters
- pandoc-lens
- pandoc-markdown-ghci-filter
@ -8348,6 +8382,7 @@ broken-packages:
- pandoc-pyplot
- pandoc-sidenote
- pandoc-unlit
- pandoc-utils
- PandocAgda
- pang-a-lambda
- pangraph
@ -8640,6 +8675,7 @@ broken-packages:
- polysemy-http
- polysemy-optics
- polysemy-RandomFu
- polysemy-test
- polysemy-webserver
- polysemy-zoo
- polyseq
@ -8741,8 +8777,9 @@ broken-packages:
- prim
- prim-array
- prim-ref
- primal
- primal-memory
- primes-type
- primitive-extras
- primitive-indexed
- primitive-maybe
- primitive-simd
@ -9042,6 +9079,7 @@ broken-packages:
- redis-hs
- redis-io
- redis-simple
- rediscaching-haxl
- redland
- Redmine
- reduce-equations
@ -9393,6 +9431,7 @@ broken-packages:
- scotty-fay
- scotty-format
- scotty-hastache
- scotty-haxl
- scotty-resource
- scotty-rest
- scotty-session
@ -9673,6 +9712,7 @@ broken-packages:
- siphon
- siren-json
- sirkel
- sitepipe
- sixfiguregroup
- sized-grid
- sized-types
@ -9875,7 +9915,6 @@ broken-packages:
- Spock-api-ghcjs
- Spock-api-server
- Spock-auth
- Spock-core
- Spock-digestive
- Spock-lucid
- Spock-worker
@ -9983,9 +10022,7 @@ broken-packages:
- STL
- STLinkUSB
- stm-chunked-queues
- stm-containers
- stm-firehose
- stm-hamt
- stm-promise
- stm-stats
- stm-supply
@ -10041,6 +10078,8 @@ broken-packages:
- stripe-haskell
- stripe-http-client
- stripe-http-streams
- stripe-scotty
- stripe-signature
- stripe-tests
- strongswan-sql
- structural-induction
@ -10076,7 +10115,6 @@ broken-packages:
- sunroof-server
- super-user-spark
- superbubbles
- superbuffer
- supercollider-ht
- supercollider-midi
- superconstraints
@ -10236,6 +10274,7 @@ broken-packages:
- tellbot
- tempi
- template-default
- template-haskell-optics
- template-haskell-util
- template-hsml
- template-yj
@ -10384,6 +10423,7 @@ broken-packages:
- timeseries
- timespan
- timeutils
- timezone-detect
- timezone-olson-th
- timezone-unix
- tini
@ -10734,6 +10774,7 @@ broken-packages:
- uuagc-diagrams
- uuid-aeson
- uuid-bytes
- uuid-crypto
- uvector
- uvector-algorithms
- uxadt

File diff suppressed because it is too large Load Diff

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

View File

@ -17,18 +17,18 @@
, text-builder, text-conversions, th-lift-instances, these, time
, transformers, transformers-base, unix, unordered-containers
, uri-encode, uuid, vector, wai, wai-websockets, warp, websockets
, wreq, x509, yaml, zlib
, wreq, x509, yaml, zlib, witherable, semialign, validation, cron
}:
mkDerivation {
pname = "graphql-engine";
version = "1.0.0";
src = fetchgit {
url = "https://github.com/hasura/graphql-engine.git";
sha256 = "0hg44zl3gqa8lq7kggwgmgbsgdc7zrv5cxs507vilg11xklsbz4l";
rev = "27b0b59361cebecd074bd59123f602e7b013bac1";
sha256 = "sha256-tNKoi3dtoXj0nn4qBgLBroo7SgX7SdVaHtBqjs1S3hQ=";
rev = "1e3eb035d3c915032ba23e502bcb0132b4d54202";
fetchSubmodules = true;
};
postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@ -48,6 +48,8 @@ mkDerivation {
th-lift-instances these time transformers transformers-base unix
unordered-containers uri-encode uuid vector wai wai-websockets warp
websockets wreq x509 yaml zlib
witherable semialign validation
cron
];
executableHaskellDepends = [
base bytestring pg-client text text-conversions

View File

@ -5,11 +5,11 @@
}:
mkDerivation {
pname = "graphql-parser";
version = "0.1.0.0";
version = "0.1.0.1";
src = fetchgit {
url = "https://github.com/hasura/graphql-parser-hs.git";
sha256 = "0vz0sqqmr1l02d3f1pc5k7rm7vpxmg5d5ijvdcwdm34yw6x5lz1v";
rev = "623ad78aa46e7ba2ef1aa58134ad6136b0a85071";
sha256 = "sha256-oem/h0AQPk7eSM/P6wMoWV9KirxutE4hnQWwrpQ6TGk=";
rev = "ba8e26fef1488cf3c8c08e86f02730f56ec84e1f";
fetchSubmodules = true;
};
libraryHaskellDepends = [
@ -29,6 +29,7 @@ mkDerivation {
template-haskell text text-builder th-lift-instances
unordered-containers vector
];
doCheck = false;
prePatch = "hpack";
homepage = "https://github.com/hasura/graphql-parser-hs#readme";
license = stdenv.lib.licenses.bsd3;

View File

@ -11,11 +11,11 @@
}:
mkDerivation {
pname = "haskell-language-server";
version = "0.3.0.0";
version = "0.4.0.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "0gh3sgy6a08d8d3q6r2qn5r817ilzka2qkp0g0y6wsx7rjwag0yx";
rev = "23dda97f583e8ff39993b89c01bbd1ac24187605";
sha256 = "157bsq6i824bl6krw7znp0byd8ibaqsq7mfwnkl741dmrflsxpa9";
rev = "cb861b878ae01911b066182ff0d8080050c3b2d6";
fetchSubmodules = true;
};
isLibrary = true;

View File

@ -17,9 +17,9 @@ mkDerivation {
pname = "ghcide";
version = "0.2.0";
src = fetchgit {
url = "https://github.com/wz1000/ghcide";
sha256 = "112bsk2660750n94gnsgrvd30rk0ccxb8dbhka606a11pcqv5cgx";
rev = "3f6cd4553279ec47d1599b502720791a4f4613cd";
url = "https://github.com/haskell/ghcide";
sha256 = "1zq7ngaak8il91a309rl51dghzasnk4m2sm3av6d93cyqyra1hfc";
rev = "078e3d3c0d319f83841ccbcdc60ff5f0e243f6be";
fetchSubmodules = true;
};
isLibrary = true;

View File

@ -29,7 +29,7 @@ ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell
echo "Updating haskell-language-server's ghcide from old version $ghcide_old_version to new version $ghcide_new_version."
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
cabal2nix --revision "$ghcide_new_version" "https://github.com/haskell/ghcide" > "$ghcide_derivation_file"
# ===========================

View File

@ -9,7 +9,7 @@ buildGoModule rec {
subPackages = [ "cmd/hasura" ];
vendorSha256 = "0a3mlkl00r680v8x3hy24ykggq5qm7k3101krlyfrb5y4karp75a";
vendorSha256 = "sha256-Fp6o3xZ/964q8yzJJFrqWZtQ5zYNy6Wreh42YxWjNbU=";
doCheck = false;

View File

@ -1,63 +0,0 @@
{ haskell }:
with haskell.lib;
let
# version in cabal file is invalid
version = "1.2.1";
pkgs = haskell.packages.ghc865.override {
overrides = self: super: {
# cabal2nix --subpath server --maintainer offline --no-check --revision 1.2.1 https://github.com/hasura/graphql-engine.git
hasura-graphql-engine = justStaticExecutables
((self.callPackage ./graphql-engine.nix { }).overrideDerivation (d: {
name = "graphql-engine-${version}";
inherit version;
# hasura needs VERSION env exported during build
preBuild = "export VERSION=${version}";
}));
hasura-cli = self.callPackage ./cli.nix {
hasura-graphql-engine = self.hasura-graphql-engine // {
inherit version;
};
};
# internal dependencies, non published on hackage (find revisions in cabal.project file)
# cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
ci-info = self.callPackage ./ci-info.nix { };
# cabal2nix --revision <rev> https://github.com/hasura/graphql-parser-hs.git
graphql-parser = self.callPackage ./graphql-parser.nix { };
# cabal2nix --revision <rev> https://github.com/hasura/pg-client-hs.git
pg-client = self.callPackage ./pg-client.nix { };
# version constrained dependencies, without these hasura will not build,
# find versions in graphql-engine.cabal
# cabal2nix cabal://dependent-map-0.2.4.0
dependent-map = self.callPackage ./dependent-map.nix { };
# cabal2nix cabal://dependent-sum-0.4
dependent-sum = self.callPackage ./dependent-sum.nix { };
# cabal2nix cabal://these-0.7.6
these = doJailbreak (self.callPackage ./these.nix { });
# cabal2nix cabal://immortal-0.2.2.1
immortal = self.callPackage ./immortal.nix { };
# cabal2nix cabal://network-uri-2.6.1.0
network-uri = self.callPackage ./network-uri.nix { };
# cabal2nix cabal://ghc-heap-view-0.6.0
ghc-heap-view = disableLibraryProfiling (self.callPackage ./ghc-heap-view.nix { });
# unmark broewn packages and do required modifications
stm-hamt = doJailbreak (unmarkBroken super.stm-hamt);
superbuffer = dontCheck (doJailbreak (unmarkBroken super.superbuffer));
Spock-core = dontCheck (unmarkBroken super.Spock-core);
stm-containers = dontCheck (unmarkBroken super.stm-containers);
ekg-json = unmarkBroken super.ekg-json;
list-t = dontCheck (unmarkBroken super.list-t);
primitive-extras = unmarkBroken super.primitive-extras;
};
};
in {
inherit (pkgs) hasura-graphql-engine hasura-cli;
}

View File

@ -1,13 +0,0 @@
{ mkDerivation, base, containers, dependent-sum, stdenv }:
mkDerivation {
pname = "dependent-map";
version = "0.2.4.0";
sha256 = "5db396bdb5d156434af920c074316c3b84b4d39ba8e1cd349c7bb6679cb28246";
revision = "1";
editedCabalFile = "0a5f35d1sgfq1cl1r5bgb5pwfjniiycxiif4ycxglaizp8g5rlr1";
libraryHaskellDepends = [ base containers dependent-sum ];
homepage = "https://github.com/mokus0/dependent-map";
description = "Dependent finite maps (partial dependent products)";
license = "unknown";
hydraPlatforms = stdenv.lib.platforms.none;
}

View File

@ -1,10 +0,0 @@
{ mkDerivation, base, stdenv }:
mkDerivation {
pname = "dependent-sum";
version = "0.4";
sha256 = "a8deecb4153a1878173f8d0a18de0378ab068bc15e5035b9e4cb478e8e4e1a1e";
libraryHaskellDepends = [ base ];
homepage = "https://github.com/mokus0/dependent-sum";
description = "Dependent sum type";
license = stdenv.lib.licenses.publicDomain;
}

View File

@ -1,18 +0,0 @@
{ mkDerivation, base, binary, bytestring, Cabal, containers
, deepseq, filepath, ghc-heap, stdenv, template-haskell
, transformers
}:
mkDerivation {
pname = "ghc-heap-view";
version = "0.6.0";
sha256 = "99ed6034d02a7a942e1b6ed970e9f7028dcdfd5b5d29fd8a0fb89f1a5e7c5ec8";
enableSeparateDataOutput = true;
setupHaskellDepends = [ base Cabal filepath ];
libraryHaskellDepends = [
base binary bytestring containers ghc-heap template-haskell
transformers
];
testHaskellDepends = [ base deepseq ];
description = "Extract the heap representation of Haskell values and thunks";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,17 +0,0 @@
{ mkDerivation, base, lifted-base, monad-control, stdenv, stm
, tasty, tasty-hunit, transformers, transformers-base
}:
mkDerivation {
pname = "immortal";
version = "0.2.2.1";
sha256 = "ed4aa1a2883a693a73fec47c8c2d5332d61a0626a2013403e1a8fb25cc6c8d8e";
libraryHaskellDepends = [
base lifted-base monad-control stm transformers-base
];
testHaskellDepends = [
base lifted-base stm tasty tasty-hunit transformers
];
homepage = "https://github.com/feuerbach/immortal";
description = "Spawn threads that never die (unless told to do so)";
license = stdenv.lib.licenses.mit;
}

View File

@ -1,18 +0,0 @@
{ mkDerivation, base, deepseq, HUnit, parsec, stdenv
, test-framework, test-framework-hunit, test-framework-quickcheck2
}:
mkDerivation {
pname = "network-uri";
version = "2.6.1.0";
sha256 = "423e0a2351236f3fcfd24e39cdbc38050ec2910f82245e69ca72a661f7fc47f0";
revision = "1";
editedCabalFile = "141nj7q0p9wkn5gr41ayc63cgaanr9m59yym47wpxqr3c334bk32";
libraryHaskellDepends = [ base deepseq parsec ];
testHaskellDepends = [
base HUnit test-framework test-framework-hunit
test-framework-quickcheck2
];
homepage = "https://github.com/haskell/network-uri";
description = "URI manipulation";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,25 +0,0 @@
{ mkDerivation, aeson, base, base-compat, bifunctors, binary
, containers, data-default-class, deepseq, hashable, keys, lens
, mtl, QuickCheck, quickcheck-instances, semigroupoids, stdenv
, tasty, tasty-quickcheck, transformers, transformers-compat
, unordered-containers, vector, vector-instances
}:
mkDerivation {
pname = "these";
version = "0.7.6";
sha256 = "9464b83d98e626360a8ad9836ba77e5201cd1e9c89b95b1b11a28ef3c23ac746";
libraryHaskellDepends = [
aeson base base-compat bifunctors binary containers
data-default-class deepseq hashable keys lens mtl QuickCheck
semigroupoids transformers transformers-compat unordered-containers
vector vector-instances
];
testHaskellDepends = [
aeson base base-compat bifunctors binary containers hashable lens
QuickCheck quickcheck-instances tasty tasty-quickcheck transformers
unordered-containers vector
];
homepage = "https://github.com/isomorphism/these";
description = "An either-or-both data type & a generalized 'zip with padding' typeclass";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -16317,17 +16317,9 @@ in
hashi-ui = callPackage ../servers/hashi-ui {};
/* This package duplicates a lot of functionality from haskellPackages
instead of using the packages we maintain there. Now, a recent update to
haskellPackages causes these tools to fail evaluation, and I have been
unable to mark them as "broken" in a way that ofBorg bot recognizes. Since
I don't want to merge code into master that generates evaluation errors, I
have no other idea but to comment them out entirely.
hasura-graphql-engine = haskellPackages.graphql-engine;
inherit (callPackage ../servers/hasura { })
hasura-cli
hasura-graphql-engine;
*/
hasura-cli = callPackage ../servers/hasura/cli.nix { };
heapster = callPackage ../servers/monitoring/heapster { };