diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:31:50 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:32:25 +0100 |
commit | b7baf40e099b4215181fe7b0c63083b12ef2c7fb (patch) | |
tree | a6efabd31d05b6d0a36624729e80377bbbfb0149 /nixpkgs/pkgs/development/libraries/mpich | |
parent | 710028664e26e85cb831a869b3da9f6993902255 (diff) | |
parent | 0799f514b1cd74878174939df79ac60ca5036673 (diff) | |
download | nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.gz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.bz2 nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.lz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.xz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.zst nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mpich')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mpich/default.nix | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mpich/default.nix b/nixpkgs/pkgs/development/libraries/mpich/default.nix index 622ee233f9c4..f53a3268b739 100644 --- a/nixpkgs/pkgs/development/libraries/mpich/default.nix +++ b/nixpkgs/pkgs/development/libraries/mpich/default.nix @@ -3,10 +3,19 @@ # either libfabric or ucx work for ch4backend on linux. On darwin, neither of # these libraries currently build so this argument is ignored on Darwin. , ch4backend -# Process manager to build -, withPm ? "hydra:gforker" +# Process managers to build (`--with-pm`), +# cf. https://github.com/pmodels/mpich/blob/b80a6d7c24defe7cdf6c57c52430f8075a0a41d6/README.vin#L562-L586 +, withPm ? [ "hydra" "gforker" ] +, pmix +# PMIX support is likely incompatible with process managers (`--with-pm`) +# https://github.com/NixOS/nixpkgs/pull/274804#discussion_r1432601476 +, pmixSupport ? false } : +let + withPmStr = if withPm != [ ] then builtins.concatStringsSep ":" withPm else "no"; +in + assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric"); stdenv.mkDerivation rec { @@ -22,11 +31,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" - "--enable-sharedlib" - "--with-pm=${withPm}" + "--with-pm=${withPmStr}" ] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [ "FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300 "FCFLAGS=-fallow-argument-mismatch" + ] ++ lib.optionals pmixSupport [ + "--with-pmix=${lib.getDev pmix}" ]; enableParallelBuilding = true; @@ -45,6 +55,9 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + # As far as we know, --with-pmix silently disables all of `--with-pm` + broken = pmixSupport && withPm != [ ]; + description = "Implementation of the Message Passing Interface (MPI) standard"; longDescription = '' |