blob: d4f81e3a24cbd070f1e7bed1f4c8795bb1691b47 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
{ stdenv
, lib
, fetchFromGitHub
, gfortran
, cmake
, mctc-lib
, mstore
, toml-f
, blas
}:
assert !blas.isILP64;
stdenv.mkDerivation rec {
pname = "simple-dftd3";
version = "1.0.0";
src = fetchFromGitHub {
owner = "dftd3";
repo = pname;
rev = "v${version}";
hash = "sha256-dfXiKKCGJ69aExSKpVC3Bp//COy256R9PDyxCNmDsfo=";
};
nativeBuildInputs = [ cmake gfortran ];
buildInputs = [ mctc-lib mstore toml-f blas ];
outputs = [ "out" "dev" ];
# Fix the Pkg-Config files for doubled store paths
postPatch = ''
substituteInPlace config/template.pc \
--replace "\''${prefix}/" ""
'';
cmakeFlags = [
"-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
];
doCheck = true;
preCheck = ''
export OMP_NUM_THREADS=2
'';
meta = with lib; {
description = "Reimplementation of the DFT-D3 program";
mainProgram = "s-dftd3";
license = with licenses; [ lgpl3Only gpl3Only ];
homepage = "https://github.com/dftd3/simple-dftd3";
platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.sheepforce ];
};
}
|