diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-13 04:04:07 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-13 04:04:07 +0100 |
commit | 7b5306e0d287565138e8b051e32f57e6af6ae0ed (patch) | |
tree | 7e232eacc1f02fc6abb1c416458b5a564d0e295f /www-client/qutebrowser | |
parent | 3980ecf15e6202ac2f2015045b549600e709b721 (diff) |
gentoo auto-resync : 13:10:2024 - 04:04:06
Diffstat (limited to 'www-client/qutebrowser')
-rw-r--r-- | www-client/qutebrowser/Manifest | 3 | ||||
-rw-r--r-- | www-client/qutebrowser/qutebrowser-3.3.1.ebuild | 170 |
2 files changed, 173 insertions, 0 deletions
diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest index 13fb16255c78..6b9e5920c75b 100644 --- a/www-client/qutebrowser/Manifest +++ b/www-client/qutebrowser/Manifest @@ -1,5 +1,8 @@ DIST qutebrowser-3.2.1.tar.gz 6054942 BLAKE2B 7ddae7333b3ae906adc7811e0e383bb384c2105c59db935b96d165653f9570a249f3fedf9ad98f33d1ae7bd19f8637a3e1ed885f88aa724f4ceb61da4b8046a9 SHA512 753f053a157271806e273b667b656d64277d10d012d6940c5e023125e1f8fab151a32cf4defafe167141fe31461e6bf178d01b2d842f7252fd7405729a0edc68 DIST qutebrowser-3.2.1.tar.gz.asc 659 BLAKE2B d37b81d4dd6b662522c48e4704f2e09d24e4cf87f6ec92389ff841bc80a362a51cac4c7ee1a41d83b4994b2060ea64a57af4220293e93033840838c650a17310 SHA512 9fb75c016ea200735d749f9bfe9c0e85df68a9cc616bd1331e977fe13226baf020a3b09ed37b696511e6668e2e221f15d0cf3731e7070f32fd9da29e8ebef59d +DIST qutebrowser-3.3.1.tar.gz 6059431 BLAKE2B 287946f3a6c4e0585f8e1659aa99e771aba21002187cbedeb07ee27d0e9ed69a685b78eeeda25d78e2286cbfb96377bc1c63c582f7f9d6ff79560245afc9f702 SHA512 7d95620f8e5c30f44e21c5644364a41500ca7c568fcd90f67efab9657346ee9c31a7322f6b574bfb6f68e0e4a80f37395b4b567268ca2df183af3db798c64f84 +DIST qutebrowser-3.3.1.tar.gz.asc 659 BLAKE2B 34a0e258d3dd068261fcedeca9897a9529d313781b4dd1eefcc9aefebf9ae52be67b51a958cd39bd73bfaf2fca76f09a6c5238f5cb606e11bdb4940c88e229c3 SHA512 e4bf7ddd31101a856a6f76555b6fbd26d05591e63238c9dd149abe967b153d1ba0b07dca30c2510dc3cabf52805161e3ca7ff120f0c71ff8f68c1b70f96626bb EBUILD qutebrowser-3.2.1.ebuild 5450 BLAKE2B 1aa282856a520e0a1c3caf198d359147588be891e600282b6c5c8d389cc4017dbca77e1a86abc590d9039e17d5790c39d811fe6fbdd4e33f3b932fd24a2ef52c SHA512 ece5cef7d3a9a2251a47944f979e0ef5451a6be7f5973930a96ee62b83e395eae813bd0ff35f293a8793564ca7cdef8bc1eff36e7ab3573587538bd7c97ac476 +EBUILD qutebrowser-3.3.1.ebuild 5451 BLAKE2B c8b8cecd601a3985592a56cc513c9e3dcc54807cf29810986551f2815292acbaf8daeb2e8905ab56af6dc5ba31f33e49fe24201629b79f255c7ca57cbf03b794 SHA512 9f1eae6e62b1e5ca197a120863ae0725000a3e9e33fdace87fdf553b558be78113dd9f446bde86e07886704ab95bf5ef3458f1fdff89733e6f3c48df8a7c23b1 EBUILD qutebrowser-9999.ebuild 5451 BLAKE2B c8b8cecd601a3985592a56cc513c9e3dcc54807cf29810986551f2815292acbaf8daeb2e8905ab56af6dc5ba31f33e49fe24201629b79f255c7ca57cbf03b794 SHA512 9f1eae6e62b1e5ca197a120863ae0725000a3e9e33fdace87fdf553b558be78113dd9f446bde86e07886704ab95bf5ef3458f1fdff89733e6f3c48df8a7c23b1 MISC metadata.xml 945 BLAKE2B e796d777d56a5452b6652d77e011dfb160684f6e7498d0c4fad583bb828ecd111c25be5d80ed906b9b579e6ccd33315fc20a727342df0fb1b66b1a71effcea25 SHA512 80a65a391a84208042d9e7a6e0b5e8644ed07d5e389cd6a7b314b961dca5cff6406c5556693b34dcd275acfb27d05d9e40f77e9d503f9e3e8054ab6b6763932d diff --git a/www-client/qutebrowser/qutebrowser-3.3.1.ebuild b/www-client/qutebrowser/qutebrowser-3.3.1.ebuild new file mode 100644 index 000000000000..8d8a36382b17 --- /dev/null +++ b/www-client/qutebrowser/qutebrowser-3.3.1.ebuild @@ -0,0 +1,170 @@ +# 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 +# py3.13: https://github.com/qutebrowser/qutebrowser/issues/8205 +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 + # skip unnecessary (for us) pytest plugins, and ignore Qt's + # warnings that tend to newly appear with new versions + sed -e '/pytest-benchmark/d' -e 's/--benchmark[^ ]*//' \ + -e '/pytest-instafail/d' -e 's/--instafail//' \ + -e '/qt_log_level_fail/s/WARNING/CRITICAL/' \ + -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\] + # may fail if chromium version is unrecognized (aka newer qtwebengine) + tests/unit/utils/test_version.py + ) + + 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 +} |