diff options
author | sterni <sternenseemann@systemli.org> | 2021-04-10T21·30+0200 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2021-04-13T10·34+0000 |
commit | 2f4ea13ca2a76641052216139cc6267ca959ae0d (patch) | |
tree | ba3de13e19de1abb848c9bb8284bc2ea0e172436 /users/grfn/xanthous/default.nix | |
parent | a0cfa097e040f082d448288ca8a3c99231484b03 (diff) |
refactor(users/grfn): build all haskell packages without ifd r/2501
Since we need to override random to 1.2.0 globally for xanthous (otherwise propagation causes two versions of random to be propagated for xanthous) evaluating haskell related stuff using import from derivation can be very expensive since utilities like hpack and cabal2nix need to be built for that. This means that for every channel bump we potentially need to do a world rebuild of haskellPackages first. To solve this we check in the cabal2nix-generated nix expressions for owothia and xanthous. Change-Id: I8fff70b4b6c303d1920f8bcac53520a09999b206 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2921 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'users/grfn/xanthous/default.nix')
-rw-r--r-- | users/grfn/xanthous/default.nix | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/users/grfn/xanthous/default.nix b/users/grfn/xanthous/default.nix index 0b89a50afb9e..1316ff583f17 100644 --- a/users/grfn/xanthous/default.nix +++ b/users/grfn/xanthous/default.nix @@ -1,7 +1,23 @@ -{ pkgs ? (import ../../../. {}).third_party -, lib ? pkgs.lib -, ... -}: -pkgs.haskell.lib.failOnAllWarnings ( - pkgs.haskellPackages.callPackage (import ./pkg.nix { inherit pkgs; }) {} -) +{ depot ? (import ../../../. {}) +, pkgs ? depot.third_party.nixpkgs +, ... }: + +let + ignore = depot.third_party.gitignoreSource.gitignoreFilter ./.; + src = builtins.path { + name = "xanthous-source"; + path = ./.; + filter = path: type: ignore path type + || builtins.baseNameOf path == "package.yaml"; + }; + # generated by cabal2nix + basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { }; +in + +pkgs.haskell.lib.overrideCabal basePkg (default: { + inherit src; + version = "canon"; + configureFlags = [ + "--ghc-option=-Wall --ghc-option=-Werror" + ] ++ (default.configureFlags or []); +}) |