blob: ebadd55526986e3822c2166e4dd1e53f8c550090 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
{
lib,
stdenv,
fetchgit,
cmake,
pkgconfig,
python,
mpi ? null,
}:
let
components = {
cgcmm = true;
depreciated = true;
hpmc = true;
md = true;
metal = true;
};
onOffBool = b: if b then "ON" else "OFF";
withMPI = (mpi != null);
in
stdenv.mkDerivation rec {
version = "2.3.4";
pname = "hoomd-blue";
src = fetchgit {
url = "https://bitbucket.org/glotzer/hoomd-blue";
rev = "v${version}";
sha256 = "0in49f1dvah33nl5n2qqbssfynb31pw1ds07j8ziryk9w252j1al";
};
passthru = {
inherit components mpi;
};
nativeBuildInputs = [
cmake
pkgconfig
];
buildInputs = lib.optionals withMPI [ mpi ];
propagatedBuildInputs = [ python.pkgs.numpy ] ++ lib.optionals withMPI [ python.pkgs.mpi4py ];
dontAddPrefix = true;
cmakeFlags = [
"-DENABLE_MPI=${onOffBool withMPI}"
"-DBUILD_CGCMM=${onOffBool components.cgcmm}"
"-DBUILD_DEPRECIATED=${onOffBool components.depreciated}"
"-DBUILD_HPMC=${onOffBool components.hpmc}"
"-DBUILD_MD=${onOffBool components.md}"
"-DBUILD_METAL=${onOffBool components.metal}"
];
preConfigure = ''
# Since we can't expand $out in `cmakeFlags`
cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_PREFIX=$out/${python.sitePackages}"
'';
# tests fail but have tested that package runs properly
doCheck = false;
checkTarget = "test";
meta = with lib; {
homepage = "http://glotzerlab.engin.umich.edu/hoomd-blue/";
description = "HOOMD-blue is a general-purpose particle simulation toolkit";
license = licenses.bsdOriginal;
platforms = [ "x86_64-linux" ];
maintainers = [ ];
};
}
|