haskellPackages.graphql-engine: update to 2.0.5 + refactor
This commit is contained in:
parent
3b1a6b95d4
commit
d07be4c5cb
|
@ -1293,23 +1293,19 @@ self: super: {
|
|||
# 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;
|
||||
# hasura packages need some extra care
|
||||
graphql-engine = overrideCabal (super.graphql-engine.override {
|
||||
immortal = self.immortal_0_2_2_1;
|
||||
}) (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";
|
||||
}));
|
||||
patches = [ ./patches/graphql-engine-mapkeys.patch ];
|
||||
doHaddock = false;
|
||||
version = "2.0.5";
|
||||
});
|
||||
pg-client = overrideCabal super.pg-client (drv: {
|
||||
librarySystemDepends = with pkgs; [ postgresql krb5.dev openssl.dev ];
|
||||
# wants a running DB to check against
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
# https://github.com/bos/statistics/issues/170
|
||||
statistics = dontCheck super.statistics;
|
||||
|
|
|
@ -41,13 +41,6 @@ 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;
|
||||
|
|
|
@ -26,14 +26,19 @@ self: super: {
|
|||
|
||||
nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
|
||||
|
||||
# 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 {};
|
||||
# hasura graphql-engine is not released to hackage.
|
||||
# https://github.com/hasura/graphql-engine/issues/7391
|
||||
#
|
||||
# pg-client and graphql-engine depend on a hasura fork of resource-pool
|
||||
# which is provided by pool.nix
|
||||
ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix {};
|
||||
pg-client = self.callPackage ../misc/haskell/hasura/pg-client.nix {
|
||||
resource-pool = self.callPackage ../misc/haskell/hasura/pool.nix {};
|
||||
};
|
||||
graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser.nix {};
|
||||
graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine.nix {
|
||||
resource-pool = self.callPackage ../misc/haskell/hasura/pool.nix {};
|
||||
};
|
||||
|
||||
# Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth
|
||||
# cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/server/src-lib/Data/HashMap/Strict/Extended.hs b/server/src-lib/Data/HashMap/Strict/Extended.hs
|
||||
index eaff0dfba..5047a0e9d 100644
|
||||
--- a/src-lib/Data/HashMap/Strict/Extended.hs
|
||||
+++ b/src-lib/Data/HashMap/Strict/Extended.hs
|
||||
@@ -17,7 +17,7 @@ import qualified Data.Align as A
|
||||
import qualified Data.Foldable as F
|
||||
|
||||
import Data.Function
|
||||
-import Data.HashMap.Strict as M
|
||||
+import Data.HashMap.Strict as M hiding (mapKeys)
|
||||
import Data.Hashable
|
||||
import Data.List.NonEmpty (NonEmpty (..))
|
||||
import Data.These
|
|
@ -1,26 +0,0 @@
|
|||
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
|
|
@ -1,3 +1,5 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{ mkDerivation, aeson, aeson-casing, base, fetchgit, hashable
|
||||
, hpack, lib, template-haskell, text, th-lift-instances
|
||||
, unordered-containers
|
||||
|
@ -7,8 +9,8 @@ mkDerivation {
|
|||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/ci-info-hs.git";
|
||||
sha256 = "0rn1799z4y7z1c6ijrr0gscarg25zmnfq0z9rrmk4ad727vf1ppc";
|
||||
rev = "6af5a68450347a02295a9cd050d05a8b2f5c06ab";
|
||||
sha256 = "018vfyg0y2sn497nigjrcs6b1v3i9bna06dsbvgr6wjikcl6dhh4";
|
||||
rev = "68247a83738ac4bb9f719f0e4213aeb7be9565cf";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
81
pkgs/development/misc/haskell/hasura/graphql-engine.nix
Normal file
81
pkgs/development/misc/haskell/hasura/graphql-engine.nix
Normal file
|
@ -0,0 +1,81 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{ mkDerivation, aeson, aeson-casing, ansi-wl-pprint, asn1-encoding
|
||||
, asn1-types, async, attoparsec, attoparsec-iso8601, auto-update
|
||||
, base, base16-bytestring, base64-bytestring, binary, byteorder
|
||||
, bytestring, case-insensitive, ci-info, containers, cron
|
||||
, cryptonite, data-has, deepseq, dependent-map, dependent-sum
|
||||
, directory, ekg-core, ekg-json, exceptions, fast-logger, fetchgit
|
||||
, file-embed, filepath, generic-arbitrary, ghc-heap-view
|
||||
, graphql-parser, hashable, hashable-time, hspec, hspec-core
|
||||
, hspec-expectations, hspec-expectations-lifted, http-api-data
|
||||
, http-client, http-client-tls, http-conduit, http-types, immortal
|
||||
, insert-ordered-containers, jose, kan-extensions, lens, lens-aeson
|
||||
, lib, lifted-async, lifted-base, list-t, memory, mime-types
|
||||
, mmorph, monad-control, monad-loops, monad-validate, mtl, mustache
|
||||
, mysql, mysql-simple, natural-transformation, network, network-uri
|
||||
, odbc, optparse-applicative, pem, pg-client, postgresql-binary
|
||||
, postgresql-libpq, process, profunctors, psqueues, QuickCheck
|
||||
, quickcheck-instances, random, regex-tdfa, resource-pool, retry
|
||||
, safe, safe-exceptions, scientific, semialign, semigroups, semver
|
||||
, shakespeare, some, split, Spock-core, stm, stm-containers, tagged
|
||||
, template-haskell, text, text-builder, text-conversions, these
|
||||
, time, transformers, transformers-base, unix, unordered-containers
|
||||
, uri-encode, utf8-string, uuid, validation, vector
|
||||
, vector-instances, wai, warp, websockets, wreq, x509, x509-store
|
||||
, yaml, zlib
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-engine";
|
||||
version = "1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-engine.git";
|
||||
sha256 = "0sw7jwj3ixr0nnh3i9yagiqjsvf83w79jd7ac9vdvm410jfjcnxf";
|
||||
rev = "5990ca403bf6e7dd66081720c329e513f0624fb6";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson aeson-casing ansi-wl-pprint asn1-encoding asn1-types async
|
||||
attoparsec attoparsec-iso8601 auto-update base base16-bytestring
|
||||
base64-bytestring binary byteorder bytestring case-insensitive
|
||||
ci-info containers cron cryptonite data-has deepseq dependent-map
|
||||
dependent-sum directory ekg-core ekg-json exceptions fast-logger
|
||||
file-embed filepath ghc-heap-view graphql-parser hashable
|
||||
hashable-time http-api-data http-client http-client-tls
|
||||
http-conduit http-types immortal insert-ordered-containers jose
|
||||
kan-extensions lens lens-aeson lifted-async lifted-base list-t
|
||||
memory mime-types mmorph monad-control monad-loops monad-validate
|
||||
mtl mustache mysql mysql-simple network network-uri odbc
|
||||
optparse-applicative pem pg-client postgresql-binary
|
||||
postgresql-libpq process profunctors psqueues QuickCheck
|
||||
quickcheck-instances random regex-tdfa resource-pool retry
|
||||
safe-exceptions scientific semialign semigroups semver shakespeare
|
||||
some split Spock-core stm stm-containers tagged template-haskell
|
||||
text text-builder text-conversions these time transformers
|
||||
transformers-base unix unordered-containers uri-encode utf8-string
|
||||
uuid validation vector vector-instances wai warp websockets wreq
|
||||
x509 x509-store yaml zlib
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base bytestring ekg-core kan-extensions pg-client text
|
||||
text-conversions time unix
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson base bytestring containers cron dependent-map dependent-sum
|
||||
generic-arbitrary graphql-parser hspec hspec-core
|
||||
hspec-expectations hspec-expectations-lifted http-client
|
||||
http-client-tls http-types insert-ordered-containers jose
|
||||
kan-extensions lens lifted-base mmorph monad-control mtl
|
||||
natural-transformation network-uri optparse-applicative pg-client
|
||||
process QuickCheck safe scientific split template-haskell text time
|
||||
transformers-base unordered-containers vector
|
||||
];
|
||||
doCheck = false;
|
||||
homepage = "https://www.hasura.io";
|
||||
description = "GraphQL API over Postgres";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
{ mkDerivation, aeson, aeson-casing, ansi-wl-pprint, asn1-encoding
|
||||
, asn1-types, async, attoparsec, attoparsec-iso8601, auto-update
|
||||
, base, base64-bytestring, byteorder, bytestring, case-insensitive
|
||||
, ci-info, containers, criterion, cryptonite, data-has, deepseq
|
||||
, dependent-map, dependent-sum, directory, ekg-core, ekg-json
|
||||
, fast-logger, fetchgit, file-embed, filepath, generic-arbitrary
|
||||
, ghc-heap-view, graphql-parser, hashable, hspec, hspec-core
|
||||
, hspec-expectations-lifted, http-client, http-client-tls
|
||||
, http-types, immortal, insert-ordered-containers, jose, lens
|
||||
, lifted-async, lifted-base, list-t, mime-types, monad-control
|
||||
, monad-time, monad-validate, mtl, mustache, mwc-probability
|
||||
, mwc-random, natural-transformation, network, network-uri
|
||||
, optparse-applicative, pem, pg-client, postgresql-binary
|
||||
, postgresql-libpq, process, profunctors, psqueues, QuickCheck
|
||||
, regex-tdfa, safe, scientific, semver, shakespeare, split
|
||||
, Spock-core, lib, stm, stm-containers, template-haskell, text
|
||||
, 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, witherable, semialign, validation, cron
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-engine";
|
||||
version = "1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-engine.git";
|
||||
sha256 = "sha256-tNKoi3dtoXj0nn4qBgLBroo7SgX7SdVaHtBqjs1S3hQ=";
|
||||
rev = "1e3eb035d3c915032ba23e502bcb0132b4d54202";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson aeson-casing ansi-wl-pprint asn1-encoding asn1-types async
|
||||
attoparsec attoparsec-iso8601 auto-update base base64-bytestring
|
||||
byteorder bytestring case-insensitive ci-info containers cryptonite
|
||||
data-has deepseq dependent-map dependent-sum directory ekg-core
|
||||
ekg-json fast-logger file-embed filepath generic-arbitrary
|
||||
ghc-heap-view graphql-parser hashable http-client http-client-tls
|
||||
http-types immortal insert-ordered-containers jose lens
|
||||
lifted-async lifted-base list-t mime-types monad-control monad-time
|
||||
monad-validate mtl mustache network network-uri
|
||||
optparse-applicative pem pg-client postgresql-binary
|
||||
postgresql-libpq process profunctors psqueues QuickCheck regex-tdfa
|
||||
scientific semver shakespeare split Spock-core stm stm-containers
|
||||
template-haskell text 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
|
||||
witherable semialign validation
|
||||
cron
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base bytestring pg-client text text-conversions
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson base bytestring hspec hspec-core hspec-expectations-lifted
|
||||
http-client http-client-tls lifted-base monad-control mtl
|
||||
natural-transformation optparse-applicative pg-client process
|
||||
QuickCheck safe split text time transformers-base
|
||||
unordered-containers
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
async base bytestring criterion deepseq mwc-probability mwc-random
|
||||
split text vector
|
||||
];
|
||||
doCheck = false;
|
||||
homepage = "https://www.hasura.io";
|
||||
description = "GraphQL API over Postgres";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ offline ];
|
||||
hydraPlatforms = [];
|
||||
broken = true;
|
||||
}
|
32
pkgs/development/misc/haskell/hasura/graphql-parser.nix
Normal file
32
pkgs/development/misc/haskell/hasura/graphql-parser.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{ mkDerivation, aeson, attoparsec, base, bytestring, containers
|
||||
, criterion, deepseq, fetchgit, filepath, hashable, hedgehog, lib
|
||||
, prettyprinter, scientific, template-haskell, text, text-builder
|
||||
, th-lift-instances, unordered-containers, vector
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-parser";
|
||||
version = "0.2.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-parser-hs.git";
|
||||
sha256 = "015b1h475k8wmhm9hkrvyxr985x7d8yc0xgcdqj7vmziixvfwwwj";
|
||||
rev = "79beb0e85e00422a8a15318c0bc573765fc7b246";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson attoparsec base bytestring containers deepseq filepath
|
||||
hashable hedgehog prettyprinter scientific template-haskell text
|
||||
text-builder th-lift-instances unordered-containers vector
|
||||
];
|
||||
testHaskellDepends = [
|
||||
attoparsec base bytestring hedgehog prettyprinter scientific text
|
||||
text-builder
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
base bytestring criterion prettyprinter text text-builder
|
||||
];
|
||||
homepage = "https://github.com/hasura/graphql-parser-hs";
|
||||
description = "A native Haskell GraphQL parser";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{ mkDerivation, aeson, attoparsec, base, bytestring, containers
|
||||
, criterion, fetchgit, filepath, hedgehog, hpack, prettyprinter
|
||||
, protolude, regex-tdfa, scientific, lib, template-haskell, text
|
||||
, text-builder, th-lift-instances, unordered-containers, vector
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-parser";
|
||||
version = "0.1.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-parser-hs.git";
|
||||
sha256 = "sha256-oem/h0AQPk7eSM/P6wMoWV9KirxutE4hnQWwrpQ6TGk=";
|
||||
rev = "ba8e26fef1488cf3c8c08e86f02730f56ec84e1f";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson attoparsec base bytestring containers filepath hedgehog
|
||||
prettyprinter protolude regex-tdfa scientific template-haskell text
|
||||
text-builder th-lift-instances unordered-containers vector
|
||||
];
|
||||
libraryToolDepends = [ hpack ];
|
||||
testHaskellDepends = [
|
||||
aeson attoparsec base bytestring containers filepath hedgehog
|
||||
prettyprinter protolude regex-tdfa scientific template-haskell text
|
||||
text-builder th-lift-instances unordered-containers vector
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
aeson attoparsec base bytestring containers criterion filepath
|
||||
hedgehog prettyprinter protolude regex-tdfa scientific
|
||||
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 = lib.licenses.bsd3;
|
||||
}
|
35
pkgs/development/misc/haskell/hasura/pg-client.nix
Normal file
35
pkgs/development/misc/haskell/hasura/pg-client.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
|
||||
, Cabal, criterion, ekg-core, fetchgit, file-embed, hashable
|
||||
, hashtables, hasql, hasql-pool, hasql-transaction, hspec, lib
|
||||
, mmorph, monad-control, mtl, postgresql, postgresql-binary
|
||||
, postgresql-libpq, resource-pool, retry, scientific
|
||||
, template-haskell, text, text-builder, time, transformers-base
|
||||
, uuid, vector
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "pg-client";
|
||||
version = "0.1.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/pg-client-hs.git";
|
||||
sha256 = "1y79s3ai4h82szpm1j5n5ygybqr7cza9l0raxf39vgn66jhy1jd2";
|
||||
rev = "92975d0f8f933c8d06913dc97af259253bf7fb5f";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
setupHaskellDepends = [ base Cabal ];
|
||||
libraryHaskellDepends = [
|
||||
aeson aeson-casing attoparsec base bytestring ekg-core hashable
|
||||
hashtables mmorph monad-control mtl postgresql-binary
|
||||
postgresql-libpq resource-pool retry scientific template-haskell
|
||||
text text-builder time transformers-base uuid vector
|
||||
];
|
||||
librarySystemDepends = [ postgresql ];
|
||||
testHaskellDepends = [ base bytestring hspec mtl ];
|
||||
benchmarkHaskellDepends = [
|
||||
base bytestring criterion file-embed hashable hasql hasql-pool
|
||||
hasql-transaction mtl postgresql-libpq text text-builder
|
||||
];
|
||||
homepage = "https://github.com/hasura/platform";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
|
||||
, criterion, fetchgit, file-embed, hashable, hashtables, hasql
|
||||
, hasql-pool, hasql-transaction, monad-control, mtl
|
||||
, postgresql-binary, postgresql-libpq, resource-pool, retry
|
||||
, scientific, lib, template-haskell, text, text-builder, th-lift
|
||||
, th-lift-instances, time, transformers-base, uuid, vector
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "pg-client";
|
||||
version = "0.1.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/pg-client-hs.git";
|
||||
sha256 = "1941gj5yp24kx0xb1nd774nwp5vnpsp6m83isqkwpyz9spl4sq7l";
|
||||
rev = "70a849d09bea9461e72c5a5bbde06df65aab61c0";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson aeson-casing attoparsec base bytestring hashable hashtables
|
||||
monad-control mtl postgresql-binary postgresql-libpq resource-pool
|
||||
retry scientific template-haskell text text-builder th-lift
|
||||
th-lift-instances time transformers-base uuid vector
|
||||
];
|
||||
testHaskellDepends = [ base ];
|
||||
benchmarkHaskellDepends = [
|
||||
base bytestring criterion file-embed hashable hasql hasql-pool
|
||||
hasql-transaction mtl postgresql-libpq text text-builder
|
||||
];
|
||||
homepage = "https://github.com/hasura/platform";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
23
pkgs/development/misc/haskell/hasura/pool.nix
Normal file
23
pkgs/development/misc/haskell/hasura/pool.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{ mkDerivation, base, fetchgit, hashable, hspec, lib, monad-control
|
||||
, stm, time, transformers, transformers-base, vector
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "resource-pool";
|
||||
version = "0.2.3.2";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/pool.git";
|
||||
sha256 = "00q1fxh72fgjwl1pi3lnp4xg8f3kfm6q12gs9scinwbymfgzarms";
|
||||
rev = "bc4c3f739a8fb8ec4444336a34662895831c9acf";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
base hashable monad-control stm time transformers transformers-base
|
||||
vector
|
||||
];
|
||||
testHaskellDepends = [ base hspec ];
|
||||
homepage = "http://github.com/bos/pool";
|
||||
description = "A high-performance striped resource pooling implementation";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
71
pkgs/development/misc/haskell/hasura/update.sh
Executable file
71
pkgs/development/misc/haskell/hasura/update.sh
Executable file
|
@ -0,0 +1,71 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p cabal2nix curl jq -I nixpkgs=.
|
||||
#
|
||||
# This script will update the hasura derivations to the latest version using
|
||||
# cabal2nix.
|
||||
#
|
||||
# Note that you should always try building hasura graphql-engine after updating it here, since
|
||||
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
|
||||
# need to be updated/changed.
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# This is the directory of this update.sh script.
|
||||
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
# graphql-engine derivation created with cabal2nix.
|
||||
engine_derivation_file="${script_dir}/graphql-engine.nix"
|
||||
parser_derivation_file="${script_dir}/graphql-parser.nix"
|
||||
ciinfo_derivation_file="${script_dir}/ci-info.nix"
|
||||
pgclient_derivation_file="${script_dir}/pg-client.nix"
|
||||
pool_derivation_file="${script_dir}/pool.nix"
|
||||
|
||||
# TODO: get current revision of graphql-engine in Nixpkgs.
|
||||
# old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$engine_derivation_file")"
|
||||
|
||||
# This is the latest release version of graphql-engine on GitHub.
|
||||
new_version=$(curl --silent "https://api.github.com/repos/hasura/graphql-engine/releases" | jq '.[0].tag_name' --raw-output)
|
||||
|
||||
echo "Running cabal2nix and outputting to ${engine_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$engine_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$engine_derivation_file"
|
||||
|
||||
# 2.0.5 hardcoded for now, because 2.0.6 failed to build. should be removed when updating
|
||||
# cabal2nix --revision "$new_version" --subpath server --maintainer lassulus "https://github.com/hasura/graphql-engine.git" >> "$engine_derivation_file"
|
||||
cabal2nix --revision "v2.0.5" --subpath server --maintainer lassulus --no-check "https://github.com/hasura/graphql-engine.git" >> "$engine_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${parser_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$parser_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$parser_derivation_file"
|
||||
|
||||
cabal2nix "https://github.com/hasura/graphql-parser-hs.git" >> "$parser_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${ciinfo_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$ciinfo_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$ciinfo_derivation_file"
|
||||
|
||||
cabal2nix "https://github.com/hasura/ci-info-hs.git" >> "$ciinfo_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${pgclient_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$pgclient_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$pgclient_derivation_file"
|
||||
|
||||
cabal2nix "https://github.com/hasura/pg-client-hs.git" >> "$pgclient_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${pool_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$pool_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$pool_derivation_file"
|
||||
|
||||
cabal2nix "https://github.com/hasura/pool.git" >> "$pool_derivation_file"
|
||||
|
||||
echo "###################"
|
||||
echo "please update pkgs/servers/hasura/cli.nix vendorSha256"
|
||||
echo "please update pkgs/development/haskell-modules/configuration-common.nix graphql-engine version"
|
||||
echo "###################"
|
||||
|
||||
echo "Finished."
|
Loading…
Reference in a new issue