py-pymol: don't install with pip (#28450)

This commit is contained in:
Adam J. Stewart 2022-01-19 05:33:59 -06:00 committed by GitHub
parent d12bc3121a
commit cdac2cd4f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,10 +19,8 @@ class PyPymol(PythonPackage):
version('2.4.0', sha256='5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581') version('2.4.0', sha256='5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581')
version('2.3.0', sha256='62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0') version('2.3.0', sha256='62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0')
depends_on('python+tkinter@2.7:', type=('build', 'run'), when='@2.3.0:2.4.0') depends_on('python+tkinter@2.7:', type=('build', 'link', 'run'), when='@2.3.0:2.4.0')
depends_on('python+tkinter@3.6:', type=('build', 'run'), when='@2.5.0:') depends_on('python+tkinter@3.6:', type=('build', 'link', 'run'), when='@2.5.0:')
# pip silently replaces distutils with setuptools
depends_on('py-setuptools', type='build')
depends_on('gl') depends_on('gl')
depends_on('glew') depends_on('glew')
depends_on('libpng') depends_on('libpng')
@ -38,11 +36,19 @@ class PyPymol(PythonPackage):
depends_on('libmmtf-cpp', type=('build', 'run', 'link')) depends_on('libmmtf-cpp', type=('build', 'run', 'link'))
depends_on('msgpack-c', type=('build', 'run')) depends_on('msgpack-c', type=('build', 'run'))
depends_on('libpng', type=('build', 'run')) depends_on('libpng', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run')) depends_on('py-numpy', type=('build', 'link', 'run'))
depends_on('py-msgpack', type=('build', 'run'))
def install_options(self, spec, prefix): def install_options(self, spec, prefix):
return ['--no-launcher'] return ['--no-launcher']
def install(self, spec, prefix):
# Note: pymol monkeypatches distutils which breaks pip install, use deprecated
# `python setup.py install` and distutils instead of `pip install` and
# setuptools. See: https://github.com/schrodinger/pymol-open-source/issues/217
python('setup.py', 'install', '--prefix=' + prefix,
*self.install_options(spec, prefix))
@run_after('install') @run_after('install')
def install_launcher(self): def install_launcher(self):
binpath = self.prefix.bin binpath = self.prefix.bin