diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/hasura/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/hasura/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/hasura/default.nix b/nixpkgs/pkgs/servers/hasura/default.nix new file mode 100644 index 000000000000..085274660351 --- /dev/null +++ b/nixpkgs/pkgs/servers/hasura/default.nix @@ -0,0 +1,63 @@ +{ 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; +} |