Merge pull request #259736 from markuskowa/split-mpi

MPI related packages: use multiple outputs

authored by

markuskowa and committed by
GitHub
32d507e9 094ca95e

+36 -6
+2
pkgs/development/libraries/libfabric/default.nix
··· 23 23 sha256 = "sha256-7VOhdZOPBe1qh8OK8OTNKA5I4A5whl6aOubAzsUDSRw="; 24 24 }; 25 25 26 + outputs = [ "out" "dev" "man" ]; 27 + 26 28 nativeBuildInputs = [ pkg-config autoreconfHook ]; 27 29 28 30 buildInputs = lib.optionals enableOpx [ libuuid numactl ] ++ lib.optionals enablePsm2 [ libpsm2 ];
+2
pkgs/development/libraries/mpich/default.nix
··· 18 18 sha256 = "sha256-NJLpitq2K1l+8NKS+yRZthI7yABwqKoKML5pYgdaEvA="; 19 19 }; 20 20 21 + outputs = [ "out" "doc" "man" ]; 22 + 21 23 configureFlags = [ 22 24 "--enable-shared" 23 25 "--enable-sharedlib"
+2
pkgs/development/libraries/mvapich/default.nix
··· 21 21 sha256 = "sha256-w5pEkvS+UN9hAHhXSLoolOI85FCpQSgYHVFtpXV3Ua4="; 22 22 }; 23 23 24 + outputs = [ "out" "doc" "man" ]; 25 + 24 26 nativeBuildInputs = [ pkg-config bison makeWrapper gfortran ]; 25 27 propagatedBuildInputs = [ numactl rdma-core zlib opensm ]; 26 28 buildInputs = with lib; [
+6 -4
pkgs/development/libraries/openmpi/default.nix
··· 43 43 find -name "Makefile.in" -exec sed -i "s/\`date\`/$ts/" \{} \; 44 44 ''; 45 45 46 + outputs = [ "out" "man" ]; 47 + 46 48 buildInputs = [ zlib ] 47 49 ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ] 48 50 ++ lib.optionals cudaSupport [ cudatoolkit ] ··· 56 58 configureFlags = lib.optional (!cudaSupport) "--disable-mca-dso" 57 59 ++ lib.optional (!fortranSupport) "--disable-mpi-fortran" 58 60 ++ lib.optionals stdenv.isLinux [ 59 - "--with-libnl=${libnl.dev}" 60 - "--with-pmix=${pmix}" 61 + "--with-libnl=${lib.getDev libnl}" 62 + "--with-pmix=${lib.getDev pmix}" 61 63 "--with-pmix-libdir=${pmix}/lib" 62 64 "--enable-mpi-cxx" 63 65 ] ++ lib.optional enableSGE "--with-sge" ··· 66 68 # https://github.com/openucx/ucx 67 69 # https://www.open-mpi.org/faq/?category=buildcuda 68 70 ++ lib.optionals cudaSupport [ "--with-cuda=${cudatoolkit_joined}" "--enable-dlopen" ] 69 - ++ lib.optionals fabricSupport [ "--with-psm2=${libpsm2}" "--with-libfabric=${libfabric}" ] 71 + ++ lib.optionals fabricSupport [ "--with-psm2=${lib.getDev libpsm2}" "--with-libfabric=${lib.getDev libfabric}" ] 70 72 ; 71 73 72 74 enableParallelBuilding = true; 73 75 74 76 postInstall = '' 75 - rm -f $out/lib/*.la 77 + find $out/lib/ -name "*.la" -exec rm -f \{} \; 76 78 ''; 77 79 78 80 postFixup = ''
+6 -2
pkgs/development/libraries/pmix/default.nix
··· 23 23 buildInputs = [ libevent hwloc munge zlib ]; 24 24 25 25 configureFlags = [ 26 - "--with-libevent=${libevent.dev}" 26 + "--with-libevent=${lib.getDev libevent}" 27 27 "--with-munge=${munge}" 28 - "--with-hwloc=${hwloc.dev}" 28 + "--with-hwloc=${lib.getDev hwloc}" 29 29 ]; 30 30 31 31 preConfigure = '' 32 32 ./autogen.pl 33 + ''; 34 + 35 + postInstall = '' 36 + find $out/lib/ -name "*.la" -exec rm -f \{} \; 33 37 ''; 34 38 35 39 enableParallelBuilding = true;
+8
pkgs/development/libraries/ucc/default.nix
··· 18 18 sha256 = "sha256-7Mo9zU0sogGyDdWIfTgUPoR5Z8D722asC2y7sHnKbzs="; 19 19 }; 20 20 21 + outputs = [ "out" "dev" ]; 22 + 21 23 enableParallelBuilding = true; 22 24 23 25 postPatch = '' ··· 41 43 ++ lib.optional enableSse42 "--with-sse42" 42 44 ++ lib.optional enableAvx "--with-avx" 43 45 ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}"; 46 + 47 + postInstall = '' 48 + find $out/lib/ -name "*.la" -exec rm -f \{} \; 49 + 50 + moveToOutput bin/ucc_info $dev 51 + ''; 44 52 45 53 meta = with lib; { 46 54 description = "Collective communication operations API";
+10
pkgs/development/libraries/ucx/default.nix
··· 33 33 sha256 = "sha256-VxIxrk9qKM6Ncfczl4p2EhXiLNgPaYTmjhqi6/w2ZNY="; 34 34 }; 35 35 36 + outputs = [ "out" "doc" "dev" ]; 37 + 36 38 nativeBuildInputs = [ autoreconfHook doxygen pkg-config ]; 37 39 38 40 buildInputs = [ ··· 53 55 "--with-verbs=${lib.getDev rdma-core}" 54 56 ] ++ lib.optional enableCuda "--with-cuda=${cudatoolkit'}" 55 57 ++ lib.optional enableRocm "--with-rocm=${rocm}"; 58 + 59 + postInstall = '' 60 + find $out/lib/ -name "*.la" -exec rm -f \{} \; 61 + 62 + moveToOutput bin/ucx_info $dev 63 + 64 + moveToOutput share/ucx/examples $doc 65 + ''; 56 66 57 67 enableParallelBuilding = true; 58 68