diff --git a/modules/component-driver.nix b/modules/component-driver.nix index 4495f6a458..402b44911d 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -77,6 +77,8 @@ in ++ lib.optionals (builtins.compareVersions config.compiler.version "8.11" >= 0) [ # stm and exceptions are needed by the GHC package since 9.0.1 "stm" "exceptions"] + ++ lib.optionals (builtins.compareVersions config.compiler.version "9.8.1" >= 0) [ + "semaphore-compat"] ) ++ lib.optionals (!config.reinstallableLibGhc || __elem config.compiler.nix-name ["ghc865"]) [ "ghc-heap" diff --git a/test/plugin/default.nix b/test/plugin/default.nix index d0a969ed90..c5bb06787b 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -6,6 +6,9 @@ let project = project' { inherit compiler-nix-name evalPackages; src = testSrc "plugin"; + modules = [{ + reinstallableLibGhc = builtins.compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.1" < 0; + }]; }; packages = project.hsPkgs; @@ -17,8 +20,7 @@ in recurseIntoAttrs { # Not sure why this breaks for ghc 8.10.7 meta.disabled = compiler-nix-name == "ghc8107" - # TODO remove once polysemy works with ghc 9.8.1 - || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.1" >= 0 + || compiler-nix-name == "ghc9920231203" || stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows