summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-pyqt4/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/py-pyqt4/package.py')
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt4/package.py43
1 files changed, 33 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/py-pyqt4/package.py b/var/spack/repos/builtin/packages/py-pyqt4/package.py
index 6de10982ab..4ce26a7829 100644
--- a/var/spack/repos/builtin/packages/py-pyqt4/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt4/package.py
@@ -13,11 +13,7 @@ class PyPyqt4(SIPPackage):
against Qt v5."""
homepage = "https://www.riverbankcomputing.com/software/pyqt/intro"
- url = (
- "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz"
- )
-
- sip_module = "PyQt4.sip"
+ url = "https://www.riverbankcomputing.com/static/Downloads/PyQt4/4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz"
version("4.12.3", sha256="a00f5abef240a7b5852b7924fa5fdf5174569525dc076cd368a566619e56d472")
version(
@@ -33,16 +29,28 @@ class PyPyqt4(SIPPackage):
# Requires distutils
depends_on("python@:3.11", type=("build", "link", "run"))
- depends_on("qt@4")
- depends_on("qt@4.1:", when="@4.12.3")
+ depends_on("qt@4.1:4")
+
+ # configure-ng.py
depends_on("py-sip@4.19.12:4.19.18 module=PyQt4.sip")
- # https://www.riverbankcomputing.com/static/Docs/PyQt4/installation.html
- def configure_file(self):
- return "configure-ng.py"
+ build_directory = "."
def configure_args(self):
+ # https://www.riverbankcomputing.com/static/Docs/PyQt4/installation.html
args = [
+ "--verbose",
+ "--confirm-license",
+ "--qmake",
+ self.spec["qt"].prefix.bin.qmake,
+ "--sip",
+ self.spec["py-sip"].prefix.bin.sip,
+ "--sip-incdir",
+ join_path(self.spec["py-sip"].prefix, self.spec["python"].package.include),
+ "--bindir",
+ self.prefix.bin,
+ "--destdir",
+ python_platlib,
"--pyuic4-interpreter",
self.spec["python"].command.path,
"--sipdir",
@@ -53,3 +61,18 @@ class PyPyqt4(SIPPackage):
if "+qsci_api" in self.spec:
args.extend(["--qsci-api", "--qsci-api-destdir", self.prefix.share.qsci])
return args
+
+ def configure(self, spec, prefix):
+ python("configure-ng.py", *self.configure_args())
+
+ @run_after("install")
+ def extend_path_setup(self):
+ # 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
+ text = """
+# Support PyQt4 sub-packages that have been created by setuptools.
+__path__ = __import__('pkgutil').extend_path(__path__, __name__)
+"""
+ with open(join_path(python_platlib, "PyQt4", "__init__.py"), "a") as f:
+ f.write(text)