diff --git a/nix/build-support/stacklock2nix/cabal2nixArgsForPkg.nix b/nix/build-support/stacklock2nix/cabal2nixArgsForPkg.nix index 5815867..f1f39ac 100644 --- a/nix/build-support/stacklock2nix/cabal2nixArgsForPkg.nix +++ b/nix/build-support/stacklock2nix/cabal2nixArgsForPkg.nix @@ -125,7 +125,17 @@ cabal2nixArgsOverrides { else {}; - "test-framework" = ver: { libxml = pkgs.libxml; }; + "test-framework" = ver: + # All versions of test-framework before 0.8.2.2 required the libxml package, + # but 0.8.2.2 and later don't require this. + if pkgs.lib.versionAtLeast ver "0.8.2.2" then + {} + else + # TODO: Eh, this isn't quite correct. test-framework requires the libxml + # haskell package, which should be pulling in and propagating the libxml + # system package. I don't know how this was ever working, but it does + # seem to work. + { libxml = pkgs.libxml; }; "termonad" = ver: { vte_291 = pkgs.vte; gtk3 = pkgs.gtk3; pcre2 = pkgs.pcre2;}; diff --git a/nix/build-support/stacklock2nix/suggestedOverlay.nix b/nix/build-support/stacklock2nix/suggestedOverlay.nix index eded1bb..c96fa30 100644 --- a/nix/build-support/stacklock2nix/suggestedOverlay.nix +++ b/nix/build-support/stacklock2nix/suggestedOverlay.nix @@ -65,6 +65,9 @@ hfinal: hprev: with haskell.lib.compose; { # doctests fail bsb-http-chunked = dontCheck hprev.bsb-http-chunked; + # tests don't work when run with nix + call-stack = dontCheck hprev.call-stack; + # Tests don't include all necessary files. c2hs = dontCheck hprev.c2hs; @@ -75,6 +78,7 @@ hfinal: hprev: with haskell.lib.compose; { colour = dontCheck hprev.colour; + # circular dep in tests doctest = dontCheck hprev.doctest; doctest-parallel = dontCheck hprev.doctest-parallel; @@ -200,16 +204,22 @@ hfinal: hprev: with haskell.lib.compose; { # circular dependency in tests options = dontCheck hprev.options; + # circular dependency in tests + optparse-applicative = dontCheck hprev.optparse-applicative; + # tests require postgres running pg-transact = dontCheck hprev.pg-transact; # Tests run for a really long time, and also require a broken package. prettyprinter = dontCheck hprev.prettyprinter; + # circular dependency in tests + prettyprinter-ansi-terminal = dontCheck hprev.prettyprinter-ansi-terminal; + random = dontCheck hprev.random; - # Disabling doctests. - regex-tdfa = overrideCabal { testTarget = "regex-tdfa-unittest"; } hprev.regex-tdfa; + # Some tests don't work. + regex-tdfa = dontCheck hprev.regex-tdfa; # the rio test suite calls functions from unliftio that are broken: # https://github.com/fpco/unliftio/issues/87 @@ -249,6 +259,7 @@ hfinal: hprev: with haskell.lib.compose; { # requires a version of chell that is not in the stackage resolver system-filepath = dontCheck hprev.system-filepath; + # circular dep in tests tasty = dontCheck hprev.tasty; tasty-discover = @@ -262,6 +273,9 @@ hfinal: hprev: with haskell.lib.compose; { tasty-expected-failure = dontCheck hprev.tasty-expected-failure; + # circular dep in tests + temporary = dontCheck hprev.temporary; + test-framework = dontCheck hprev.test-framework; # requires a version of tasty that is not in the stackage resolver