2024-06-05 15:53:02 +00:00
|
|
|
{
|
|
|
|
lib,
|
2024-07-27 06:49:29 +00:00
|
|
|
buildPythonPackage,
|
2024-06-05 15:53:02 +00:00
|
|
|
fetchgit,
|
|
|
|
cmake,
|
|
|
|
pkgconfig,
|
|
|
|
python,
|
|
|
|
mpi ? null,
|
2020-04-24 23:36:52 +00:00
|
|
|
}:
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
let
|
|
|
|
components = {
|
|
|
|
cgcmm = true;
|
|
|
|
depreciated = true;
|
|
|
|
hpmc = true;
|
|
|
|
md = true;
|
|
|
|
metal = true;
|
|
|
|
};
|
|
|
|
onOffBool = b: if b then "ON" else "OFF";
|
|
|
|
withMPI = (mpi != null);
|
2020-04-24 23:36:52 +00:00
|
|
|
in
|
2024-07-27 06:49:29 +00:00
|
|
|
buildPythonPackage rec {
|
2020-04-24 23:36:52 +00:00
|
|
|
version = "2.3.4";
|
|
|
|
pname = "hoomd-blue";
|
2024-07-27 06:49:29 +00:00
|
|
|
pyproject = false; # Built with cmake
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchgit {
|
|
|
|
url = "https://bitbucket.org/glotzer/hoomd-blue";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "0in49f1dvah33nl5n2qqbssfynb31pw1ds07j8ziryk9w252j1al";
|
|
|
|
};
|
|
|
|
|
|
|
|
passthru = {
|
|
|
|
inherit components mpi;
|
|
|
|
};
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
nativeBuildInputs = [
|
|
|
|
cmake
|
|
|
|
pkgconfig
|
|
|
|
];
|
2021-02-05 17:12:51 +00:00
|
|
|
buildInputs = lib.optionals withMPI [ mpi ];
|
2024-06-05 15:53:02 +00:00
|
|
|
propagatedBuildInputs = [ python.pkgs.numpy ] ++ lib.optionals withMPI [ python.pkgs.mpi4py ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
dontAddPrefix = true;
|
|
|
|
cmakeFlags = [
|
2024-06-05 15:53:02 +00:00
|
|
|
"-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}"
|
2020-04-24 23:36:52 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
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";
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
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" ];
|
2023-08-04 22:07:22 +00:00
|
|
|
maintainers = [ ];
|
2024-07-27 06:49:29 +00:00
|
|
|
# Has compilation errors since some dependencies got updated, will probably
|
|
|
|
# be fixed if updated by itself to the latest version.
|
|
|
|
broken = true;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|