python31{2,1}Packages.lammps: init at 2Aug2023_update3

This commit is contained in:
Doron Behar
2024-08-18 15:44:45 +03:00
parent f573aaedbb
commit c5bc9942ad
2 changed files with 50 additions and 0 deletions
@@ -0,0 +1,46 @@
{
lib,
lammps,
stdenv,
buildPythonPackage,
}:
let
LAMMPS_SHARED_LIB = "${lib.getLib lammps}/lib/liblammps${stdenv.hostPlatform.extensions.library}";
in
buildPythonPackage {
inherit (lammps) pname version src;
env = {
inherit LAMMPS_SHARED_LIB;
};
preConfigure = ''
cd python
# Upstream assumes that the shared library is located in the same directory
# as the core.py file. We want to separate the shared library (built by
# cmake) and the Python library, so we perform this substitution:
substituteInPlace lammps/core.py \
--replace-fail \
"from inspect import getsourcefile" \
"getsourcefile = lambda f: \"${LAMMPS_SHARED_LIB}\""
'';
pythonImportsCheck = [
"lammps"
"lammps.pylammps"
];
# We could potentially run other examples, but some of them are so old that
# they don't run with nowadays' LAMMPS. This one is simple enough and recent
# enough and it works.
checkPhase = ''
python examples/mc.py examples/in.mc
'';
meta = {
description = "Python Bindings for LAMMPS";
homepage = "https://docs.lammps.org/Python_head.html";
inherit (lammps.meta) license;
maintainers = with lib.maintainers; [ doronbehar ];
};
}
+4
View File
@@ -6734,6 +6734,10 @@ self: super: with self; {
lakeside = callPackage ../development/python-modules/lakeside { };
lammps = callPackage ../development/python-modules/lammps {
inherit (pkgs) lammps;
};
lancedb = callPackage ../development/python-modules/lancedb { };
langchain = callPackage ../development/python-modules/langchain { };