Skip to content

Commit 3202b4a

Browse files
committed
Add test that all-cabal-nixes doesn't break anything
1 parent 5a482a2 commit 3202b4a

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

test/nixpkgs.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ let
2828
# This also tests that our stacklock2nix-specific passthru values are working.
2929
all-cabal-hashes-is-dir = final.callPackage ./test-all-cabal-hashes-is-dir.nix {};
3030

31+
# This tests that the all-cabal-nixes argument works correctly.
32+
all-cabal-nixes = final.callPackage ./test-all-cabal-nixes.nix {};
33+
3134
# This test that a stack.yaml with no local packages defined is still
3235
# able to be used by stacklock2nix, and produces a reasonable package set.
3336
no-local-packages = final.callPackage ./test-no-local-packages {};

test/test-all-cabal-nixes.nix

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{ lib
2+
, stacklock2nix
3+
, haskell
4+
, cabal-install
5+
, fetchFromGitHub
6+
}:
7+
8+
let
9+
hasklib = haskell.lib.compose;
10+
11+
stacklock = stacklock2nix {
12+
stackYaml = ../my-example-haskell-lib-easy/stack.yaml;
13+
baseHaskellPkgSet = haskell.packages.ghc984;
14+
additionalHaskellPkgSetOverrides = hfinal: hprev: {
15+
# The servant-cassava.cabal file is malformed on GitHub:
16+
# https://github.com/haskell-servant/servant-cassava/pull/29
17+
servant-cassava =
18+
hasklib.overrideCabal
19+
{ editedCabalFile = null; revision = null; }
20+
hprev.servant-cassava;
21+
22+
amazonka = hasklib.dontCheck hprev.amazonka;
23+
amazonka-core = hasklib.dontCheck hprev.amazonka-core;
24+
amazonka-sso = hasklib.dontCheck hprev.amazonka-sso;
25+
amazonka-sts = hasklib.dontCheck hprev.amazonka-sts;
26+
};
27+
cabal2nixArgsOverrides = args: args // {
28+
amazonka-sso = ver: { amazonka-test = null; };
29+
amazonka-sts = ver: { amazonka-test = null; };
30+
};
31+
all-cabal-hashes = fetchFromGitHub {
32+
owner = "commercialhaskell";
33+
repo = "all-cabal-hashes";
34+
rev = "578b09df5072f21768cfe13edfc3e4c3e41428fc";
35+
sha256 = "sha256-fmf4LukOJ2c0bCmNfuN+n2R6bxGhJqag9CBvZQEl3kA=";
36+
};
37+
# This test is to confirm that using `all-cabal-nixes` works.
38+
all-cabal-nixes = fetchFromGitHub {
39+
owner = "all-cabal-nixes";
40+
repo = "all-cabal-nixes";
41+
rev = "c37e66df270014a18ed11527db55928a4a2ae5d4";
42+
sha256 = "sha256-QcAhW8yFGwj7L1LWbvjdSQ2bTDeQ+1DVeC+/jS4gJA4=";
43+
};
44+
};
45+
in
46+
stacklock.newPkgSet.my-example-haskell-app

0 commit comments

Comments
 (0)