diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/py-pyqt4/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/py-pyqt4/package.py | 43 |
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) |