diff --git a/misc/requirements/requirements-pyqt-6.7.txt b/misc/requirements/requirements-pyqt-6.7.txt index b33f919ee..b784bd052 100644 --- a/misc/requirements/requirements-pyqt-6.7.txt +++ b/misc/requirements/requirements-pyqt-6.7.txt @@ -4,4 +4,4 @@ PyQt6==6.7.0 PyQt6-Qt6==6.7.0 PyQt6-sip==13.6.0 PyQt6-WebEngine==6.7.0 -PyQt6-WebEngine-Qt6==6.7.0 +# PyQt6-WebEngine-Qt6==6.7.0 diff --git a/misc/requirements/requirements-pyqt-6.7.txt-raw b/misc/requirements/requirements-pyqt-6.7.txt-raw index 98b1340b2..e9fe79c07 100644 --- a/misc/requirements/requirements-pyqt-6.7.txt-raw +++ b/misc/requirements/requirements-pyqt-6.7.txt-raw @@ -1,4 +1,7 @@ +# WORKAROUND for https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html +#@ ignore: PyQt6-WebEngine-Qt6 + PyQt6 >= 6.7, < 6.8 PyQt6-Qt6 >= 6.7, < 6.8 PyQt6-WebEngine >= 6.7, < 6.8 -PyQt6-WebEngine-Qt6 >= 6.7, < 6.8 +# PyQt6-WebEngine-Qt6 >= 6.7, < 6.8 diff --git a/misc/requirements/requirements-pyqt-6.txt b/misc/requirements/requirements-pyqt-6.txt index b33f919ee..b784bd052 100644 --- a/misc/requirements/requirements-pyqt-6.txt +++ b/misc/requirements/requirements-pyqt-6.txt @@ -4,4 +4,4 @@ PyQt6==6.7.0 PyQt6-Qt6==6.7.0 PyQt6-sip==13.6.0 PyQt6-WebEngine==6.7.0 -PyQt6-WebEngine-Qt6==6.7.0 +# PyQt6-WebEngine-Qt6==6.7.0 diff --git a/misc/requirements/requirements-pyqt-6.txt-raw b/misc/requirements/requirements-pyqt-6.txt-raw index 68a5db685..ad747afc2 100644 --- a/misc/requirements/requirements-pyqt-6.txt-raw +++ b/misc/requirements/requirements-pyqt-6.txt-raw @@ -1,4 +1,7 @@ PyQt6 PyQt6-Qt6 PyQt6-WebEngine -PyQt6-WebEngine-Qt6 + +# WORKAROUND for https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html +#@ ignore: PyQt6-WebEngine-Qt6 +# PyQt6-WebEngine-Qt6 diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt index b33f919ee..b784bd052 100644 --- a/misc/requirements/requirements-pyqt.txt +++ b/misc/requirements/requirements-pyqt.txt @@ -4,4 +4,4 @@ PyQt6==6.7.0 PyQt6-Qt6==6.7.0 PyQt6-sip==13.6.0 PyQt6-WebEngine==6.7.0 -PyQt6-WebEngine-Qt6==6.7.0 +# PyQt6-WebEngine-Qt6==6.7.0 diff --git a/misc/requirements/requirements-pyqt.txt-raw b/misc/requirements/requirements-pyqt.txt-raw index 68a5db685..ad747afc2 100644 --- a/misc/requirements/requirements-pyqt.txt-raw +++ b/misc/requirements/requirements-pyqt.txt-raw @@ -1,4 +1,7 @@ PyQt6 PyQt6-Qt6 PyQt6-WebEngine -PyQt6-WebEngine-Qt6 + +# WORKAROUND for https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html +#@ ignore: PyQt6-WebEngine-Qt6 +# PyQt6-WebEngine-Qt6 diff --git a/scripts/mkvenv.py b/scripts/mkvenv.py index 4ab5d8c10..6c871744b 100755 --- a/scripts/mkvenv.py +++ b/scripts/mkvenv.py @@ -249,8 +249,15 @@ def install_pyqt_binary(venv_dir: pathlib.Path, version: str) -> None: utils.print_error("Non-glibc Linux is not a supported platform for PyQt " "binaries, this will most likely fail.") + # WORKAROUND for + # https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html + needs_manual_install = version in ["auto", "6", "6.7"] pip_install(venv_dir, '-r', pyqt_requirements_file(version), - '--only-binary', ','.join(PYQT_PACKAGES)) + '--only-binary', ','.join(PYQT_PACKAGES), + *(["--no-deps"] if needs_manual_install else [])) + + if needs_manual_install: + pip_install(venv_dir, "PyQt6-WebEngine-Qt6") def install_pyqt_source(venv_dir: pathlib.Path, version: str) -> None: diff --git a/tox.ini b/tox.ini index 8ce7b22b3..884ff9068 100644 --- a/tox.ini +++ b/tox.ini @@ -51,6 +51,13 @@ deps = pyqt65: -r{toxinidir}/misc/requirements/requirements-pyqt-6.5.txt pyqt66: -r{toxinidir}/misc/requirements/requirements-pyqt-6.6.txt pyqt67: -r{toxinidir}/misc/requirements/requirements-pyqt-6.7.txt +# WORKAROUND for https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html +# --no-deps since we install from a complete requirements.txt anyways. +install_command = + pyqt67: python -I -m pip install --no-deps {opts} {packages} + !pyqt67: python -I -m pip install {opts} {packages} +commands_pre = + pyqt67: pip install --extra-index-url https://www.riverbankcomputing.com/pypi/simple/ PyQt6-WebEngine-Qt6 commands = !pyqt-!pyqt515-!pyqt5152-!pyqt62-!pyqt63-!pyqt64-!pyqt65-!pyqt66-!pyqt67: {envpython} scripts/link_pyqt.py --tox {envdir} {envpython} -bb -m pytest {posargs:tests} @@ -193,6 +200,13 @@ passenv = PYINSTALLER_DEBUG setenv = qt5: PYINSTALLER_QT5=true +# WORKAROUND for https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html +# --no-deps since we install from a complete requirements.txt anyways. +install_command = + !qt5: python -I -m pip install --no-deps {opts} {packages} + qt5: python -I -m pip install {opts} {packages} +commands_pre = + !qt5: pip install --extra-index-url https://www.riverbankcomputing.com/pypi/simple/ PyQt6-WebEngine-Qt6 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/misc/requirements/requirements-pyinstaller.txt