diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/py-sip/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/py-sip/package.py | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/var/spack/repos/builtin/packages/py-sip/package.py b/var/spack/repos/builtin/packages/py-sip/package.py index 031c04ca8b..e85f442127 100644 --- a/var/spack/repos/builtin/packages/py-sip/package.py +++ b/var/spack/repos/builtin/packages/py-sip/package.py @@ -14,9 +14,11 @@ class PySip(PythonPackage): homepage = "https://www.riverbankcomputing.com/software/sip" pypi = "sip/sip-6.4.0.tar.gz" + version("6.7.9", sha256="35d51fc10f599d3696abb50f29d068ad04763df7b77808c76b74597660f99b17") version("6.6.2", sha256="0e3efac1c5dfd8e525ae57140927df26993e13f58b89d1577c314f4105bfd90d") version("6.4.0", sha256="42ec368520b8da4a0987218510b1b520b4981e4405086c1be384733affc2bcb0") version("5.5.0", sha256="5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5") + version("4.19.25", sha256="3d36986f7327b7b966bb6eacf22bcf6e4d0a3d24e392276ef92af89988818062") version("4.19.21", sha256="3bfd58e875a87471c00e008f25a01d8312885aa01efc4f688e5cac861c8676e4") version("4.19.20", sha256="475f85277a6601c406ade508b6c935b9f2a170c16fd3ae9dd4cdee7a4f7f340d") version("4.19.19", sha256="348cd6229b095a3090e851555814f5147bffcb601cec891f1038eb6b38c9d856") @@ -33,27 +35,25 @@ class PySip(PythonPackage): multi=False, ) - depends_on("python@3.7:", when="@6.6:", type=("build", "link", "run")) - depends_on("python@3.6:", when="@6:", type=("build", "link", "run")) - depends_on("py-ply", when="@6.6:", type=("build", "run")) with when("@5:"): - depends_on("python@3.5.1:", type=("build", "link", "run")) - depends_on("py-packaging", type="build") - depends_on("py-setuptools@30.3:", type="build") - depends_on("py-toml", type="build") + depends_on("python", type=("build", "link", "run")) + depends_on("py-packaging", type=("build", "run")) + depends_on("py-setuptools@30.3:", type=("build", "run")) + depends_on("py-tomli", when="@6.7: ^python@:3.10", type=("build", "run")) + depends_on("py-toml", when="@:6.6", type=("build", "run")) with when("@:4"): - depends_on("python", type=("build", "link", "run")) + # Requires distutils + depends_on("python@:3.11", type=("build", "link", "run")) depends_on("flex", type="build") depends_on("bison", type="build") def url_for_version(self, version): - if version < Version("5.0.0"): - return "https://www.riverbankcomputing.com/hg/sip/archive/{0}.tar.gz".format( - version.dotted - ) + if version < Version("5"): + url = "https://www.riverbankcomputing.com/hg/sip/archive/{0}.tar.gz" + return url.format(version.dotted) return super().url_for_version(version) @when("@:4") @@ -75,12 +75,20 @@ class PySip(PythonPackage): @run_after("install") def extend_path_setup(self): - if self.spec.satisfies("@:4"): - # See github issue #14121 and PR #15297 - module = self.spec.variants["module"].value - if module != "sip": - module = module.split(".")[0] - with working_dir(python_platlib): - with open(os.path.join(module, "__init__.py"), "w") as f: - f.write("from pkgutil import extend_path\n") - f.write("__path__ = extend_path(__path__, __name__)\n") + # https://github.com/spack/spack/issues/14121 + # https://github.com/spack/spack/pull/15297 + # Same code comes by default with py-pyqt5 and py-pyqt6 + if self.spec.satisfies("@5:"): + return + + module = self.spec.variants["module"].value + if module == "sip": + return + + module = module.split(".")[0] + text = f""" +# Support {module} sub-packages that have been created by setuptools. +__path__ = __import__('pkgutil').extend_path(__path__, __name__) +""" + with open(join_path(python_platlib, module, "__init__.py"), "w") as f: + f.write(text) |