1{
2 stdenv,
3 fetchFromGitHub,
4 lib,
5 cmake,
6 mpi,
7 blas,
8 lapack,
9 scalapack,
10 gfortran,
11}:
12
13assert !blas.isILP64;
14assert !lapack.isILP64;
15
16stdenv.mkDerivation rec {
17 pname = "libMBD";
18 version = "0.12.8";
19
20 src = fetchFromGitHub {
21 owner = "libmbd";
22 repo = "libMBD";
23 rev = version;
24 hash = "sha256-ctUaBLPaZHoV1rU3u1idvPLGbvC9Z17YBxYKCaL7EMk=";
25 };
26
27 preConfigure = ''
28 cat > cmake/libMBDVersionTag.cmake << EOF
29 set(VERSION_TAG "${version}")
30 EOF
31 '';
32
33 nativeBuildInputs = [
34 cmake
35 gfortran
36 ];
37
38 buildInputs = [
39 blas
40 lapack
41 scalapack
42 ];
43
44 propagatedBuildInputs = [ mpi ];
45
46 meta = with lib; {
47 description = "Many-body dispersion library";
48 homepage = "https://github.com/libmbd/libmbd";
49 license = licenses.mpl20;
50 platforms = platforms.linux;
51 maintainers = [ maintainers.sheepforce ];
52 };
53}