summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-sip/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/py-sip/package.py')
-rw-r--r--var/spack/repos/builtin/packages/py-sip/package.py50
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)