metis: 5.1.0 -> 5.2.1 + cmake4 patch; gklib: init at 5.1.1-unstable-2025-07-15 (#444054)

authored by Emily and committed by GitHub afc28e5d c3c457ac

+94 -23
+39
pkgs/by-name/gk/gklib/package.nix
···
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + cmake, 6 + llvmPackages, 7 + }: 8 + 9 + stdenv.mkDerivation (finalAttrs: { 10 + pname = "gklib"; 11 + version = "5.1.1-unstable-2025-07-15"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "KarypisLab"; 15 + repo = "GKlib"; 16 + rev = "6e7951358fd896e2abed7887196b6871aac9f2f8"; 17 + hash = "sha256-jT0hT5Y3E8GnE8OJWzDj5rtz9s59sMEXLduUnBV0I0Y="; 18 + }; 19 + 20 + nativeBuildInputs = [ cmake ]; 21 + 22 + buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp; 23 + 24 + cmakeFlags = [ 25 + (lib.cmakeBool "OPENMP" true) 26 + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) 27 + # Turns off using clflush/sfence insns in gkuniq test app 28 + # https://github.com/KarypisLab/GKlib/issues/11#issuecomment-1532597211 29 + (lib.cmakeBool "NO_X86" (!stdenv.hostPlatform.isx86)) 30 + ]; 31 + 32 + meta = { 33 + description = "Library of various helper routines and frameworks used by many of the lab's software"; 34 + homepage = "https://github.com/KarypisLab/GKlib"; 35 + license = lib.licenses.asl20; 36 + maintainers = with lib.maintainers; [ qbisi ]; 37 + platforms = lib.platforms.all; 38 + }; 39 + })
+38 -16
pkgs/by-name/me/metis/package.nix
··· 1 { 2 lib, 3 stdenv, 4 - fetchurl, 5 - unzip, 6 cmake, 7 }: 8 9 - stdenv.mkDerivation rec { 10 pname = "metis"; 11 - version = "5.1.0"; 12 13 - src = fetchurl { 14 - url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-${version}.tar.gz"; 15 - sha256 = "1cjxgh41r8k6j029yxs8msp3z6lcnpm16g5pvckk35kc7zhfpykn"; 16 }; 17 18 - cmakeFlags = [ 19 - "-DGKLIB_PATH=../GKlib" 20 - # remove once updated past https://github.com/KarypisLab/METIS/commit/521a2c360dc21ace5c4feb6dc0b7992433e3cb0f 21 - "-DCMAKE_SKIP_BUILD_RPATH=ON" 22 ]; 23 - nativeBuildInputs = [ 24 - unzip 25 - cmake 26 ]; 27 28 meta = { 29 description = "Serial graph partitioning and fill-reducing matrix ordering"; 30 - homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"; 31 license = lib.licenses.asl20; 32 platforms = lib.platforms.all; 33 }; 34 - }
··· 1 { 2 lib, 3 stdenv, 4 + fetchFromGitHub, 5 + fetchpatch, 6 cmake, 7 + gklib, 8 + llvmPackages, 9 }: 10 11 + stdenv.mkDerivation (finalAttrs: { 12 pname = "metis"; 13 + version = "5.2.1"; 14 15 + src = fetchFromGitHub { 16 + owner = "KarypisLab"; 17 + repo = "METIS"; 18 + tag = "v${finalAttrs.version}"; 19 + hash = "sha256-eddLR6DvZ+2LeR0DkknN6zzRvnW+hLN2qeI+ETUPcac="; 20 }; 21 22 + patches = [ 23 + # fix gklib link error 24 + (fetchpatch { 25 + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/metis/files/metis-5.2.1-add-gklib-as-required.patch?id=c78ecbd3fdf9b33e307023baf0de12c4448dd283"; 26 + hash = "sha256-uoXMi6pMs5VrzUmjsLlQYFLob1A8NAt9CbFi8qhQXVQ="; 27 + }) 28 + # cmake 4 compatibility 29 + (fetchpatch { 30 + name = "metis-cmake-minimum-required-bump.patch"; 31 + url = "https://github.com/KarypisLab/METIS/commit/350931887dfc00c2e3cb7551c5abf30e0297126a.patch"; 32 + hash = "sha256-vX1GSZOLDxO9IIAQmNa9ADreEWSHCU9eF9L8qiSHye8="; 33 + }) 34 ]; 35 + 36 + nativeBuildInputs = [ cmake ]; 37 + 38 + buildInputs = [ gklib ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; 39 + 40 + preConfigure = '' 41 + make config 42 + ''; 43 + 44 + cmakeFlags = [ 45 + (lib.cmakeBool "OPENMP" true) 46 + (lib.cmakeBool "SHARED" (!stdenv.hostPlatform.isStatic)) 47 ]; 48 49 meta = { 50 description = "Serial graph partitioning and fill-reducing matrix ordering"; 51 + homepage = "https://github.com/KarypisLab/METIS"; 52 license = lib.licenses.asl20; 53 + maintainers = with lib.maintainers; [ qbisi ]; 54 platforms = lib.platforms.all; 55 }; 56 + })
+11 -7
pkgs/by-name/pa/parmetis/package.nix
··· 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 metis, 7 mpi, 8 }: 9 10 stdenv.mkDerivation { 11 pname = "parmetis"; 12 - version = "4.0.3"; 13 14 src = fetchFromGitHub { 15 owner = "KarypisLab"; 16 repo = "ParMETIS"; 17 - rev = "d90a2a6cf08d1d35422e060daa28718376213659"; 18 - hash = "sha256-22YQxwC0phdMLX660wokRgmAif/9tRbUmQWwNMZ//7M="; 19 }; 20 21 nativeBuildInputs = [ cmake ]; 22 enableParallelBuilding = true; 23 - buildInputs = [ mpi ]; 24 25 configurePhase = '' 26 runHook preConfigure 27 28 - tar xf ${metis.src} 29 - mv metis-* metis 30 - make config metis_path=metis gklib_path=metis/GKlib prefix=$out 31 32 runHook postConfigure 33 '';
··· 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 + gklib, 7 metis, 8 mpi, 9 }: 10 11 stdenv.mkDerivation { 12 pname = "parmetis"; 13 + version = "4.0.3-unstable-2023-03-26"; 14 15 src = fetchFromGitHub { 16 owner = "KarypisLab"; 17 repo = "ParMETIS"; 18 + rev = "8ee6a372ca703836f593e3c450ca903f04be14df"; 19 + hash = "sha256-L9SLyr7XuBUniMH3JtaBrUHIGzVTF5pr014xovQf2cI="; 20 }; 21 22 nativeBuildInputs = [ cmake ]; 23 enableParallelBuilding = true; 24 + buildInputs = [ 25 + gklib 26 + metis 27 + mpi 28 + ]; 29 30 configurePhase = '' 31 runHook preConfigure 32 33 + make config metis_path=${metis} gklib_path=${gklib} prefix=$out \ 34 + shared=${if stdenv.hostPlatform.isStatic then "0" else "1"} 35 36 runHook postConfigure 37 '';
+6
pkgs/by-name/so/sofa/package.nix
··· 40 url = "https://github.com/sofa-framework/sofa/commit/700b6cdd94fe24a51b2a7014fb0fc83e6abe1fbc.patch"; 41 hash = "sha256-czc1u03USQt18d7cMPmXYguBhSb5JOJLplPvoixp+3w="; 42 }) 43 ]; 44 45 propagatedNativeBuildInputs = [
··· 40 url = "https://github.com/sofa-framework/sofa/commit/700b6cdd94fe24a51b2a7014fb0fc83e6abe1fbc.patch"; 41 hash = "sha256-czc1u03USQt18d7cMPmXYguBhSb5JOJLplPvoixp+3w="; 42 }) 43 + (fetchpatch { 44 + # Compat with metis > 5.1 45 + name = "sofamatrix-allow-newer-metis-versions.patch"; 46 + url = "https://github.com/sofa-framework/sofa/commit/f1a45da7c77776ea9559b1958576b0187a8b9958.patch"; 47 + hash = "sha256-YPMBKG1Ju5XON14CmSYNqljpqEbFRvI5SgKwOnxs7+I="; 48 + }) 49 ]; 50 51 propagatedNativeBuildInputs = [