48 lines
1,020 B
Nix
48 lines
1,020 B
Nix
|
{
|
||
|
lib,
|
||
|
stdenv,
|
||
|
fetchFromGitHub,
|
||
|
mpi,
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation (finalAttrs: {
|
||
|
name = "hypre";
|
||
|
version = "2.31.0";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "hypre-space";
|
||
|
repo = "hypre";
|
||
|
rev = "refs/tags/v${finalAttrs.version}";
|
||
|
hash = "sha256-eFOyM3IzQUNm7cSnORA3NrKYotEBmLKC8mi+fcwPMQA=";
|
||
|
};
|
||
|
|
||
|
sourceRoot = "${finalAttrs.src.name}/src";
|
||
|
|
||
|
buildInputs = [ mpi ];
|
||
|
|
||
|
configureFlags = [
|
||
|
"--enable-mpi"
|
||
|
"--enable-shared"
|
||
|
];
|
||
|
|
||
|
preBuild = ''
|
||
|
makeFlagsArray+=(AR="ar -rcu")
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
mkdir -p $out/{include,lib}
|
||
|
cp -r hypre/include/* $out/include
|
||
|
cp -r hypre/lib/* $out/lib
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Parallel solvers for sparse linear systems featuring multigrid methods.";
|
||
|
homepage = "https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods";
|
||
|
platforms = platforms.unix;
|
||
|
license = licenses.mit;
|
||
|
maintainers = with maintainers; [ mkez ];
|
||
|
};
|
||
|
})
|