diff --git a/pkgs/by-name/pa/parmetis/package.nix b/pkgs/by-name/pa/parmetis/package.nix new file mode 100644 index 0000000000000..a2289eea30697 --- /dev/null +++ b/pkgs/by-name/pa/parmetis/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + metis, + mpi, +}: + +stdenv.mkDerivation { + pname = "parmetis"; + version = "4.0.3"; + + src = fetchFromGitHub { + owner = "KarypisLab"; + repo = "ParMETIS"; + rev = "d90a2a6cf08d1d35422e060daa28718376213659"; + hash = "sha256-22YQxwC0phdMLX660wokRgmAif/9tRbUmQWwNMZ//7M="; + }; + + nativeBuildInputs = [ cmake ]; + enableParallelBuilding = true; + buildInputs = [ mpi ]; + + configurePhase = '' + tar xf ${metis.src} + mv metis-* metis + make config metis_path=metis gklib_path=metis/GKlib prefix=$out + ''; + + meta = with lib; { + description = "Parallel Graph Partitioning and Fill-reducing Matrix Ordering"; + longDescription = '' + MPI-based parallel library that implements a variety of algorithms for + partitioning unstructured graphs, meshes, and for computing fill-reducing + orderings of sparse matrices. + The algorithms implemented in ParMETIS are based on the multilevel + recursive-bisection, multilevel k-way, and multi-constraint partitioning + schemes + ''; + homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"; + platforms = platforms.all; + license = licenses.unfree; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/libraries/science/math/parmetis/default.nix b/pkgs/development/libraries/science/math/parmetis/default.nix deleted file mode 100644 index 5023390a182cb..0000000000000 --- a/pkgs/development/libraries/science/math/parmetis/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv -, fetchurl -, cmake -, mpi -}: - -stdenv.mkDerivation rec { - pname = "parmetis"; - version = "4.0.3"; - - src = fetchurl { - url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-${version}.tar.gz"; - sha256 = "0pvfpvb36djvqlcc3lq7si0c5xpb2cqndjg8wvzg35ygnwqs5ngj"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ mpi ]; - - # metis and GKlib are packaged with distribution - # AUR https://aur.archlinux.org/packages/parmetis/ has reported that - # it easier to build with the included packages as opposed to using the metis - # package. Compilation time is short. - configurePhase = '' - make config metis_path=$PWD/metis gklib_path=$PWD/metis/GKlib prefix=$out - ''; - - meta = with lib; { - description = "MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices"; - homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"; - platforms = platforms.all; - license = licenses.unfree; - maintainers = [ maintainers.costrouc ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b42191c8e02e..9faf51e1fed29 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37702,8 +37702,6 @@ with pkgs; p4est-sc = p4est-sc-dbg; }; - parmetis = callPackage ../development/libraries/science/math/parmetis { }; - QuadProgpp = callPackage ../development/libraries/science/math/QuadProgpp { }; scs = callPackage ../development/libraries/science/math/scs { };