72 lines
1.1 KiB
Nix
72 lines
1.1 KiB
Nix
{
|
|
buildPythonPackage,
|
|
python,
|
|
simple-dftd3,
|
|
cffi,
|
|
numpy,
|
|
toml,
|
|
qcengine,
|
|
pyscf,
|
|
ase,
|
|
pytestCheckHook,
|
|
meson-python,
|
|
meson,
|
|
setuptools,
|
|
pkg-config,
|
|
}:
|
|
|
|
buildPythonPackage {
|
|
inherit (simple-dftd3)
|
|
pname
|
|
version
|
|
src
|
|
meta
|
|
;
|
|
|
|
pyproject = true;
|
|
|
|
build-system = [
|
|
meson-python
|
|
setuptools
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
meson
|
|
];
|
|
|
|
buildInputs = [ simple-dftd3 ];
|
|
|
|
dependencies = [
|
|
cffi
|
|
numpy
|
|
toml
|
|
];
|
|
|
|
checkInputs = [
|
|
ase
|
|
qcengine
|
|
pyscf
|
|
pytestCheckHook
|
|
];
|
|
|
|
preConfigure = ''
|
|
cd python
|
|
'';
|
|
|
|
# The compiled CFFI is not placed correctly before pytest invocation
|
|
preCheck = ''
|
|
find . -name "_libdftd3*" -exec cp {} ./dftd3/. \;
|
|
'';
|
|
|
|
pythonImportsCheck = [ "dftd3" ];
|
|
doCheck = true;
|
|
|
|
# Parameters need to be present in the python site packages directory, but they
|
|
# are originally only present in the fortran package. This is a consequence of
|
|
# building the python bindings separately from the fortran library.
|
|
postInstall = ''
|
|
ln -s ${simple-dftd3}/share/s-dftd3/parameters.toml $out/${python.sitePackages}/dftd3/.
|
|
'';
|
|
}
|