diff --git a/pkgs/by-name/op/openmpi/package.nix b/pkgs/by-name/op/openmpi/package.nix index 761b0e00c453..d3ef5d0fcad1 100644 --- a/pkgs/by-name/op/openmpi/package.nix +++ b/pkgs/by-name/op/openmpi/package.nix @@ -101,6 +101,8 @@ stdenv.mkDerivation (finalAttrs: { libnl numactl pmix + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform ucx) [ ucx ucc ] @@ -153,8 +155,10 @@ stdenv.mkDerivation (finalAttrs: { p = [ "mpi" ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform ucx) [ "shmem" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ "osh" ]; s = [ @@ -201,7 +205,7 @@ stdenv.mkDerivation (finalAttrs: { part1 = [ "mpi" ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ "shmem" ]; + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform ucx) [ "shmem" ]; part2 = builtins.attrNames wrapperDataSubstitutions; }; in diff --git a/pkgs/by-name/uc/ucx/package.nix b/pkgs/by-name/uc/ucx/package.nix index a2df302dd232..c82c686ac243 100644 --- a/pkgs/by-name/uc/ucx/package.nix +++ b/pkgs/by-name/uc/ucx/package.nix @@ -36,14 +36,14 @@ let # rocm build fails with gcc stdenv due to unrecognised arg parallel-jobs stdenv' = if enableRocm then rocmPackages.stdenv else stdenv; in -stdenv'.mkDerivation rec { +stdenv'.mkDerivation (finalAttrs: { pname = "ucx"; version = "1.18.1"; src = fetchFromGitHub { owner = "openucx"; repo = "ucx"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-LW57wbQFwW14Z86p9jo1ervkCafVy+pnIQQ9t0i8enY="; }; @@ -103,11 +103,14 @@ stdenv'.mkDerivation rec { enableParallelBuilding = true; - meta = with lib; { + meta = { description = "Unified Communication X library"; homepage = "https://www.openucx.org"; - license = licenses.bsd3; - platforms = platforms.linux; - maintainers = [ maintainers.markuskowa ]; + license = lib.licenses.bsd3; + platforms = lib.platforms.linux; + # LoongArch64 is not supported. + # See: https://github.com/openucx/ucx/issues/9873 + badPlatforms = lib.platforms.loongarch64; + maintainers = with lib.maintainers; [ markuskowa ]; }; -} +})