Commit c5bc9942 authored by Doron Behar's avatar Doron Behar
Browse files

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

parent f573aaed
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
{
  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 −0
Original line number Diff line number Diff line
@@ -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 { };