python311Packages.openmm: fix installPhase

There was a change in the wrapper installation process in the 8.1.0.
This caused metadata to not be placed in the proper location, and
downstream packages like pdbfixer could not find openmm at build time.
This change replaces the deprecated `setup.py build/install` with modern
modules, `build` and `installer` and fixes the above issue.
This commit is contained in:
natsukium 2024-05-22 19:03:16 +09:00
parent a2ab4d5ae9
commit d2797c4791
No known key found for this signature in database
GPG Key ID: 9EA45A31DB994C53

View File

@ -42,6 +42,10 @@ stdenv.mkDerivation rec {
swig
doxygen
python3Packages.python
] ++ lib.optionals enablePython [
python3Packages.build
python3Packages.installer
python3Packages.wheel
] ++ lib.optional enableCuda addOpenGLRunpath;
buildInputs = [ fftwSinglePrec ]
@ -84,9 +88,8 @@ stdenv.mkDerivation rec {
export OPENMM_LIB_PATH=$out/lib
export OPENMM_INCLUDE_PATH=$out/include
cd python
${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py build
${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py install --prefix=$out
mv $out/lib/python*/site-packages/OpenMM*.egg/{openmm,simtk} $out/lib/python*/site-packages/.
${python3Packages.python.pythonOnBuildForHost.interpreter} -m build --no-isolation --outdir dist/ --wheel
${python3Packages.python.pythonOnBuildForHost.interpreter} -m installer --prefix $out dist/*.whl
'';
postFixup = ''