diff options
Diffstat (limited to 'Biz/Bild/Deps.nix')
-rw-r--r-- | Biz/Bild/Deps.nix | 115 |
1 files changed, 54 insertions, 61 deletions
diff --git a/Biz/Bild/Deps.nix b/Biz/Bild/Deps.nix index ce75805..c37b4f5 100644 --- a/Biz/Bild/Deps.nix +++ b/Biz/Bild/Deps.nix @@ -1,61 +1,54 @@ -[ - "MonadRandom" - "QuickCheck" - "acid-state" - "aeson" - "async" - "bytestring" - # "capability" # broken deps - "clay" - "cmark" - "config-ini" - "containers" - "directory" - "ekg" - "envy" - "fast-logger" - "filepath" - "ghcjs-base" - "haskeline" - "http-types" - "ixset" - "katip" - "lucid" - "miso" - "monad-logger" - "monad-metrics" - "mtl" - "network-uri" - "optparse-simple" - "parsec" - "process" - "protolude" - "quickcheck-instances" - "random" - "regex-applicative" - "req" - "safecopy" - "scotty" - "servant" - "servant-auth" - "servant-auth-server" - "servant-lucid" - "servant-server" - "split" - "stm" - "string-quote" - "tasty" - "text" - "time" - "transformers" - "unagi-chan" - "unix" - "unordered-containers" - "vector" - "wai" - "wai-app-static" - "wai-extra" - "wai-middleware-metrics" - "warp" - "x509" -] +_: pkgs: + +let + simpleCabalBuilder = self: name: + self.callCabal2nix name pkgs.sources.${name} {}; + buildCabal = self: name: subdir: + if isNull subdir then + self.callCabal2nix name pkgs.sources.${name} {} + else + self.callCabal2nix name (pkgs.sources.${name} + "/${subdir}") {}; +in rec +{ + haskell = pkgs.haskell // { + packages = pkgs.haskell.packages // { + ghc865 = pkgs.haskell.packages.ghc865.override (old: { + overrides = with pkgs.pkgs.haskell.lib; self: super: + pkgs.overridePinnedDeps (simpleCabalBuilder self) // { + acid-state = dontCheck super.acid-state; # mac: "too many open files" + ghcjs-base = null; # otherwise ghc tries to build this via overridePinnedDeps + servant-auth = buildCabal self "servant-auth" "servant-auth"; + servant-server = doJailbreak super.servant-server; + temporary = dontCheck super.temporary; + wai-middleware-metrics = dontCheck super.wai-middleware-metrics; + }; + }); + ghcjs86 = pkgs.haskell.packages.ghcjs86.override (old: { + overrides = with pkgs.haskell.lib; self: super: + pkgs.overridePinnedDeps (simpleCabalBuilder self) // { + Glob = dontCheck super.Glob; + QuickCheck = dontCheck super.QuickCheck; + aeson = dontCheck super.aeson; + base-compat-batteries = dontCheck super.base-compat-batteries; + clay = dontCheck super.clay; + comonad = dontCheck super.comonad; + ghcjs-base = dontCheck (simpleCabalBuilder self "ghcjs-base"); + jsaddle-warp = dontCheck (self.callCabal2nix "jsaddle-warp" "${pkgs.sources.jsaddle}/jsaddle-warp" {}); + http-types = dontCheck super.http-types; + network-uri= dontCheck super.network-uri; + scientific = dontCheck super.scientific; # takes forever + servant = dontCheck super.servant; + servant-auth = buildCabal self "servant-auth" "servant-auth"; + tasty-quickcheck = dontCheck super.tasty-quickcheck; + temporary = dontCheck super.temporary; + time-compat = dontCheck super.time-compat; + vector = dontCheck super.vector; + }; + }); + }; + }; + + wemux = pkgs.callPackage ./Deps/wemux.nix {}; + guile-opengl = pkgs.callPackage ./Deps/guile-opengl.nix {}; + inspekt3d = pkgs.callPackage ./Deps/inspekt3d.nix {}; +} |