public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/qutebrowser/
Date: Mon,  3 Jun 2024 19:27:09 +0000 (UTC)	[thread overview]
Message-ID: <1717442467.50cf99524c80245ed31e6f5f9ee355100552bba1.ionen@gentoo> (raw)

commit:     50cf99524c80245ed31e6f5f9ee355100552bba1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  3 19:11:04 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun  3 19:21:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50cf9952

www-client/qutebrowser: add 3.2.0

Note that the Qt5 support had been dropped in the live ebuild
a while ago, and this is the first keyworded ebuild with that
change.

Upstream still support Qt5 (albeit discouraged), but seeing little
reason to keep supporting it here when we have working Qt6. Many
sites are broken with old qtwebengine:5 and, even with backports,
it is a security hazard.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 www-client/qutebrowser/Manifest                 |   2 +
 www-client/qutebrowser/qutebrowser-3.2.0.ebuild | 167 ++++++++++++++++++++++++
 2 files changed, 169 insertions(+)

diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest
index 02e1b0c83623..908813e7eb50 100644
--- a/www-client/qutebrowser/Manifest
+++ b/www-client/qutebrowser/Manifest
@@ -1,2 +1,4 @@
 DIST qutebrowser-3.1.0.tar.gz 6045747 BLAKE2B d0cca696dd85bb99b8514331a392e1cb54fcbeff32fcf13e058739ef5a20ef1725980fbabef187a226f1cc29be9943784ba1f93275047586827922c3e98d0a64 SHA512 79dff3cf4ff93c75150e5cb9ada835ed5faf0343f03854266c6138fb8e6cceb921c868e1e408432da61b85ebe37e7e1657f634771ff73f1395d1b6e169138d98
 DIST qutebrowser-3.1.0.tar.gz.asc 659 BLAKE2B 023916e83cf2ac084f013ad750acf1ddb02a146197e92f703a96c54bceafcabf9d09a398c43e1679d0e425d54f13726c576c1b2e13707888e097952abef9797b SHA512 f89369b0c61852c0ee22a476fcce0c8fc236920a2c6fbcfb945e010275650bdd133b6714ec2b64c1156789eb3f6f897cbf9a31441e913afcf9f19ea3113611f7
+DIST qutebrowser-3.2.0.tar.gz 6054386 BLAKE2B 3f0589dbbc2dc34c4138bc7ea33ea090a6aff4abe087e7b80f0294789a252924fb90b2b0229e1513c96e863a612bf26579b6e895bc0b9b553c1b7439361ee589 SHA512 85980ccbb1982ecfb142a4e3fc0a66b8ac88f73c394a6c936b8f1a541ea30a65ee576abd7e202ac50fd943c85457d75b5ccac7d51ea34ff1b0f7eb8a647aa18d
+DIST qutebrowser-3.2.0.tar.gz.asc 659 BLAKE2B 33d88c2d4020535616ee5d8ed8e517aabf24433ab9d712f12aa1f138398a60807a14383d300245ee7873ed027445034ced9c61ce52a54518a2cc240a01f2649f SHA512 895e6d585f4d1d7373544d763663412136ef4b397565ddac24c1bcf16c75e96c8110cc8dea6fa8457799b893a2e3d2fca8979875b8e8423f270a70100d6e57db

diff --git a/www-client/qutebrowser/qutebrowser-3.2.0.ebuild b/www-client/qutebrowser/qutebrowser-3.2.0.ebuild
new file mode 100644
index 000000000000..e0f7bb2a94cd
--- /dev/null
+++ b/www-client/qutebrowser/qutebrowser-3.2.0.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2024 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_{10..12} )
+inherit distutils-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/qutebrowser/qutebrowser.git"
+else
+	inherit verify-sig
+	SRC_URI="
+		https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz
+		verify-sig? ( https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz.asc )
+	"
+	VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/qutebrowser.gpg
+	KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Keyboard-driven, vim-like browser based on Python and Qt"
+HOMEPAGE="https://qutebrowser.org/"
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="+adblock pdf widevine"
+
+RDEPEND="
+	$(python_gen_cond_dep '
+		dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets]
+		dev-python/PyQt6[${PYTHON_USEDEP},dbus,gui,network,opengl,printsupport,qml,sql,widgets]
+		dev-python/colorama[${PYTHON_USEDEP}]
+		dev-python/jinja[${PYTHON_USEDEP}]
+		dev-python/markupsafe[${PYTHON_USEDEP}]
+		dev-python/pygments[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/zipp[${PYTHON_USEDEP}]
+		dev-qt/qtbase:6[icu,sqlite]
+		adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
+		pdf? ( www-plugins/pdfjs )
+		widevine? ( www-plugins/chrome-binary-plugins )
+	')
+"
+BDEPEND="
+	$(python_gen_cond_dep '
+		test? (
+			dev-python/PyQt6[testlib]
+			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}]
+		)
+	')
+"
+
+if [[ ${PV} == 9999 ]]; then
+	BDEPEND+=" app-text/asciidoc"
+else
+	BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-qutebrowser )"
+fi
+
+distutils_enable_tests pytest
+
+src_prepare() {
+	distutils-r1_src_prepare
+
+	if use pdf; then
+		# does not hurt to enable by default if it was explicitly requested
+		sed -e '/^content.pdfjs:/,+1s/false/true/' \
+			-i ${PN}/config/configdata.yml || die
+	fi
+
+	# 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
+
+	if use test; then
+		# unnecessary here, and would require extra deps
+		sed -e '/pytest-benchmark/d' -e 's/--benchmark[^ ]*//' \
+			-e '/pytest-instafail/d' -e 's/--instafail//' \
+			-i pytest.ini || die
+
+		if [[ ${PV} == 9999 ]]; then
+			# likewise, needs vulture
+			rm tests/unit/scripts/test_run_vulture.py || die
+		else
+			# https://github.com/qutebrowser/qutebrowser/issues/7620
+			rm tests/unit/scripts/test_problemmatchers.py || die
+		fi
+	fi
+}
+
+python_test() {
+	local -x PYTEST_QT_API=pyqt6
+
+	local EPYTEST_DESELECT=(
+		# end2end/IPC tests are broken with "Name error" if socket path is over
+		# ~108 characters (>124 in /var/tmp/portage) due to Linux limitations,
+		# skip rather than bother using /tmp+cleanup over ${T} (end2end tests
+		# are important, but the other tests should be enough for downstream)
+		tests/end2end
+		tests/unit/misc/test_ipc.py
+		# python eclasses provide a fake "failing" python2 and trips this test
+		tests/unit/misc/test_checkpyver.py::test_old_python
+		# not worth running dbus over
+		tests/unit/browser/test_notification.py::TestDBus
+		# fails in ebuild, seems due to saving fake downloads in the wrong location
+		tests/unit/browser/webengine/test_webenginedownloads.py::TestDataUrlWorkaround
+		# may fail if environment is very large (bug #819393)
+		tests/unit/commands/test_userscripts.py::test_custom_env\[_POSIXUserscriptRunner\]
+		# fails if chromium version is unrecognized (aka newer qtwebengine)
+		tests/unit/utils/test_version.py::TestWebEngineVersions::test_real_chromium_version
+	)
+
+	local epytestargs=(
+		# prefer pytest-xvfb over virtx given same upstream and is expected
+		-p xvfb
+		# skip warning tests broken by -Wdefault, and benchmarks
+		-k 'not _bench and not _matches_tree and not _warning'
+		# override eclass' settings, tempdirs are re-used by Qt
+		-o tmp_path_retention_policy=all
+	)
+
+	epytest "${epytestargs[@]}"
+}
+
+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
+
+	if has_version 'dev-qt/qtwebengine:6[bindist]'; then
+		ewarn
+		ewarn "USE=bindist is set on dev-qt/qtwebengine, be warned that this"
+		ewarn "will prevent playback of proprietary media formats (e.g. h264)."
+	fi
+}


             reply	other threads:[~2024-06-03 19:27 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-03 19:27 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-15  2:31 [gentoo-commits] repo/gentoo:master commit in: www-client/qutebrowser/ Ionen Wolkens
2024-11-15  2:23 Ionen Wolkens
2024-11-13 10:16 Ionen Wolkens
2024-11-13 10:04 Ionen Wolkens
2024-11-13 10:04 Ionen Wolkens
2024-11-04 16:15 Ionen Wolkens
2024-10-23  7:13 Joonas Niilola
2024-10-12 21:14 Ionen Wolkens
2024-09-03 12:31 Ionen Wolkens
2024-09-03 12:31 Ionen Wolkens
2024-07-05 14:03 Arthur Zamarin
2024-06-25 16:36 Ionen Wolkens
2024-06-24  8:21 Joonas Niilola
2024-06-18 18:14 Ionen Wolkens
2024-06-03 19:27 Ionen Wolkens
2024-04-15  1:17 Ionen Wolkens
2024-03-27 11:01 Ionen Wolkens
2024-03-27 11:01 Ionen Wolkens
2024-02-09  9:09 Ionen Wolkens
2024-01-09 14:08 Ionen Wolkens
2024-01-08 23:03 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2023-12-16 12:06 Ionen Wolkens
2023-12-08 15:55 Ionen Wolkens
2023-11-30 11:52 Ionen Wolkens
2023-11-27  8:47 Ionen Wolkens
2023-11-06 14:07 Ionen Wolkens
2023-11-01 14:03 Ionen Wolkens
2023-10-20  1:15 Ionen Wolkens
2023-10-10 20:20 Ionen Wolkens
2023-09-17  1:59 Ionen Wolkens
2023-09-15  6:08 Ionen Wolkens
2023-08-21 16:08 Ionen Wolkens
2023-08-18 20:10 Ionen Wolkens
2023-08-18 19:51 Ionen Wolkens
2023-08-18 14:34 Ionen Wolkens
2023-08-18 14:34 Ionen Wolkens
2023-08-18 14:34 Ionen Wolkens
2023-08-17  0:21 Ionen Wolkens
2023-07-25  0:10 Ionen Wolkens
2023-07-23 16:07 Ionen Wolkens
2023-07-22 12:28 Ionen Wolkens
2023-03-18 23:22 Ionen Wolkens
2023-03-18 23:22 Ionen Wolkens
2023-03-18 23:22 Ionen Wolkens
2023-03-14  5:18 Ionen Wolkens
2023-03-11 14:09 Ionen Wolkens
2023-03-11 14:09 Ionen Wolkens
2023-03-09 20:13 Ionen Wolkens
2023-03-05 16:05 Ionen Wolkens
2023-02-17 22:58 Ionen Wolkens
2023-02-17 22:58 Ionen Wolkens
2023-01-20 22:48 Ionen Wolkens
2023-01-14 12:07 Ionen Wolkens
2022-12-17 11:45 Ionen Wolkens
2022-11-04  4:14 Ionen Wolkens
2022-09-07  7:51 Michał Górny
2022-08-17 15:48 Ionen Wolkens
2022-08-03  0:22 Ionen Wolkens
2022-07-20  6:47 Ionen Wolkens
2022-07-12 22:19 Ionen Wolkens
2022-07-11 22:57 Ionen Wolkens
2022-07-07  4:39 Ionen Wolkens
2022-06-22 18:26 Ionen Wolkens
2022-06-22 18:26 Ionen Wolkens
2022-06-18  9:31 Ionen Wolkens
2022-06-16 13:16 Ionen Wolkens
2022-06-11 13:18 Ionen Wolkens
2022-06-09  3:50 Ionen Wolkens
2022-05-26 15:00 Ionen Wolkens
2022-05-26 15:00 Ionen Wolkens
2022-04-29 11:23 Ionen Wolkens
2022-04-21  4:41 Ionen Wolkens
2022-04-01 17:46 Ionen Wolkens
2022-01-20 18:10 Ionen Wolkens
2021-11-21  2:38 Ionen Wolkens
2021-11-21  2:38 Ionen Wolkens
2021-11-21  2:38 Ionen Wolkens
2021-10-22 14:35 Agostino Sarubbo
2021-10-22  7:26 Ionen Wolkens
2021-10-21 21:11 Ionen Wolkens
2021-10-21 21:11 Ionen Wolkens
2021-10-21 21:11 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-15 15:53 Ionen Wolkens
2021-10-14 10:00 Michał Górny
2021-09-21  6:33 Ionen Wolkens
2021-09-21  6:33 Ionen Wolkens
2021-09-21  6:33 Ionen Wolkens
2021-06-30  2:05 Stefan Strogin
2021-06-18 11:40 Stefan Strogin
2021-06-18 11:40 Stefan Strogin
2021-05-22 15:28 Stefan Strogin
2021-05-22  2:40 Stefan Strogin
2021-04-27 10:54 Stefan Strogin
2021-04-22 22:30 Stefan Strogin
2021-04-08  2:33 Stefan Strogin
2021-04-08  1:31 Stefan Strogin
2021-03-20  8:25 Joonas Niilola
2021-03-12 23:45 Stefan Strogin
2021-03-12 14:50 Joonas Niilola
2021-02-15 19:12 Stefan Strogin
2021-01-06 12:48 Stefan Strogin
2021-01-06  9:41 Stefan Strogin
2020-12-24  8:48 Michał Górny
2020-12-06  0:48 Stefan Strogin
2020-12-06  0:48 Stefan Strogin
2020-10-17 23:25 Stefan Strogin
2020-10-17 23:25 Stefan Strogin
2020-09-07  8:55 David Seifert
2020-08-30 16:08 Sam James
2020-08-12  2:21 Stefan Strogin
2020-08-12  2:08 Stefan Strogin
2020-07-09 17:16 Stefan Strogin
2020-07-09 17:16 Stefan Strogin
2020-06-11  2:21 Stefan Strogin
2020-05-12 13:57 Joonas Niilola
2020-05-12 13:57 Joonas Niilola
2020-05-12 13:57 Joonas Niilola
2020-02-28  5:37 Joonas Niilola
2020-02-28  5:37 Joonas Niilola
2020-02-28  5:37 Joonas Niilola
2020-02-28  5:37 Joonas Niilola
2020-02-28  5:37 Joonas Niilola
2020-01-03  9:15 Joonas Niilola
2019-12-27 21:32 Sebastian Pipping
2019-12-10 17:25 Joonas Niilola
2019-12-10 17:25 Joonas Niilola
2019-12-10 17:25 Joonas Niilola
2019-12-10 17:25 Joonas Niilola
2019-12-10 17:25 Joonas Niilola
2019-11-17 22:10 Tim Harder
2019-09-04 14:21 Justin Bronder
2019-07-18 22:22 Justin Bronder
2019-06-18 17:24 Justin Bronder
2019-05-25  3:32 Justin Bronder
2019-04-09 21:41 Justin Bronder
2019-03-20 18:18 Justin Bronder
2019-03-11 14:11 Justin Bronder
2019-02-26 18:40 Justin Bronder
2019-02-26  2:27 Justin Bronder
2019-02-26  2:22 Justin Bronder
2019-02-26  2:17 Justin Bronder
2019-01-31  2:44 Justin Bronder
2019-01-31  2:43 Justin Bronder
2018-10-29 15:03 Justin Bronder
2018-10-10 15:08 Justin Bronder
2018-10-10 15:08 Justin Bronder
2018-10-04 16:11 Justin Bronder
2018-09-03  2:28 Justin Bronder
2018-07-11 15:23 Justin Bronder
2018-07-03 19:38 Justin Bronder
2018-06-22 14:21 Justin Bronder
2018-06-11 14:31 Justin Bronder
2018-05-29 14:37 Justin Bronder
2018-05-04 15:07 Justin Bronder
2018-03-19 14:23 Justin Bronder
2018-03-12 14:29 Justin Bronder
2018-01-24 15:35 Justin Bronder
2018-01-16 16:17 Justin Bronder
2017-11-28 13:00 Justin Bronder
2017-11-04 23:17 Justin Bronder
2017-11-04 23:17 Justin Bronder
2017-10-29 16:31 Justin Bronder
2017-10-26 21:02 Justin Bronder
2017-10-26 17:59 Justin Bronder
2017-10-26 17:44 Justin Bronder
2017-10-26 17:44 Justin Bronder
2017-10-26 17:44 Justin Bronder
2017-10-26 17:44 Justin Bronder
2017-07-14 21:03 Michał Górny
2017-05-29 13:37 Patrice Clement
2017-04-12 21:06 Michał Górny
2017-01-16 18:46 Tim Harder
2017-01-15 17:21 Patrice Clement
2016-12-09  8:34 Tim Harder
2016-11-12  5:03 Tim Harder
2016-08-06  2:18 Tim Harder
2016-07-12 17:55 Tim Harder
2016-07-12 17:55 Tim Harder
2016-05-05  5:33 Tim Harder
2016-04-12  3:14 Tim Harder
2016-04-09  2:15 Tim Harder
2016-03-15  7:38 Tim Harder
2016-03-11  3:15 Tim Harder
2015-10-26 13:38 Ian Delaney
2015-10-26  9:08 Ian Delaney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1717442467.50cf99524c80245ed31e6f5f9ee355100552bba1.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox