summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-11-24 12:08:13 -0500
committerBen Sima <ben@bsima.me>2020-11-24 12:08:13 -0500
commit1a47cf6ff0cbe6cc80e3497a68343b8ecb9228c1 (patch)
treea29ea5743893fe2ec356da9cc198cb8957fe6d5e /Biz/Bild/Deps.nix
parent8e256e46bca4b3f04c6379a8ff98d3c5cb7a3683 (diff)
Add inspekt3d to guile deps, and reorganize
I reorganized in order to debug a problem with the nix overlays. I think having small, focused overlayes is more understandable than one overlay that references itself via `rec`. Also the error traces are easier to follow with smaller overlays.
Diffstat (limited to 'Biz/Bild/Deps.nix')
-rw-r--r--Biz/Bild/Deps.nix115
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 {};
+}