diff --git a/pkgs/by-name/ka/kahip/package.nix b/pkgs/by-name/ka/kahip/package.nix index 17f12f7725aa..41b140ed8bf1 100644 --- a/pkgs/by-name/ka/kahip/package.nix +++ b/pkgs/by-name/ka/kahip/package.nix @@ -2,51 +2,56 @@ lib, stdenv, fetchFromGitHub, - fetchpatch2, cmake, mpi, metis, + llvmPackages, python3Packages, pythonSupport ? false, isILP64 ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "kahip"; - version = "3.18"; + version = "3.21"; src = fetchFromGitHub { owner = "KaHIP"; repo = "KaHIP"; tag = "v${finalAttrs.version}"; - hash = "sha256-l8DhVb2G6pQQcH3Wq4NsKw30cSK3sG+gCYRdpibw4ZI="; + hash = "sha256-FVbJJpz3ecfME0KZN/5AHuqCkPl/UpR+kHHMyxFzErY="; }; - patches = [ - (fetchpatch2 { - url = "https://github.com/KaHIP/KaHIP/commit/9d4978c7540a1ccbc9807367d6e3852114e86567.patch?full_index=1"; - hash = "sha256-nIJL0YmVp9+JUhzEXjoabD1qNEnhtrBnjMWnitYt0eU="; - }) - ]; - nativeBuildInputs = [ cmake ] - ++ lib.optionals pythonSupport [ - python3Packages.python - python3Packages.pybind11 - ]; + ++ lib.optional pythonSupport python3Packages.python; buildInputs = [ mpi metis - ]; + ] + ++ lib.optional pythonSupport python3Packages.pybind11 + ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; + + # create meta package providing dist-info for python3Pacakges.kahip that common cmake build does not do + propagatedBuildInputs = lib.optional pythonSupport ( + python3Packages.mkPythonMetaPackage { + inherit (finalAttrs) pname version meta; + } + ); cmakeFlags = [ (lib.cmakeBool "64BITMODE" isILP64) + (lib.cmakeBool "NONATIVEOPTIMIZATIONS" true) (lib.cmakeBool "BUILDPYTHONMODULE" pythonSupport) (lib.cmakeFeature "CMAKE_INSTALL_PYTHONDIR" python3Packages.python.sitePackages) ]; + postInstall = lib.optionalString pythonSupport '' + cp ../python/kahip/* $out/${python3Packages.python.sitePackages}/kahip + echo "__version__= '${finalAttrs.version}'" > $out/${python3Packages.python.sitePackages}/kahip/_version.py + ''; + doInstallCheck = pythonSupport; nativeInstallCheckInputs = lib.optionals pythonSupport [