diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py index b33b0fdc10..e04861955f 100644 --- a/var/spack/repos/builtin/packages/py-ipython/package.py +++ b/var/spack/repos/builtin/packages/py-ipython/package.py @@ -11,18 +11,7 @@ class PyIpython(PythonPackage): homepage = "https://ipython.readthedocs.org/" pypi = "ipython/ipython-7.18.1.tar.gz" - # 'IPython.kernel' is deprecated and fails to import, leave out of 'import_modules' - # to ensure that import tests pass. - import_modules = [ - 'IPython', 'IPython.core', 'IPython.core.tests', 'IPython.core.magics', - 'IPython.sphinxext', 'IPython.terminal', - 'IPython.terminal.pt_inputhooks', 'IPython.terminal.tests', - 'IPython.utils', 'IPython.utils.tests', 'IPython.extensions', - 'IPython.extensions.tests', 'IPython.testing', 'IPython.testing.tests', - 'IPython.testing.plugin', 'IPython.lib', 'IPython.lib.tests', - 'IPython.external', 'IPython.external.decorators' - ] - + version('8.0.1', sha256='ab564d4521ea8ceaac26c3a2c6e5ddbca15c8848fd5a5cc325f960da88d42974') version('7.28.0', sha256='2097be5c814d1b974aea57673176a924c4c8c9583890e7a5f082f547b9975b11') version('7.27.0', sha256='58b55ebfdfa260dad10d509702dc2857cb25ad82609506b070cf2d7b7df5af13') version('7.26.0', sha256='0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e') @@ -35,31 +24,51 @@ class PyIpython(PythonPackage): version('3.1.0', sha256='532092d3f06f82b1d8d1e5c37097eae19fcf025f8f6a4b670dd49c3c338d5624') version('2.3.1', sha256='3e98466aa2fe54540bcba9aa6e01a39f40110d67668c297340c4b9514b7cc49c') - depends_on('python@3.7:', type=('build', 'run'), when='@7.17:') - depends_on('python@3.6:', type=('build', 'run'), when='@7.10:') - depends_on('python@3.5:', type=('build', 'run'), when='@7:') - depends_on('python@3.3:', type=('build', 'run'), when='@6:') + depends_on('python@3.8:', when='@8:', type=('build', 'run')) + depends_on('python@3.7:', when='@7.17:', type=('build', 'run')) + depends_on('python@3.6:', when='@7.10:', type=('build', 'run')) + depends_on('python@3.5:', when='@7:', type=('build', 'run')) + depends_on('python@3.3:', when='@6:', type=('build', 'run')) depends_on('python@2.7:2.8,3.3:', type=('build', 'run')) - depends_on('py-setuptools@18.5:', type='run', when='@4.1:') - depends_on('py-jedi@0.10:', type=('build', 'run'), when='@7.5:7.17,7.19') - depends_on('py-jedi@0.16:', type=('build', 'run'), when='@7.18,7.20:') + depends_on('py-setuptools@51:', when='@8:', type='build') + depends_on('py-setuptools@18.5:', when='@4.1:', type='run') + depends_on('py-jedi@0.16:', when='@7.18,7.20:', type=('build', 'run')) + depends_on('py-jedi@0.10:', when='@7.5:7.17,7.19', type=('build', 'run')) + depends_on('py-black', when='@8:', type=('build', 'run')) depends_on('py-decorator', type=('build', 'run')) depends_on('py-pickleshare', type=('build', 'run')) + depends_on('py-traitlets@5:', when='@8:', type=('build', 'run')) depends_on('py-traitlets@4.2:', type=('build', 'run')) - depends_on('py-prompt-toolkit@1.0.4:1', when='@:7.0.0', type=('build', 'run')) - depends_on('py-prompt-toolkit@2.0.0:2', when='@7.0.0:7.5.0', type=('build', 'run')) - depends_on('py-prompt-toolkit@2.0.0:2.0', when='@7.5.0', type=('build', 'run')) - depends_on('py-prompt-toolkit@3.0.2:3.0', when='@7.18:7.25', type=('build', 'run')) depends_on('py-prompt-toolkit@2.0.0:2,3.0.2:3.0', when='@7.26:', type=('build', 'run')) + depends_on('py-prompt-toolkit@3.0.2:3.0', when='@7.18:7.25', type=('build', 'run')) + depends_on('py-prompt-toolkit@2.0.0:2.0', when='@7.5.0', type=('build', 'run')) + depends_on('py-prompt-toolkit@2.0.0:2', when='@7.0.0:7.5.0', type=('build', 'run')) + depends_on('py-prompt-toolkit@1.0.4:1', when='@:7.0.0', type=('build', 'run')) depends_on('py-pygments', type=('build', 'run')) - depends_on('py-backcall', type=('build', 'run'), when='@7.3.0:') + depends_on('py-backcall', when='@7.3.0:', type=('build', 'run')) + depends_on('py-stack-data', when='@8:', type=('build', 'run')) depends_on('py-matplotlib-inline', when='@7.23:', type=('build', 'run')) + depends_on('py-pexpect@4.4:', when='@7.18: platform=linux', type=('build', 'run')) + depends_on('py-pexpect@4.4:', when='@7.18: platform=darwin', type=('build', 'run')) + depends_on('py-pexpect@4.4:', when='@7.18: platform=cray', type=('build', 'run')) depends_on('py-pexpect', type=('build', 'run')) - depends_on('py-pexpect@4.4:', type=('build', 'run'), when='@7.18: platform=linux') - depends_on('py-pexpect@4.4:', type=('build', 'run'), when='@7.18: platform=darwin') - depends_on('py-pexpect@4.4:', type=('build', 'run'), when='@7.18: platform=cray') - depends_on('py-appnope', type=('build', 'run'), when='platform=darwin') + depends_on('py-appnope', when='platform=darwin', type=('build', 'run')) depends_on('py-colorama', when='platform=windows', type=('build', 'run')) - depends_on('py-backports-shutil-get-terminal-size', type=('build', 'run'), when="^python@:3.2") - depends_on('py-pathlib2', type=('build', 'run'), when="^python@:3.3") - depends_on('py-simplegeneric@0.8:', type=('build', 'run'), when='@:7.0.0') + + depends_on('py-backports-shutil-get-terminal-size', when="^python@:3.2", type=('build', 'run')) + depends_on('py-pathlib2', when="^python@:3.3", type=('build', 'run')) + depends_on('py-simplegeneric@0.8:', when='@:7.0.0', type=('build', 'run')) + + @property + def import_modules(self): + modules = super(__class__, self).import_modules + + if self.spec.satisfies('@8:'): + return modules + + # 'IPython.kernel' is deprecated and fails to import, leave out of + # 'import_modules' to ensure that import tests pass. + ignored_imports = ["IPython.kernel"] + + return [i for i in modules + if not any(map(i.startswith, ignored_imports))]