Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/qutebrowser/
Date: Fri, 15 Oct 2021 15:53:42
Message-Id: 1634312631.68bccf5f15c24ae1af8eaf66425628cb68d976f5.ionen@gentoo
1 commit: 68bccf5f15c24ae1af8eaf66425628cb68d976f5
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Fri Oct 8 21:06:52 2021 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Fri Oct 15 15:43:51 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68bccf5f
7
8 www-client/qutebrowser: simplify, use single impl, tighten deps
9
10 misc/Makefile can do most of the install work (picking scripts,
11 man page, icons, etc...), just need to strip out setup.py to
12 leave this up to the eclass.
13
14 Since this isn't a library, there's little sense in not being
15 single python impl. Additionally use that single impl to fix
16 shebang of /usr/share/qutebrowser extra scripts.
17
18 Two new USE deps:
19 - qtcore:5[icu]: fix TestFileCompletion test (locale issues)
20 - qtgui:5[png]: fix 'Failed to load :/icons/qutebrowser-16x16.png'
21 May have other ill effects if missing, so ensure availability.
22
23 Also added basic postinst elog to warn that shouldn't expect all
24 scripts/userscripts to work as-is due to untracked dependencies.
25 Many are irrelevant to most users (kodi, nextcloud, keepassxc)
26 and do not wish to add more optfeature noise or control with USE.
27
28 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
29
30 www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild | 76 ++++++++++++++++++++++
31 1 file changed, 76 insertions(+)
32
33 diff --git a/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild b/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild
34 new file mode 100644
35 index 00000000000..f5481f420b5
36 --- /dev/null
37 +++ b/www-client/qutebrowser/qutebrowser-2.3.1-r2.ebuild
38 @@ -0,0 +1,76 @@
39 +# Copyright 1999-2021 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=8
43 +
44 +DISTUTILS_SINGLE_IMPL=1
45 +PYTHON_COMPAT=( python3_{8..9} )
46 +inherit distutils-r1 optfeature xdg
47 +
48 +if [[ ${PV} == 9999 ]]; then
49 + inherit git-r3
50 + EGIT_REPO_URI="https://github.com/qutebrowser/qutebrowser.git"
51 +else
52 + SRC_URI="https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz"
53 + KEYWORDS="~amd64 ~arm64 ~x86"
54 +fi
55 +
56 +DESCRIPTION="Keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine"
57 +HOMEPAGE="https://www.qutebrowser.org/"
58 +
59 +LICENSE="GPL-3+"
60 +SLOT="0"
61 +IUSE="+adblock"
62 +# Tests depend (misc/requirements/requirements-tests.txt) on plugins
63 +# we don't have packages for.
64 +RESTRICT="test"
65 +
66 +RDEPEND="
67 + dev-qt/qtcore:5[icu]
68 + dev-qt/qtgui:5[png]
69 + $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_8)
70 + $(python_gen_cond_dep '
71 + >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
72 + >=dev-python/jinja-3.0.1[${PYTHON_USEDEP}]
73 + >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
74 + dev-python/pygments[${PYTHON_USEDEP}]
75 + dev-python/PyQt5[${PYTHON_USEDEP},dbus,declarative,multimedia,gui,network,opengl,printsupport,sql,widgets]
76 + dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
77 + >=dev-python/pyyaml-5.4.1[${PYTHON_USEDEP},libyaml(+)]
78 + dev-python/typing-extensions[${PYTHON_USEDEP}]
79 + dev-python/zipp[${PYTHON_USEDEP}]
80 + adblock? ( dev-python/adblock[${PYTHON_USEDEP}] )
81 + ')"
82 +BDEPEND="app-text/asciidoc"
83 +
84 +distutils_enable_tests pytest
85 +
86 +python_prepare_all() {
87 + distutils-r1_python_prepare_all
88 +
89 + sed -i '/setup.py/d' misc/Makefile || die
90 +
91 + [[ ${PV} != 9999 ]] || ${EPYTHON} scripts/asciidoc2html.py || die
92 +}
93 +
94 +python_install_all() {
95 + emake -f misc/Makefile DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
96 +
97 + rm "${ED}"/usr/share/${PN}/scripts/{mkvenv,utils}.py || die
98 + fperms -x /usr/share/${PN}/{scripts/cycle-inputs.js,userscripts/README.md}
99 + python_fix_shebang "${ED}"/usr/share/${PN}
100 +
101 + einstalldocs
102 +}
103 +
104 +pkg_postinst() {
105 + xdg_pkg_postinst
106 +
107 + optfeature "PDF display support" www-plugins/pdfjs
108 +
109 + if [[ ! ${REPLACING_VERSIONS} ]]; then
110 + elog "Note that optional scripts in ${EROOT}/usr/share/${PN}/{user,}scripts"
111 + elog "have additional dependencies not covered by this ebuild, for example"
112 + elog "view_in_mpv needs media-video/mpv setup to use yt-dlp or youtube-dl."
113 + fi
114 +}