lol

Merge pull request #214023 from hmenke/openmpi-libfabric

openmpi: fix for newer libfabric

authored by

Weijia Wang and committed by
GitHub
31968e86 c6fd9036

+27 -7
+18 -6
pkgs/development/libraries/libfabric/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libpsm2 2 - , enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) }: 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , pkg-config 5 + , autoreconfHook 6 + , enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) 7 + , libpsm2 8 + , enableOpx ? (stdenv.isx86_64 && stdenv.isLinux) 9 + , libuuid 10 + , numactl 11 + }: 3 12 4 13 stdenv.mkDerivation rec { 5 14 pname = "libfabric"; 6 - version = "1.15.1"; 15 + version = "1.17.0"; 7 16 8 17 enableParallelBuilding = true; 9 18 ··· 11 20 owner = "ofiwg"; 12 21 repo = pname; 13 22 rev = "v${version}"; 14 - sha256 = "sha256-uL3L9k9yqdZXQmR1zi8OEIGLAZ8cf7EBnlDhetaMA08="; 23 + sha256 = "sha256-tXfAn8hkasA2UuA4/8dOE3EcORyJo/A33TtSNdzDXD8="; 15 24 }; 16 25 17 26 nativeBuildInputs = [ pkg-config autoreconfHook ]; 18 27 19 - buildInputs = lib.optional enablePsm2 libpsm2; 28 + buildInputs = lib.optionals enableOpx [ libuuid numactl ] ++ lib.optional enablePsm2 [ libpsm2 ]; 20 29 21 - configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") ]; 30 + configureFlags = [ 31 + (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") 32 + (if enableOpx then "--enable-opx" else "--disable-opx") 33 + ]; 22 34 23 35 meta = with lib; { 24 36 homepage = "https://ofiwg.github.io/libfabric/";
+9 -1
pkgs/development/libraries/openmpi/default.nix
··· 1 - { lib, stdenv, fetchurl, gfortran, perl, libnl 1 + { lib, stdenv, fetchurl, fetchpatch, gfortran, perl, libnl 2 2 , rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin 3 3 , libpsm2, libfabric, pmix, ucx 4 4 ··· 31 31 url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2"; 32 32 sha256 = "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj"; 33 33 }; 34 + 35 + patches = [ 36 + (fetchpatch { 37 + name = "RDMA-osc-perform-CAS-in-shared-memory-if-possible.patch"; 38 + url = "https://github.com/open-mpi/ompi/pull/10513/commits/0512c135a77a0278e5288e0e119dce24c95ebed4.patch"; 39 + sha256 = "sha256-K1Gc+hBUkTPY1WqLP6JWo623EUhkoL4ONrqPVDNfFuE="; 40 + }) 41 + ]; 34 42 35 43 postPatch = '' 36 44 patchShebangs ./