summaryrefslogtreecommitdiff
path: root/www-client/qutebrowser
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/qutebrowser')
-rw-r--r--www-client/qutebrowser/Manifest12
-rw-r--r--www-client/qutebrowser/files/qutebrowser-2.3.1-pyyaml60.patch19
-rw-r--r--www-client/qutebrowser/metadata.xml9
-rw-r--r--www-client/qutebrowser/qutebrowser-2.2.3-r1.ebuild90
-rw-r--r--www-client/qutebrowser/qutebrowser-2.3.0.ebuild90
-rw-r--r--www-client/qutebrowser/qutebrowser-2.3.1-r1.ebuild (renamed from www-client/qutebrowser/qutebrowser-2.3.1.ebuild)2
-rw-r--r--www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild126
-rw-r--r--www-client/qutebrowser/qutebrowser-9999.ebuild162
8 files changed, 253 insertions, 257 deletions
diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest
index 34039ec51d4f..2899088b35ea 100644
--- a/www-client/qutebrowser/Manifest
+++ b/www-client/qutebrowser/Manifest
@@ -1,8 +1,6 @@
-DIST qutebrowser-2.2.3.tar.gz 6234298 BLAKE2B 7401241b5032bc2c98214930772a1228b9ef1cd9bdabba64295b10c7f0f8c0f336f321baeb4a25ffc7576328e9b838d6629b83c93a5c76defd4000743c4a859c SHA512 608a588ba670b60d6278bfcae324ca5c5454c4f932f7493189ae8666293a0077a2f2a0066211d080b649d180c687c14adbe075c6c92a411b88fee18446930c4e
-DIST qutebrowser-2.3.0.tar.gz 6244786 BLAKE2B 6722074efd854e70aeb40c5992277d0dad59045795c464ecea2b53fcd648b900054e9ad7d19cf2879d814624304a3827c166f495e721344ecc334aa0f49a0d39 SHA512 1f0afc642fe68d4524fa0263f8f196429710f1ae0a27edb43748a688f1eadd3dc42af82da96715b78cbe19e6d0e6c1e9604a55d6c5deb7ebc5eba97b9bfa118f
+AUX qutebrowser-2.3.1-pyyaml60.patch 682 BLAKE2B 572d1ffcb23fd1168b8e999300c4f2d7f8c59b1c8e47c3c91bfdbcfc37c1e2c909b608513070f2efde979db7f90e1548dab2f6156cd8f74d8a0c9e1cb32c3a3c SHA512 608103b77779855b636ca0dbc77b726650d6e571d0c44c7ef89d16228e19931ed0b8c6152487e30e59f36996883d7efe0957de5b28c9f8b5d7e4c5bc21ba2031
DIST qutebrowser-2.3.1.tar.gz 6244845 BLAKE2B 55dff9141e65f3e65701027e81106bc7b5ebe98d982111055d3b18ae91470603848107139845b1af248bb98074e39a2e7ceb9ab3e1bf523a52c81aaddda4f211 SHA512 1798e4659a8e53f53df6fe0307d6cfaf4641fda1b68facec90d825c0fa04ffa32867d51e45c92cd57ebbb4240085592dc8cd9fc120abea9803b2c1aab7205239
-EBUILD qutebrowser-2.2.3-r1.ebuild 2677 BLAKE2B aebb54126e50c2fae543e956e307999d76acbf06d5d085646c032e15251bc8c490a6d0a041464fe8612535c2efce6cfbc251e87befc7778bf3c7ee131483de16 SHA512 aa0048e53dfc4f7bb8ede59d23e32fb0b7e7061389e92e78a7f75d6ecfbd8ca4b093b6dd52ceffb7af67dd0fcf07f6ef3b9ab01ae89d7c319fd6978e64fcb87c
-EBUILD qutebrowser-2.3.0.ebuild 2652 BLAKE2B 484d6584fe5bc5f50d64bcd6bb95ce4bfd2aa1bd17f918b1b4a0896240ab7f6950a4e30ee916dc2bd3b9199206aaf1608a7fd515f6f8177529338524c218752e SHA512 e5462b578c441d5388b5e77c75bffb733bb061a46efef642f6a72d155187613a17e86f120dbecea5a6e4bceaa6036fafaf2f2dff8d792a0d905cdff646d44d2d
-EBUILD qutebrowser-2.3.1.ebuild 2433 BLAKE2B 0d69b0eded34afbfac9e7593091ab07b75d3fb6b344bdc0b89292cddf759c25af0b4e99e110b5851cf8b42920aca27d11baa1e89d6b0bc56ae54a71b62b6fd67 SHA512 699a37119199e4da22deb74f9c6355f1576336ec397d181c77a4dfb01a31fc6d13cbe97c95fb45118429ae59abe1900d1f1a112a7efa6f646bdbc61f74ed4613
-EBUILD qutebrowser-9999.ebuild 2896 BLAKE2B 549f0bd0591b8424322dce3084b17972219c67f27413b65616c9e025b4820795e419b19103e253218c133419330c7931ed41ff2481cd101055ff7a25475b6ee4 SHA512 b6403374bd85e8ee99420cafac107c81f845ce72302ac4c891db5a46e396d01cff99e8f50964ae0dc6250075c231bd34414546952ff3e387d0f1e0bf2a06a500
-MISC metadata.xml 843 BLAKE2B 0eee30dbf7d7668960cdd6224102d16205d188b8d88a32619ddb6cd3142ca7c7d3d31537a7554d213ccb3b915bcdc4ddd2963aec223bc36a35d32ac330dd13b6 SHA512 5bd6354dc4bd676730e7e31bd96298a3c68d3ff3e22b456c5bbb6fb6ff741a5969c55d1b72f1c185f77ba9c1c0eb78f60ba6cad6eb341764dd55068a9be4e6de
+EBUILD qutebrowser-2.3.1-r1.ebuild 2436 BLAKE2B 30a9c3f7f66fa08d9665072ee3e006ef97adc66b365cb7b10a0ccdf3e553e0299ffc42a9ec80bb8ebd21e6c5517dece86aa4e12b702c2313fd3f40d8fa9c2764 SHA512 f23cb74b8036c2f204bd0c8554fa4040bd98271d68c35d04e2143aee4631343f6ae50a8a262f1610095c41f0b63a1b052f18f20308214c8285909fb486cb8ea9
+EBUILD qutebrowser-2.3.1-r2.ebuild 4303 BLAKE2B 3dee4b1317f8159b9bac01403c7cc68bfa68c5555c138801ec3777b7f4fb5974c84907eedda1f887f1a85bb594062ffd816a5c3cd36e789196d0f4769912d8a7 SHA512 7bc6de06328494517e086089a59c389bc9877b795acacc3fb5e15a4d4a67ea7a0a849a54b0539697433f06cfc80f27090f27f8497460f295a17bc4323050651c
+EBUILD qutebrowser-9999.ebuild 4274 BLAKE2B c67ca9a10a4ebbb26c1f573870586af1063f1adc4ec36c61965d861848501444004c60e8204aee9e7459183d8cd61c22a6fac7dd4d602a2d220802f9d2fe3265 SHA512 2d582bcd9ef99022acb48e320f2885cad81e9d2cf0e21cdd4d4933ae774325eb55575c0bf287fda24a6c918f1986e13a17f4a96fee38fb4e155fa5eeb1136a57
+MISC metadata.xml 945 BLAKE2B e796d777d56a5452b6652d77e011dfb160684f6e7498d0c4fad583bb828ecd111c25be5d80ed906b9b579e6ccd33315fc20a727342df0fb1b66b1a71effcea25 SHA512 80a65a391a84208042d9e7a6e0b5e8644ed07d5e389cd6a7b314b961dca5cff6406c5556693b34dcd275acfb27d05d9e40f77e9d503f9e3e8054ab6b6763932d
diff --git a/www-client/qutebrowser/files/qutebrowser-2.3.1-pyyaml60.patch b/www-client/qutebrowser/files/qutebrowser-2.3.1-pyyaml60.patch
new file mode 100644
index 000000000000..d585109b9f2c
--- /dev/null
+++ b/www-client/qutebrowser/files/qutebrowser-2.3.1-pyyaml60.patch
@@ -0,0 +1,19 @@
+https://github.com/qutebrowser/qutebrowser/commit/1547a48
+From: Florian Bruhin <me@the-compiler.org>
+Date: Thu, 14 Oct 2021 09:05:07 +0200
+Subject: [PATCH] tests: Adjust for PyYAML 6.0
+--- a/tests/unit/utils/test_utils.py
++++ b/tests/unit/utils/test_utils.py
+@@ -809,8 +809,11 @@ def test_load(self):
+ assert utils.yaml_load("[1, 2]") == [1, 2]
+
+ def test_load_float_bug(self):
+- with pytest.raises(yaml.YAMLError):
++ try:
+ utils.yaml_load("._")
++ except yaml.YAMLError:
++ # Either no exception or YAMLError, not ValueError
++ pass
+
+ def test_load_file(self, tmp_path):
+ tmpfile = tmp_path / 'foo.yml'
diff --git a/www-client/qutebrowser/metadata.xml b/www-client/qutebrowser/metadata.xml
index 9255ec048f57..44b66f5f9007 100644
--- a/www-client/qutebrowser/metadata.xml
+++ b/www-client/qutebrowser/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
<maintainer type="person" proxied="yes">
<email>guillaumeseren@gmail.com</email>
<name>Guillaume Seren</name>
@@ -13,13 +17,14 @@
<email>steils@gentoo.org</email>
<name>Stefan Strogin</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">qutebrowser/qutebrowser</remote-id>
</upstream>
<use>
<flag name="adblock">Enable Brave's ABP-style adblocker library
for improved adblocking</flag>
- <flag name="scripts">Installs userscripts from the misc/userscripts
- directory to /usr/share/qutebrowser/userscripts.</flag>
+ <flag name="widevine">Unsupported closed-source DRM capability
+ (required by Netflix VOD)</flag>
</use>
</pkgmetadata>
diff --git a/www-client/qutebrowser/qutebrowser-2.2.3-r1.ebuild b/www-client/qutebrowser/qutebrowser-2.2.3-r1.ebuild
deleted file mode 100644
index a546f877c3da..000000000000
--- a/www-client/qutebrowser/qutebrowser-2.2.3-r1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit desktop distutils-r1 optfeature xdg-utils
-
-DESCRIPTION="A keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine"
-HOMEPAGE="https://www.qutebrowser.org/ https://github.com/qutebrowser/qutebrowser"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+adblock test"
-
-BDEPEND="app-text/asciidoc"
-RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]
- $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_{7,8})
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/markupsafe[${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-5.4.1[${PYTHON_USEDEP},libyaml]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
- adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests setup.py
-
-# Tests restricted as the deplist (misc/requirements/requirements-tests.txt)
-# isn't complete and X11 is required in order to start up qutebrowser.
-RESTRICT="test"
-
-python_compile_all() {
- a2x -f manpage doc/${PN}.1.asciidoc || die "Failed generating man page"
-}
-
-python_install_all() {
- insinto /usr/share/metainfo
- doins misc/org.qutebrowser.qutebrowser.appdata.xml
- doman doc/${PN}.1
- domenu misc/org.${PN}.${PN}.desktop
- for s in 16 24 32 48 64 128 256 512; do
- doicon -s ${s} icons/qutebrowser-${s}x${s}.png
- done
- doicon -s scalable icons/${PN}.svg
-
- insinto /usr/share/qutebrowser/userscripts
- doins misc/userscripts/README.md
- exeinto /usr/share/qutebrowser/userscripts
- for f in misc/userscripts/*; do
- if [[ "${f}" == "__pycache__" ]]; then
- continue
- fi
- doexe "${f}"
- done
-
- exeinto /usr/share/qutebrowser/scripts
- for f in scripts/*; do
- if [[ "${f}" == "scripts/__init__.py" || \
- "${f}" == "scripts/__pycache__" || \
- "${f}" == "scripts/dev" || \
- "${f}" == "scripts/testbrowser" || \
- "${f}" == "scripts/asciidoc2html.py" || \
- "${f}" == "scripts/setupcommon.py" || \
- "${f}" == "scripts/link_pyqt.py" ]]; then
- continue
- fi
- doexe "${f}"
- done
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "PDF display support" www-plugins/pdfjs
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/www-client/qutebrowser/qutebrowser-2.3.0.ebuild b/www-client/qutebrowser/qutebrowser-2.3.0.ebuild
deleted file mode 100644
index dd61b8b71581..000000000000
--- a/www-client/qutebrowser/qutebrowser-2.3.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit desktop distutils-r1 optfeature xdg-utils
-
-DESCRIPTION="A keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine"
-HOMEPAGE="https://www.qutebrowser.org/ https://github.com/qutebrowser/qutebrowser"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+adblock test"
-
-BDEPEND="app-text/asciidoc"
-RDEPEND=">=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_{7,8})
- >=dev-python/jinja-3.0.1[${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-5.4.1[${PYTHON_USEDEP},libyaml]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
- adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests setup.py
-
-# Tests depend (misc/requirements/requirements-tests.txt) on plugins
-# we don't have packages for.
-RESTRICT="test"
-
-python_compile_all() {
- a2x -f manpage doc/${PN}.1.asciidoc || die "Failed generating man page"
-}
-
-python_install_all() {
- insinto /usr/share/metainfo
- doins misc/org.qutebrowser.qutebrowser.appdata.xml
- doman doc/${PN}.1
- domenu misc/org.${PN}.${PN}.desktop
- for s in 16 24 32 48 64 128 256 512; do
- doicon -s ${s} icons/qutebrowser-${s}x${s}.png
- done
- doicon -s scalable icons/${PN}.svg
-
- insinto /usr/share/qutebrowser/userscripts
- doins misc/userscripts/README.md
- exeinto /usr/share/qutebrowser/userscripts
- for f in misc/userscripts/*; do
- if [[ "${f}" == "__pycache__" ]]; then
- continue
- fi
- doexe "${f}"
- done
-
- exeinto /usr/share/qutebrowser/scripts
- for f in scripts/*; do
- if [[ "${f}" == "scripts/__init__.py" || \
- "${f}" == "scripts/__pycache__" || \
- "${f}" == "scripts/dev" || \
- "${f}" == "scripts/testbrowser" || \
- "${f}" == "scripts/asciidoc2html.py" || \
- "${f}" == "scripts/setupcommon.py" || \
- "${f}" == "scripts/link_pyqt.py" ]]; then
- continue
- fi
- doexe "${f}"
- done
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "PDF display support" www-plugins/pdfjs
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/www-client/qutebrowser/qutebrowser-2.3.1.ebuild b/www-client/qutebrowser/qutebrowser-2.3.1-r1.ebuild
index e11338abf31f..fb10ef39b48f 100644
--- a/www-client/qutebrowser/qutebrowser-2.3.1.ebuild
+++ b/www-client/qutebrowser/qutebrowser-2.3.1-r1.ebuild
@@ -24,7 +24,7 @@ RDEPEND=">=dev-python/colorama-0.4.4[${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-5.4.1[${PYTHON_USEDEP},libyaml]
+ >=dev-python/pyyaml-5.4.1[${PYTHON_USEDEP},libyaml(+)]
dev-python/typing-extensions[${PYTHON_USEDEP}]
dev-python/zipp[${PYTHON_USEDEP}]
adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )"
diff --git a/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild b/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..3a90e9763a2d
--- /dev/null
+++ b/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1 optfeature 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 widevine"
+
+RDEPEND="
+ dev-qt/qtcore:5[icu]
+ dev-qt/qtgui:5[png]
+ $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_8)
+ $(python_gen_cond_dep '
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.1[${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-5.4.1[${PYTHON_USEDEP},libyaml(+)]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
+ ')
+ widevine? ( www-plugins/chrome-binary-plugins )"
+BDEPEND="
+ app-text/asciidoc
+ $(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}]
+ )
+ ')"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pyyaml60.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if use widevine; then
+ sed "/yield from _qtwebengine_settings_args/a\ yield '--widevine-path=${EPREFIX}/usr/$(get_libdir)/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so'" \
+ -i ${PN}/config/qtargs.py || die
+ fi
+
+ 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 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
+ # needs qtwebkit and isn't skipped by default
+ tests/unit/config/test_websettings.py::test_config_init
+ # may misbehave depending on installed old python versions
+ tests/unit/misc/test_checkpyver.py::test_old_python
+ )
+ use widevine && EPYTEST_DESELECT+=( tests/unit/config/test_qtargs.py )
+
+ # skip benchmarks (incl. _tree), and warning tests broken by -Wdefault
+ epytest -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
+
+ optfeature "PDF display support" www-plugins/pdfjs
+
+ 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 setup to use yt-dlp or youtube-dl."
+ fi
+}
diff --git a/www-client/qutebrowser/qutebrowser-9999.ebuild b/www-client/qutebrowser/qutebrowser-9999.ebuild
index b9c6a309b372..22d3277e6864 100644
--- a/www-client/qutebrowser/qutebrowser-9999.ebuild
+++ b/www-client/qutebrowser/qutebrowser-9999.ebuild
@@ -3,92 +3,120 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..9} )
-DISTUTILS_USE_SETUPTOOLS="rdepend"
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1 optfeature xdg
-inherit desktop distutils-r1 git-r3 optfeature 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/ https://github.com/qutebrowser/qutebrowser"
-EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+HOMEPAGE="https://www.qutebrowser.org/"
LICENSE="GPL-3+"
SLOT="0"
-IUSE="scripts test"
+IUSE="+adblock widevine"
-BDEPEND="
- app-text/asciidoc"
RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/cssutils[${PYTHON_USEDEP}]
+ dev-qt/qtcore:5[icu]
+ dev-qt/qtgui:5[png]
$(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_8)
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pypeg2[${PYTHON_USEDEP}]
- dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,multimedia,gui,network,opengl,printsupport,sql,widgets]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.4.1[${PYTHON_USEDEP},libyaml]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
-
-# Tests restricted as the deplist (misc/requirements/requirements-tests.txt)
-# isn't complete and X11 is required in order to start up qutebrowser.
-RESTRICT="test"
-
-python_compile() {
- ${EPYTHON} scripts/asciidoc2html.py || die
- distutils-r1_python_compile
+ $(python_gen_cond_dep '
+ >=dev-python/colorama-0.4.4[${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-5.4.1[${PYTHON_USEDEP},libyaml(+)]
+ >=dev-python/typing-extensions-3.10.0.2[${PYTHON_USEDEP}]
+ >=dev-python/zipp-3.6.0[${PYTHON_USEDEP}]
+ adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
+ ')
+ widevine? ( www-plugins/chrome-binary-plugins )"
+BDEPEND="
+ app-text/asciidoc
+ $(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}]
+ )
+ ')"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if use widevine; then
+ sed "/yield from _qtwebengine_settings_args/a\ yield '--widevine-path=${EPREFIX}/usr/$(get_libdir)/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so'" \
+ -i ${PN}/config/qtargs.py || die
+ fi
+
+ 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_compile_all() {
- a2x -f manpage doc/${PN}.1.asciidoc || die "Failed generating man page"
+python_test() {
+ 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
+ # needs qtwebkit and isn't skipped by default
+ tests/unit/config/test_websettings.py::test_config_init
+ # may misbehave depending on installed old python versions
+ tests/unit/misc/test_checkpyver.py::test_old_python
+ )
+ use widevine && EPYTEST_DESELECT+=( tests/unit/config/test_qtargs.py )
+
+ # skip benchmarks (incl. _tree), and warning tests broken by -Wdefault
+ epytest -k 'not _bench and not _matches_tree and not _warning'
}
python_install_all() {
- doman doc/${PN}.1
- domenu misc/org.${PN}.${PN}.desktop
- doicon -s scalable icons/${PN}.svg
-
- if use scripts; then
- insinto /usr/share/qutebrowser/userscripts/
- doins misc/userscripts/README.md
- exeinto /usr/share/qutebrowser/userscripts/
- doexe misc/userscripts/add-nextcloud-bookmarks \
- misc/userscripts/add-nextcloud-cookbook \
- misc/userscripts/cast \
- misc/userscripts/dmenu_qutebrowser \
- misc/userscripts/format_json \
- misc/userscripts/getbib \
- misc/userscripts/kodi \
- misc/userscripts/open_download \
- misc/userscripts/openfeeds \
- misc/userscripts/password_fill \
- misc/userscripts/qr \
- misc/userscripts/qute-bitwarden \
- misc/userscripts/qutedmenu \
- misc/userscripts/qute-keepass \
- misc/userscripts/qute-keepassxc \
- misc/userscripts/qute-lastpass \
- misc/userscripts/qute-pass \
- misc/userscripts/readability \
- misc/userscripts/readability-js \
- misc/userscripts/ripbang \
- misc/userscripts/rss \
- misc/userscripts/taskadd \
- misc/userscripts/tor_identity \
- misc/userscripts/view_in_mpv
- fi
+ emake -f misc/Makefile DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
- distutils-r1_python_install_all
+ 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
optfeature "PDF display support" www-plugins/pdfjs
+
+ 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 setup to use yt-dlp or youtube-dl."
+ fi
}