nixpkgs/pkgs/development/libraries/globalarrays/default.nix
2019-02-21 15:08:32 +01:00

54 lines
1.6 KiB
Nix

{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook
, openblas, gfortran, openssh, openmpi
} :
let
version = "5.7";
in stdenv.mkDerivation {
name = "globalarrays-${version}";
src = fetchFromGitHub {
owner = "GlobalArrays";
repo = "ga";
rev = "v${version}";
sha256 = "07i2idaas7pq3in5mdqq5ndvxln5q87nyfgk3vzw85r72c4fq5jh";
};
# upstream patches for openmpi-4 compatibility
patches = [ (fetchpatch {
name = "MPI_Type_struct-was-deprecated-in-MPI-2";
url = "https://github.com/GlobalArrays/ga/commit/36e6458993b1df745f43b7db86dc17087758e0d2.patch";
sha256 = "058qi8x0ananqx980p03yxpyn41cnmm0ifwsl50qp6sc0bnbnclh";
})
(fetchpatch {
name = "MPI_Errhandler_set-was-deprecated-in-MPI-2";
url = "https://github.com/GlobalArrays/ga/commit/f1ea5203d2672c1a1d0275a012fb7c2fb3d033d8.patch";
sha256 = "06n7ds9alk5xa6hd7waw3wrg88yx2azhdkn3cjs2k189iw8a7fqk";
})];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ openmpi openblas gfortran openssh ];
preConfigure = ''
configureFlagsArray+=( "--enable-i8" \
"--with-mpi" \
"--with-mpi3" \
"--enable-eispack" \
"--enable-underscoring" \
"--with-blas8=${openblas}/lib -lopenblas" )
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Global Arrays Programming Models";
homepage = http://hpc.pnl.gov/globalarrays/;
maintainers = [ maintainers.markuskowa ];
license = licenses.bsd3;
platforms = platforms.linux;
};
}