summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-19 00:32:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-03-19 00:32:54 +0000
commit434fbe89e81a1fe06d92676be72ab7f862cc3f53 (patch)
tree7ed0f70fded2af7cbc43e42097f4cd2cebd8c845 /www-client
parentcd0d9000770337b445051f1852fe3971ceb7a6e2 (diff)
gentoo auto-resync : 19:03:2023 - 00:32:54
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6219 -> 6220 bytes
-rw-r--r--www-client/qutebrowser/Manifest8
-rw-r--r--www-client/qutebrowser/files/qutebrowser-2.5.2-dictcli.patch17
-rw-r--r--www-client/qutebrowser/qutebrowser-2.5.2-r1.ebuild133
-rw-r--r--www-client/qutebrowser/qutebrowser-2.5.4.ebuild15
-rw-r--r--www-client/qutebrowser/qutebrowser-3.0.0_pre9999.ebuild187
-rw-r--r--www-client/qutebrowser/qutebrowser-9999.ebuild60
7 files changed, 68 insertions, 352 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 88047ab9a3b7..1c280405b812 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest
index ea24874fdb0c..bd76eb7244a4 100644
--- a/www-client/qutebrowser/Manifest
+++ b/www-client/qutebrowser/Manifest
@@ -1,8 +1,4 @@
-AUX qutebrowser-2.5.2-dictcli.patch 589 BLAKE2B 1ad904d36935acc28dc9c6f871d0dab260bf8db24e2dec67b60cd09a7234faac719f0836f73e17c6673b99c7253164e18a6ec47827796daf6af5b4babe91e3ac SHA512 00c6907241fc3ccd0266c0433e18580594b0c8a2151f8e393f1d1dc1a04c6c68619a7ca20f1219ec2cca7e302a39ba14542af03faac7b85c68c7fc47a9fc45fe
-DIST qutebrowser-2.5.2.tar.gz 6114611 BLAKE2B 5f56e1e2c390bb2f36c95e25a2dae9e5203020ff6b2cf1e13092cf493efa950b24b8ff8f23af6eed93ca8b316e30f86715ecd2f2eb28c341210de0b25c9f67ad SHA512 4751ea1a5b1776f085fcd1f9ab5ff805155fca34d0272ba8eb6574f9074257929c3fb5b50c9053a522bfb346aee1a2551b58cf933c6ff7c5c84fd10559ec36fc
DIST qutebrowser-2.5.4.tar.gz 6117674 BLAKE2B d8dedf57ac064ce1a3d2e4e854a0064dfe567260cadfcdf129c2a2bcdbd26aaa21a569e3f69300c75e5dfb363b62173ac6e5f11e4bcd4a5c8dd72697b4caa5c3 SHA512 1c500cda921a273dee14b1e0808786bbfd2ce53ea9b4d5114be9abdacbefa5d3c7580d2995ad0100f597b9bf54addf4c98dbd4b924d9e8d3d08fe30309e44c3e
-EBUILD qutebrowser-2.5.2-r1.ebuild 4441 BLAKE2B c86a459181c039d78ace97598690d6ea373bc33c6964f187bc98de45a12e807d909e17ecc4506258400f155b230d0f225d6519fe79cc524f74d810a8280e0e96 SHA512 2eec0e64b15604e11f1193fa0af5ce576a1f620db6d916f401fd3257993545c436aa4194ca5184027d84515bf02de29c557ade250e69d13b7c13bef9057a5d4d
-EBUILD qutebrowser-2.5.4.ebuild 4629 BLAKE2B 0119c620c49300fb466253b2eb0c66814651deac70a1287114c3e58df2735ecd1e65b6a38a893cd264040579153ac3b5961ad3ff08408b7e2b668b015bdc3335 SHA512 18c14149a622245e872b09fee08fa37bfedc70117a99d46a1e5d04b291a22f93153f32f80eade6ee39760e033af3ef1badb4e49f8d3eebb8ad464e30b7b70603
-EBUILD qutebrowser-3.0.0_pre9999.ebuild 6337 BLAKE2B 0e60e5064c85be840e7d0d64472d5781f9ee378a56ebc80d28bfa86be84bc026e6bf8d3dc354008bc5ab013644e394ee9bc73e8f6f81d40f7a973dac4f339eb5 SHA512 beaee232c67e3549094d4b6ca26225e81871a291fceca45f9518217c8435c971bb29298120982f4890aa4a61e712919da771cd11a4a03e4393ad50c2d47565d9
-EBUILD qutebrowser-9999.ebuild 4630 BLAKE2B 9c67f8771da3a75d497bbc5a4df689f1b964f46dcb2272e768860e5c2ec87ad53b3ddd9eca41f9e51f6da4fea1141fc928638bf83eba5320c20e194056630c05 SHA512 13d47b1a5340c0017a3f1959195efecd2ad96f17593fc74a1e8b73f296f021b70385a5b5bfe14431cec9b93cf9080874f4dd9dd330fff688e5a053d7714eea94
+EBUILD qutebrowser-2.5.4.ebuild 5146 BLAKE2B 1afe3f919b68805163651570ef0daeeb6891324d4836afa8ef5313be8d340dcf78f39500917f05b73033867f8f4a1bdfdf46d67fe8c42bb81efbc4545b6963bf SHA512 06f7f867cb92f51b6f0bfc8c6ff76d82a276118b2c66f55938c838af0fbda051ea0edbed8bb78180ed4770c3e36bf681605e501d3ab5cbc211453864d16fd304
+EBUILD qutebrowser-9999.ebuild 6373 BLAKE2B 31c516817bef034524112b7c3842bc92198d02d88928701176918b144069b651420ecbf5111f72e22860e9aa14afd3232d5facb2dc3bb67a669d4cae8a5e866b SHA512 593efebbbc57288e4594ebf0833f5a4a34081bebfb20157b2dd0125d58726ddff06dbfc3b23cea4ea776706234627663797da661ee7ecc713232b6ea4969282c
MISC metadata.xml 1018 BLAKE2B 9d0c406995b2036671113b6513c3ed2fdb5021eae9d1dde5c186efeccdde6dae127857e3e5898f7809edcc27eca4b47f37965155ac0ff21bedb78e242421fd54 SHA512 2af79f18d31f9efe8df852f4bca132caf1d79fc06f6388959deb367470d4975af541a75c70831b549d944112bcd0bc7e11510a81bce4ef1391fbf1354425b769
diff --git a/www-client/qutebrowser/files/qutebrowser-2.5.2-dictcli.patch b/www-client/qutebrowser/files/qutebrowser-2.5.2-dictcli.patch
deleted file mode 100644
index cd179a5d0236..000000000000
--- a/www-client/qutebrowser/files/qutebrowser-2.5.2-dictcli.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/qutebrowser/qutebrowser/commit/f277876ce0817f7d05ca94b05beb644482027f85
-From: Florian Bruhin <me@the-compiler.org>
-Date: Sat, 19 Nov 2022 16:00:15 +0100
-Subject: [PATCH] dictcli: Switch from master to main
-
-Fixes #7481
---- a/scripts/dictcli.py
-+++ b/scripts/dictcli.py
-@@ -40,7 +40,7 @@
- from qutebrowser.utils import standarddir
-
-
--API_URL = 'https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git/+/master/'
-+API_URL = 'https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git/+/main/'
-
-
- class InvalidLanguageError(Exception):
diff --git a/www-client/qutebrowser/qutebrowser-2.5.2-r1.ebuild b/www-client/qutebrowser/qutebrowser-2.5.2-r1.ebuild
deleted file mode 100644
index 1e0b94274b51..000000000000
--- a/www-client/qutebrowser/qutebrowser-2.5.2-r1.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 xdg
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/qutebrowser/qutebrowser.git"
-else
- SRC_URI="https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine"
-HOMEPAGE="https://www.qutebrowser.org/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="+adblock pdf widevine"
-
-RDEPEND="
- dev-qt/qtcore:5[icu]
- dev-qt/qtgui:5[png]
- $(python_gen_cond_dep '
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,multimedia,gui,network,opengl,printsupport,sql,widgets]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP},libyaml(+)]
- dev-python/zipp[${PYTHON_USEDEP}]
- adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )')
- pdf? ( <www-plugins/pdfjs-3 )
- widevine? ( www-plugins/chrome-binary-plugins )"
-BDEPEND="
- $(python_gen_cond_dep '
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-bdd[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xvfb[${PYTHON_USEDEP}]
- dev-python/tldextract[${PYTHON_USEDEP}]
- )')"
-[[ ${PV} != 9999 ]] || BDEPEND+=" app-text/asciidoc"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-dictcli.patch
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if use pdf; then
- sed '/^content.pdfjs:/,+1s/false/true/' \
- -i ${PN}/config/configdata.yml || die
- fi
-
- if use widevine; then
- local widevine=${EPREFIX}/usr/$(get_libdir)/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
- sed "/yield from _qtwebengine_settings_args/a\ yield '--widevine-path=${widevine}'" \
- -i ${PN}/config/qtargs.py || die
- fi
-
- # let eclass handle python
- sed -i '/setup.py/d' misc/Makefile || die
-
- [[ ${PV} != 9999 ]] || ${EPYTHON} scripts/asciidoc2html.py || die
-
- # these plugins/tests are unnecessary here and have extra dependencies
- sed -e '/pytest-benchmark/d;s/--benchmark[^ ]*//' \
- -e '/pytest-instafail/d;s/--instafail//' \
- -i pytest.ini || die
- [[ ${PV} == 9999 ]] || rm tests/unit/scripts/test_problemmatchers.py || die
- [[ ${PV} != 9999 ]] || rm tests/unit/scripts/test_run_vulture.py || die
-}
-
-python_test() {
- local -x PYTEST_QT_API=pyqt5
-
- local EPYTEST_DESELECT=(
- # end2end and other IPC tests are broken with "Name error" if
- # socket path is over 104 characters (=124 in /var/tmp/portage)
- # https://github.com/qutebrowser/qutebrowser/issues/888 (not just OSX)
- tests/end2end
- tests/unit/misc/test_ipc.py
- # tests that don't know about our newer qtwebengine
- tests/unit/browser/webengine/test_webenginedownloads.py::TestDataUrlWorkaround
- tests/unit/utils/test_version.py::TestChromiumVersion
- # may misbehave depending on installed old python versions
- tests/unit/misc/test_checkpyver.py::test_old_python
- # bug 819393
- tests/unit/commands/test_userscripts.py::test_custom_env[_POSIXUserscriptRunner]
- # not worth running dbus over
- tests/unit/browser/test_notification.py::TestDBus
- )
- use widevine && EPYTEST_DESELECT+=( tests/unit/config/test_qtargs.py )
-
- # skip benchmarks (incl. _tree), and warning tests broken by -Wdefault
- epytest -p xvfb -k 'not _bench and not _matches_tree and not _warning'
-}
-
-python_install_all() {
- emake -f misc/Makefile DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
-
- rm "${ED}"/usr/share/${PN}/scripts/{mkvenv,utils}.py || die
- fperms -x /usr/share/${PN}/{scripts/cycle-inputs.js,userscripts/README.md}
- python_fix_shebang "${ED}"/usr/share/${PN}
-
- einstalldocs
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "Note that optional scripts in ${EROOT}/usr/share/${PN}/{user,}scripts"
- elog "have additional dependencies not covered by this ebuild, for example"
- elog "view_in_mpv needs media-video/mpv[lua] and net-misc/yt-dlp."
- fi
-}
diff --git a/www-client/qutebrowser/qutebrowser-2.5.4.ebuild b/www-client/qutebrowser/qutebrowser-2.5.4.ebuild
index 30a3498c8cf8..59de8c56dd4a 100644
--- a/www-client/qutebrowser/qutebrowser-2.5.4.ebuild
+++ b/www-client/qutebrowser/qutebrowser-2.5.4.ebuild
@@ -131,6 +131,12 @@ python_install_all() {
einstalldocs
}
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ has_version "${CATEGORY}/${PN}[qt6]" && QUTEBROWSER_HAD_QT6=
+}
+
pkg_postinst() {
xdg_pkg_postinst
@@ -139,4 +145,13 @@ pkg_postinst() {
elog "have additional dependencies not covered by this ebuild, for example"
elog "view_in_mpv needs media-video/mpv[lua] and net-misc/yt-dlp."
fi
+
+ if [[ -v QUTEBROWSER_HAD_QT6 ]]; then
+ ewarn "This is a downgrade from Qt6-based ${PN} to Qt5-based, and this"
+ ewarn "older version of ${PN} will /not/ warn on startup that this is"
+ ewarn "going to destroy some browsing data (e.g. cookies) when older chromium"
+ ewarn "version tries to use the newer ~/.local/share/${PN}/webengine."
+ ewarn
+ ewarn "It is recommended to backup in case or go back to Qt6."
+ fi
}
diff --git a/www-client/qutebrowser/qutebrowser-3.0.0_pre9999.ebuild b/www-client/qutebrowser/qutebrowser-3.0.0_pre9999.ebuild
deleted file mode 100644
index 0de37e2649d8..000000000000
--- a/www-client/qutebrowser/qutebrowser-3.0.0_pre9999.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 xdg
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/qutebrowser/qutebrowser.git"
- EGIT_BRANCH="qt6-v2"
-else
- SRC_URI="https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Keyboard-driven, vim-like browser based on Python and Qt"
-HOMEPAGE="https://www.qutebrowser.org/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="+adblock pdf +qt6 widevine"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
- adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
- ')
- qt6? (
- dev-qt/qtbase:6[icu]
- $(python_gen_cond_dep '
- dev-python/PyQt6[${PYTHON_USEDEP},dbus,gui,network,opengl,printsupport,qml,sql,widgets]
- dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets]
- ')
- pdf? ( www-plugins/pdfjs )
- )
- !qt6? (
- dev-qt/qtcore:5[icu]
- dev-qt/qtgui:5[png]
- $(python_gen_cond_dep '
- dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,gui,network,opengl,printsupport,sql,widgets]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- ')
- pdf? ( <www-plugins/pdfjs-3 )
- )
- widevine? ( www-plugins/chrome-binary-plugins )"
-BDEPEND="
- $(python_gen_cond_dep '
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-bdd[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xvfb[${PYTHON_USEDEP}]
- dev-python/tldextract[${PYTHON_USEDEP}]
- qt6? ( dev-python/PyQt6[testlib] )
- !qt6? ( dev-python/PyQt5[testlib] )
- )
- ')"
-[[ ${PV} == *9999 ]] && BDEPEND+=" app-text/asciidoc"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if use pdf; then
- sed -e '/^content.pdfjs:/,+1s/false/true/' \
- -i ${PN}/config/configdata.yml || die
- fi
-
- if use widevine && use prefix; then
- # hack: QtWebEngine knows Gentoo's widevine, but not with ${EPREFIX}
- local widevine=${EPREFIX}/usr/$(get_libdir)/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
- sed -e "/yield from _qtwebengine_settings_args/a\ yield '--widevine-path=${widevine}'" \
- -i ${PN}/config/qtargs.py || die
- fi
-
- # ensure run the requested Qt backend
- sed -e '/^_WRAPPERS = /,/^]/c\_WRAPPERS = [ "PyQt'$(usex qt6 6 5)'" ]' \
- -i ${PN}/qt/machinery.py || die
-
- # let eclass handle python
- sed -i '/setup.py/d' misc/Makefile || die
-
- if [[ ${PV} == *9999 ]]; then
- # call asciidoc(1) rather than the single target python module
- sed -e '/cmdline = /s/= .*/= ["asciidoc"]/' \
- -i scripts/asciidoc2html.py || die
-
- "${EPYTHON}" scripts/asciidoc2html.py || die
- fi
-
- # disable unnecessary tests/plugins that need extras
- sed -e '/pytest-benchmark/d' -e 's/--benchmark[^ ]*//' \
- -e '/pytest-instafail/d' -e 's/--instafail//' \
- -i pytest.ini || die
- if [[ ${PV} == *9999 ]]; then
- rm tests/unit/scripts/test_run_vulture.py || die
- else
- rm tests/unit/scripts/test_problemmatchers.py || die
- fi
-}
-
-python_test() {
- local -x PYTEST_QT_API=pyqt$(usex qt6 6 5)
-
- local EPYTEST_DESELECT=(
- # end2end and other IPC tests are broken with "Name error" if
- # socket path is over ~104 characters (=124 in /var/tmp/portage)
- # https://github.com/qutebrowser/qutebrowser/issues/888 (not just OSX)
- tests/end2end
- tests/unit/misc/test_ipc.py
- # calls eclass' python2 "failure" wrapper
- tests/unit/misc/test_checkpyver.py::test_old_python
- # not worth running dbus over
- tests/unit/browser/test_notification.py::TestDBus
- # bug 819393
- tests/unit/commands/test_userscripts.py::test_custom_env[_POSIXUserscriptRunner]
- # tests that don't know about our newer qtwebengine:5
- tests/unit/browser/webengine/test_webenginedownloads.py::TestDataUrlWorkaround
- )
- # qtargs are mangled with widevine+prefix
- use widevine && use prefix && EPYTEST_DESELECT+=( tests/unit/config/test_qtargs.py )
-
- # skip benchmarks (incl. _tree), and warning tests broken by -Wdefault
- epytest -p xvfb -n ${jobs} -k 'not _bench and not _matches_tree and not _warning'
-}
-
-python_install_all() {
- emake -f misc/Makefile DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
-
- rm "${ED}"/usr/share/${PN}/scripts/{mkvenv,utils}.py || die
- fperms -x /usr/share/${PN}/{scripts/cycle-inputs.js,userscripts/README.md}
- python_fix_shebang "${ED}"/usr/share/${PN}
-
- einstalldocs
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- has_version "${CATEGORY}/${PN}[qt6]" && QUTEBROWSER_HAD_QT6=
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "Note that optional scripts in ${EROOT}/usr/share/${PN}/{user,}scripts"
- elog "have additional dependencies not covered by this ebuild, for example"
- elog "view_in_mpv needs media-video/mpv[lua] and net-misc/yt-dlp."
- fi
-
- if [[ ! -v QUTEBROWSER_HAD_QT6 ]] && use qt6; then
- elog "USE=qt6 is enabled using the qt6-v2 branch, it is work-in-progress"
- elog "and some issues may be expected. Can follow upstream progress at:"
- elog " https://github.com/qutebrowser/qutebrowser/issues/7202 [qt6 general]"
- elog " https://github.com/qutebrowser/qutebrowser/tree/qt6-v2 [used branch]"
- if [[ ${REPLACING_VERSIONS} ]]; then
- elog
- elog "You may optionally want to backup your ~/.local/share/${PN} before"
- elog "it is converted to use Qt6 WebEngine (one-way conversion). ${PN}"
- elog "will also warn about this on launch for a last chance to abort."
- fi
- fi
-
- # only show qt6 warning on arches where USE=qt6 is unmasked
- if use amd64 && use !qt6; then
- ewarn "USE=qt6 is disabled, be warned that Qt5's WebEngine uses an older"
- ewarn "chromium version. While it is relatively maintained for security, it may"
- ewarn "cause issues for sites/features designed with a newer version in mind."
- ewarn "When Qt6 support is stable enough, ebuild's Qt5 support may get removed."
- fi
-}
diff --git a/www-client/qutebrowser/qutebrowser-9999.ebuild b/www-client/qutebrowser/qutebrowser-9999.ebuild
index 7cb5d6ee3504..2a80f2b1aa5d 100644
--- a/www-client/qutebrowser/qutebrowser-9999.ebuild
+++ b/www-client/qutebrowser/qutebrowser-9999.ebuild
@@ -21,12 +21,10 @@ HOMEPAGE="https://www.qutebrowser.org/"
LICENSE="GPL-3+"
SLOT="0"
-IUSE="+adblock pdf widevine"
+IUSE="+adblock pdf +qt6 widevine"
RDEPEND="
$(python_gen_cond_dep '
- dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,gui,network,opengl,printsupport,sql,widgets]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
>=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
>=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
@@ -35,14 +33,27 @@ RDEPEND="
dev-python/zipp[${PYTHON_USEDEP}]
adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
')
- dev-qt/qtcore:5[icu]
- dev-qt/qtgui:5[png]
- pdf? ( <www-plugins/pdfjs-3 )
+ qt6? (
+ dev-qt/qtbase:6[icu]
+ $(python_gen_cond_dep '
+ dev-python/PyQt6[${PYTHON_USEDEP},dbus,gui,network,opengl,printsupport,qml,sql,widgets]
+ dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets]
+ ')
+ pdf? ( www-plugins/pdfjs )
+ )
+ !qt6? (
+ dev-qt/qtcore:5[icu]
+ dev-qt/qtgui:5[png]
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,gui,network,opengl,printsupport,sql,widgets]
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ ')
+ pdf? ( <www-plugins/pdfjs-3 )
+ )
widevine? ( www-plugins/chrome-binary-plugins )"
BDEPEND="
$(python_gen_cond_dep '
test? (
- dev-python/PyQt5[testlib]
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/cheroot[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
@@ -53,6 +64,8 @@ BDEPEND="
dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
dev-python/pytest-xvfb[${PYTHON_USEDEP}]
dev-python/tldextract[${PYTHON_USEDEP}]
+ qt6? ( dev-python/PyQt6[testlib] )
+ !qt6? ( dev-python/PyQt5[testlib] )
)
')"
[[ ${PV} == 9999 ]] && BDEPEND+=" app-text/asciidoc"
@@ -63,6 +76,7 @@ src_prepare() {
distutils-r1_src_prepare
if use pdf; then
+ # doesn't hurt to enable by default if was explicitly requested
sed -e '/^content.pdfjs:/,+1s/false/true/' \
-i ${PN}/config/configdata.yml || die
fi
@@ -74,6 +88,12 @@ src_prepare() {
-i ${PN}/config/qtargs.py || die
fi
+ # default to the requested Qt backend, current default is PyQt5 but
+ # sed unconditionally for safety in 9999 given this is going to change
+ # (note that using sed is the suggested solution by upstream for now)
+ sed -e "/^_DEFAULT_WRAPPER =/s/=.*/= \"PyQt$(usex qt6 6 5)\"/" \
+ -i ${PN}/qt/machinery.py || die
+
# let eclass handle python
sed -i '/setup.py/d' misc/Makefile || die
@@ -85,7 +105,7 @@ src_prepare() {
"${EPYTHON}" scripts/asciidoc2html.py || die
fi
- # disable unnecessary tests/plugins that need extras
+ # disable tests/plugins that are unncessary for us and need extras
sed -e '/pytest-benchmark/d' -e 's/--benchmark[^ ]*//' \
-e '/pytest-instafail/d' -e 's/--instafail//' \
-i pytest.ini || die
@@ -97,7 +117,7 @@ src_prepare() {
}
python_test() {
- local -x PYTEST_QT_API=pyqt5
+ local -x PYTEST_QT_API=pyqt$(usex qt6 6 5)
local EPYTEST_DESELECT=(
# end2end and other IPC tests are broken with "Name error" if
@@ -131,6 +151,12 @@ python_install_all() {
einstalldocs
}
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ has_version "${CATEGORY}/${PN}[qt6]" && QUTEBROWSER_HAD_QT6=
+}
+
pkg_postinst() {
xdg_pkg_postinst
@@ -139,4 +165,20 @@ pkg_postinst() {
elog "have additional dependencies not covered by this ebuild, for example"
elog "view_in_mpv needs media-video/mpv[lua] and net-misc/yt-dlp."
fi
+
+ if [[ ! -v QUTEBROWSER_HAD_QT6 && ${REPLACING_VERSIONS} ]] && use qt6; then
+ ewarn "Be warned that starting the Qt6 version of ${PN} performs a one-way"
+ ewarn "conversion of ~/.local/share/${PN}/webengine to Qt6. There will also"
+ ewarn "be a warning on startup, and may optionally want to backup first."
+ fi
+
+ # only show qt6 warning on arches where USE=qt6 is unmasked
+ # TODO: uncomment after https://github.com/gentoo/gentoo/pull/29181 albeit
+ # may need to comment it out again when stabling if don't stable Qt6 (yet).
+# if use amd64 && use !qt6; then
+# ewarn "USE=qt6 is disabled, be warned that Qt5's WebEngine uses an older"
+# ewarn "chromium version. While it is relatively maintained for security, it may"
+# ewarn "cause issues for sites/features designed with a newer version in mind."
+# ewarn "When Qt6 support is stable enough, ebuild's Qt5 support may get removed."
+# fi
}