diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-nix.nix | 46 |
1 files changed, 37 insertions, 9 deletions
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index abfd6ad38a5b5..d0a874187b6e7 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -114,7 +114,6 @@ self: super: builtins.intersectAttrs super { })) super) hls-brittany-plugin - hls-stan-plugin hls-floskell-plugin hls-fourmolu-plugin hls-overloaded-record-dot-plugin @@ -123,6 +122,9 @@ self: super: builtins.intersectAttrs super { # PLUGINS WITH DISABLED TESTS # 2023-04-01: TODO: We should reenable all these tests to figure if they are still broken. inherit (pkgs.lib.mapAttrs (_: dontCheck) super) + # Tests require ghcide-test-utils which is broken + hls-semantic-tokens-plugin + # Tests have file permissions expections that don’t work with the nix store. hls-gadt-plugin @@ -173,6 +175,9 @@ self: super: builtins.intersectAttrs super { # 2023-04-03: https://github.com/haskell/haskell-language-server/issues/3549 hls-retrie-plugin + + # 2024-01-25: Golden files are missing + hls-stan-plugin ; ########################################### @@ -428,7 +433,6 @@ self: super: builtins.intersectAttrs super { hasql-interpolate = dontCheck super.hasql-interpolate; hasql-notifications = dontCheck super.hasql-notifications; hasql-pool = dontCheck super.hasql-pool; - hasql-pool_0_10_0_1 = doDistribute (dontCheck super.hasql-pool_0_10_0_1); hasql-transaction = dontCheck super.hasql-transaction; # Test suite requires a running postgresql server, @@ -466,6 +470,7 @@ self: super: builtins.intersectAttrs super { wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK32; }; shellify = enableSeparateBinOutput super.shellify; + specup = enableSeparateBinOutput super.specup; # Test suite wants to connect to $DISPLAY. bindings-GLFW = dontCheck super.bindings-GLFW; @@ -652,6 +657,8 @@ self: super: builtins.intersectAttrs super { # tests require working stack installation with all-cabal-hashes cloned in $HOME stackage-curator = dontCheck super.stackage-curator; + stack = self.generateOptparseApplicativeCompletions [ "stack" ] super.stack; + # hardcodes /usr/bin/tr: https://github.com/snapframework/io-streams/pull/59 io-streams = enableCabalFlag "NoInteractiveTests" super.io-streams; @@ -791,6 +798,7 @@ self: super: builtins.intersectAttrs super { substituteInPlace Test.hs \ --replace ', testCase "crypto" test_crypto' "" '' + (drv.postPatch or ""); + # Ensure git-annex uses the exact same coreutils it saw at build-time. # This is especially important on Darwin but also in Linux environments # where non-GNU coreutils are used by default. @@ -801,6 +809,19 @@ self: super: builtins.intersectAttrs super { buildTools = [ pkgs.buildPackages.makeWrapper ] ++ (drv.buildTools or []); + + # Git annex provides a restricted login shell. Setting + # passthru.shellPath here allows a user's login shell to be set to + # `git-annex-shell` by making `shell = haskellPackages.git-annex`. + # https://git-annex.branchable.com/git-annex-shell/ + passthru.shellPath = "/bin/git-annex-shell"; + + # Install man pages which is no longer done by Setup.hs + # TODO(@sternenseemann): figure out why install-desktops wants to create /usr + # and run that, too. + postInstall = drv.postInstall or "" + '' + make install-mans "DESTDIR=$out" PREFIX= + ''; }) (super.git-annex.override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null; @@ -1082,7 +1103,7 @@ self: super: builtins.intersectAttrs super { rel8 = pkgs.lib.pipe super.rel8 [ (addTestToolDepend pkgs.postgresql) # https://github.com/NixOS/nixpkgs/issues/198495 - (overrideCabal { doCheck = pkgs.postgresql.doCheck; }) + (dontCheckIf (!pkgs.postgresql.doCheck)) ]; # Wants running postgresql database accessible over ip, so postgresqlTestHook @@ -1157,10 +1178,7 @@ self: super: builtins.intersectAttrs super { # Some hash implementations are x86 only, but part of the test suite. # So executing and building it on non-x86 platforms will always fail. - hashes = overrideCabal { - doCheck = with pkgs.stdenv; hostPlatform == buildPlatform - && buildPlatform.isx86; - } super.hashes; + hashes = dontCheckIf (!pkgs.stdenv.hostPlatform.isx86) super.hashes; # Tries to access network aws-sns-verify = dontCheck super.aws-sns-verify; @@ -1198,11 +1216,9 @@ self: super: builtins.intersectAttrs super { { fourmolu = fourmoluTestFix super.fourmolu; - fourmolu_0_14_0_0 = fourmoluTestFix super.fourmolu_0_14_0_0; fourmolu_0_14_1_0 = fourmoluTestFix super.fourmolu_0_14_1_0; }) fourmolu - fourmolu_0_14_0_0 fourmolu_0_14_1_0 ; @@ -1339,6 +1355,10 @@ self: super: builtins.intersectAttrs super { webkit2gtk3-javascriptcore gi-webkit2 gi-webkit2webextension + gi-gtk_4_0_8 + gi-gdk_4_0_7 + gi-gsk + gi-adwaita ; # Makes the mpi-hs package respect the choice of mpi implementation in Nixpkgs. @@ -1360,4 +1380,12 @@ self: super: builtins.intersectAttrs super { mpi-hs-cereal mpi-hs-binary ; + + postgresql-libpq = overrideCabal (drv: { + # Using use-pkg-config flag, because pg_config won't work when cross-compiling. + configureFlags = drv.configureFlags or [] ++ [ "-fuse-pkg-config" ]; + # Move postgresql from SystemDepends to PkgconfigDepends + libraryPkgconfigDepends = drv.librarySystemDepends; + librarySystemDepends = []; + }) super.postgresql-libpq; } |