From cc9470828dd7621c7f913b43aa0816a683b0cfb8 Mon Sep 17 00:00:00 2001 From: Daniel Salwasser Date: Mon, 31 Mar 2025 12:28:21 +0200 Subject: [PATCH 1/2] maintainers: add dsalwasser --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3ae183a1ff92..8291df922339 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6472,6 +6472,13 @@ githubId = 11205987; name = "Daniel Salazar"; }; + dsalwasser = { + name = "Daniel Salwasser"; + email = "daniel.salwasser@outlook.com"; + github = "dsalwasser"; + githubId = 148379503; + keys = [ { fingerprint = "DBA9 AE6B 84A9 C08E C4AD 1E46 6CD2 0B2D 0655 BDF6"; } ]; + }; dschrempf = { name = "Dominik Schrempf"; email = "dominik.schrempf@gmail.com"; From b1b41e622519b917940a4ee957894db6f8cd3aee Mon Sep 17 00:00:00 2001 From: Daniel Salwasser Date: Mon, 31 Mar 2025 12:46:18 +0200 Subject: [PATCH 2/2] kaminpar: init at 3.5.1 Parallel heuristic solver for the balanced k-way graph partitioning problem https://github.com/KaHIP/KaMinPar --- pkgs/by-name/ka/kaminpar/package.nix | 88 ++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 pkgs/by-name/ka/kaminpar/package.nix diff --git a/pkgs/by-name/ka/kaminpar/package.nix b/pkgs/by-name/ka/kaminpar/package.nix new file mode 100644 index 000000000000..85b095bb6131 --- /dev/null +++ b/pkgs/by-name/ka/kaminpar/package.nix @@ -0,0 +1,88 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + numactl, + mpi, + sparsehash, + tbb_2022_0, + gtest, + mpiCheckPhaseHook, +}: +let + kassert-src = fetchFromGitHub { + owner = "kamping-site"; + repo = "kassert"; + rev = "988b7d54b79ae6634f2fcc53a0314fb1cf2c6a23"; + + fetchSubmodules = true; + hash = "sha256-CBglUfVl9lgEa1t95G0mG4CCj0OWnIBwk7ep62rwIAA="; + }; + + kagen-src = fetchFromGitHub { + owner = "KarlsruheGraphGeneration"; + repo = "KaGen"; + rev = "70386f48e513051656f020360c482ce6bff9a24f"; + + fetchSubmodules = true; + hash = "sha256-5EvRPpjUZpmAIEgybXjNU/mO0+gsAyhlwbT+syDUr48="; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "kaminpar"; + version = "3.5.1"; + + src = fetchFromGitHub { + owner = "KaHIP"; + repo = "KaMinPar"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1azBj1DSEb7b8u+S51Sncn6EVMgu+SuFJcK4QVVhRk4="; + }; + + patches = [ + # require gtest to be preinstalled by default if building tests + (fetchpatch2 { + url = "https://github.com/KaHip/KaMinPar/commit/9cb9883eea076d11cffcf4b0d14bf1f4f95a00e4.patch?full_index=1"; + hash = "sha256-aUO5E0HTZqjfu5BUzyRdSZgyQYcE4PGqZaJvLD40sn8="; + }) + ]; + + nativeBuildInputs = [ cmake ]; + + buildInputs = lib.optional stdenv.hostPlatform.isLinux numactl; + + propagatedBuildInputs = [ + mpi + sparsehash + tbb_2022_0 + ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "KAMINPAR_BUILD_DISTRIBUTED" true) + (lib.cmakeBool "KAMINPAR_BUILD_WITH_MTUNE_NATIVE" false) + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_KASSERT" "${kassert-src}") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_KAGEN" "${kagen-src}") + ]; + + doCheck = true; + + __darwinAllowLocalNetworking = true; + + nativeCheckInputs = [ + gtest + mpiCheckPhaseHook + ]; + + meta = { + description = "Parallel heuristic solver for the balanced k-way graph partitioning problem"; + homepage = "https://github.com/KaHIP/KaMinPar"; + changelog = "https://github.com/KaHIP/KaMinPar/releases/tag/v${finalAttrs.version}"; + mainProgram = "KaMinPar"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ dsalwasser ]; + }; +})