diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index f430633c7657..25f92596be66 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -383,6 +383,11 @@ package-maintainers: - taffybar - arbtt - lentil + sheepforce: + - mpi-hs + - mpi-hs-store + - mpi-hs-cereal + - mpi-hs-binary shlok: - streamly-archive - streamly-lmdb 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 + ; } diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index d3fcbeb6b38c..a1b8758af604 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -205960,6 +205960,7 @@ self: { description = "MPI bindings for Haskell"; license = lib.licenses.asl20; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; + maintainers = [ lib.maintainers.sheepforce ]; }) {inherit (pkgs) mpich;}; "mpi-hs_0_7_3_0" = callPackage @@ -205981,6 +205982,7 @@ self: { license = lib.licenses.asl20; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; hydraPlatforms = lib.platforms.none; + maintainers = [ lib.maintainers.sheepforce ]; }) {ompi = null;}; "mpi-hs-binary" = callPackage @@ -205999,6 +206001,7 @@ self: { description = "MPI bindings for Haskell"; license = lib.licenses.asl20; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; + maintainers = [ lib.maintainers.sheepforce ]; }) {}; "mpi-hs-cereal" = callPackage @@ -206017,6 +206020,7 @@ self: { description = "MPI bindings for Haskell"; license = lib.licenses.asl20; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; + maintainers = [ lib.maintainers.sheepforce ]; }) {}; "mpi-hs-store" = callPackage @@ -206035,6 +206039,7 @@ self: { description = "MPI bindings for Haskell"; license = lib.licenses.asl20; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; + maintainers = [ lib.maintainers.sheepforce ]; }) {}; "mplayer-spot" = callPackage