diff --git a/pkgs/by-name/dt/dtcmp/package.nix b/pkgs/by-name/dt/dtcmp/package.nix new file mode 100644 index 000000000000..cd8f54e25d31 --- /dev/null +++ b/pkgs/by-name/dt/dtcmp/package.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, mpi, lwgrp }: + +stdenv.mkDerivation rec { + pname = "dtcmp"; + version = "1.1.5"; + + src = fetchFromGitHub { + owner = "LLNL"; + repo = "dtcmp"; + rev = "v${version}"; + hash = "sha256-Dc+c8JCc5D23CtpwiWkHCqngywEZXw7cYsRiSYiQdWk="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ lwgrp ]; + + configureFlags = [ "--with-lwgrp=${lib.getDev lwgrp}" ]; + + propagatedBuildInputs = [ mpi ]; + + meta = with lib; { + description = "MPI datatype comparison library"; + homepage = "https://github.com/LLNL/dtcmp"; + platforms = platforms.linux; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + }; +} diff --git a/pkgs/by-name/li/libcircle/package.nix b/pkgs/by-name/li/libcircle/package.nix new file mode 100644 index 000000000000..d176bbacc89f --- /dev/null +++ b/pkgs/by-name/li/libcircle/package.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, mpi +, lwgrp +}: + +stdenv.mkDerivation rec { + pname = "libcircle"; + version = "0.3"; + + src = fetchFromGitHub { + owner = "hpc"; + repo = "libcircle"; + rev = "v${version}"; + hash = "sha256-EfnoNL6wo6qQES6XzMtpTpYcsJ8V2gy32i26wiTldH0="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + propagatedBuildInputs = [ mpi ]; + + meta = with lib; { + description = "API for distributing embarrassingly parallel workloads using self-stabilization"; + homepage = "http://hpc.github.io/libcircle/"; + platforms = platforms.linux; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + }; +} diff --git a/pkgs/by-name/lw/lwgrp/package.nix b/pkgs/by-name/lw/lwgrp/package.nix new file mode 100644 index 000000000000..c9c657bee32a --- /dev/null +++ b/pkgs/by-name/lw/lwgrp/package.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, mpi, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "lwgrp"; + version = "1.0.5"; + + src = fetchFromGitHub { + owner = "LLNL"; + repo = "lwgrp"; + rev = "v${version}"; + hash = "sha256-f0tYn9FbrOz8iMoG8Is8vYDNfYHTfxLKNnyxJA+Msdk="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ autoreconfHook ]; + + propagatedBuildInputs = [ mpi ]; + + meta = with lib; { + description = "Data structures and operations to group MPI processes as an ordered set"; + homepage = "https://github.com/LLNL/lwgrp"; + platforms = platforms.linux; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + }; +} diff --git a/pkgs/by-name/mp/mpifileutils/package.nix b/pkgs/by-name/mp/mpifileutils/package.nix new file mode 100644 index 000000000000..92300592c2fa --- /dev/null +++ b/pkgs/by-name/mp/mpifileutils/package.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, mpi +, attr +, dtcmp +, libarchive +, libcircle +, bzip2 +, openssl +}: + +stdenv.mkDerivation rec { + pname = "mpifileutils"; + version = "0.11.1"; + + src = fetchFromGitHub { + owner = "hpc"; + repo = "mpifileutils"; + rev = "v${version}"; + hash = "sha256-3nls82awMMCwlfafsOy3AY8OvT9sE+BvvsDOY14YvQc="; + }; + + outputs = [ "out" "dev" "man" ]; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + attr + dtcmp + libarchive + libcircle + bzip2 + openssl + ]; + + propagatedBuildInputs = [ mpi ]; + + meta = with lib; { + description = "Suite of MPI-based tools to manage large datasets"; + homepage = "https://hpc.github.io/mpifileutils"; + platforms = platforms.linux; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + }; +}