diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-nix.nix | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 89a268a09a6e..037019be4de3 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1342,4 +1342,24 @@ self: super: builtins.intersectAttrs super { gi-webkit2 gi-webkit2webextension ; + + # Makes the mpi-hs package respect the choice of mpi implementation in Nixpkgs. + # Also adds required test dependencies for checks to pass + mpi-hs = + let validMpi = [ "openmpi" "mpich" "mvapich" ]; + mpiImpl = pkgs.mpi.pname; + disableUnused = with builtins; map disableCabalFlag (filter (n: n != mpiImpl) validMpi); + in lib.pipe + (super.mpi-hs_0_7_3_0.override { ompi = pkgs.mpi; }) + ( [ (addTestToolDepends [ pkgs.openssh pkgs.mpiCheckPhaseHook ]) ] + ++ disableUnused + ++ lib.optional (builtins.elem mpiImpl validMpi) (enableCabalFlag mpiImpl) + ); + inherit (lib.mapAttrs (_: addTestToolDepends + [ pkgs.openssh pkgs.mpiCheckPhaseHook ] + ) super) + mpi-hs-store + mpi-hs-cereal + mpi-hs-binary + ; } |