diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-12-15 02:02:03 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-12-15 02:02:03 +0000 |
commit | 16a4365c3b854e62b50726456ddb29bb78fd5038 (patch) | |
tree | 6de11adc70daeb6424485bb16be162d2cb277018 /www-client/qutebrowser | |
parent | 59d772d9463f8cf6a145a677bedbf377a0625aff (diff) |
gentoo auto-resync : 15:12:2024 - 02:02:03
Diffstat (limited to 'www-client/qutebrowser')
-rw-r--r-- | www-client/qutebrowser/Manifest | 3 | ||||
-rw-r--r-- | www-client/qutebrowser/qutebrowser-3.4.0.ebuild | 170 |
2 files changed, 173 insertions, 0 deletions
diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest index 7d7c108c45b2..7689b0589a42 100644 --- a/www-client/qutebrowser/Manifest +++ b/www-client/qutebrowser/Manifest @@ -1,5 +1,8 @@ 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 +DIST qutebrowser-3.4.0.tar.gz 6065180 BLAKE2B fb4b8c7207b9320ce185465f249cdfa430330935cac40ae02d41e583d7f41da4deb2ac24489cf8c76473468706c8d812eceb7b24c4a430767b758615703b7e57 SHA512 9f056012e53a75c06cf2a6f113dd9ce53d1052250c4fdaa969586b182ec1b36ed077b1a140f10c779e8ae5eb0df69b7d3d466bbf14a21c433a84c9d621f53f96 +DIST qutebrowser-3.4.0.tar.gz.asc 659 BLAKE2B 4e9438d9b3b33e2fc61dca1e264cf83b09e77cdb6fcaebe779347097ab4be064f2c1cd18cb59e23e959dc65da94cca578da2adc909c6f0e05b6e6304db25b23b SHA512 6fe8276f2873334dc433c7eeef96c36158a301b53a7bd3f0e670ec539e6c41d47c7c3d4979e590627fb9bf5656ce568bfb1231cab6485e7ca0d761b063b747d7 EBUILD qutebrowser-3.3.1.ebuild 6021 BLAKE2B b265a10125de6ac7410fc7d1d9fac7ea1ae137e3b332e8cc0d651d9f48d2b59593c8e153713c6889a724837ced1e50c81ee5151ec2697b7de3e76de8af0fa9bc SHA512 450f0f7e767c52da78fb6646c657258b19645aac94e5d76a2df76fdaf3a78be5d52197ee1f066a81b011274d2c624831d8fb75da69e41b8c10189572dc70932f +EBUILD qutebrowser-3.4.0.ebuild 5426 BLAKE2B 37fd71e453d73a4f669733df88444e9430ef00371a0471574ec58ef992d49f080a701e59e622a6b3fcad670fd1feb4ded5c591f2fd3a0db992be55cdc85dca68 SHA512 eb60abd46b10890fa6ef8a7b9d35ab290d2e85ed9723930bfcd3069bcb5fbda94aaa6fa84a9c4ffed35f1029ac271ce27bc2bc8f26ba3e17f7663c78acd2b5bf EBUILD qutebrowser-9999.ebuild 5426 BLAKE2B 37fd71e453d73a4f669733df88444e9430ef00371a0471574ec58ef992d49f080a701e59e622a6b3fcad670fd1feb4ded5c591f2fd3a0db992be55cdc85dca68 SHA512 eb60abd46b10890fa6ef8a7b9d35ab290d2e85ed9723930bfcd3069bcb5fbda94aaa6fa84a9c4ffed35f1029ac271ce27bc2bc8f26ba3e17f7663c78acd2b5bf MISC metadata.xml 945 BLAKE2B e796d777d56a5452b6652d77e011dfb160684f6e7498d0c4fad583bb828ecd111c25be5d80ed906b9b579e6ccd33315fc20a727342df0fb1b66b1a71effcea25 SHA512 80a65a391a84208042d9e7a6e0b5e8644ed07d5e389cd6a7b314b961dca5cff6406c5556693b34dcd275acfb27d05d9e40f77e9d503f9e3e8054ab6b6763932d diff --git a/www-client/qutebrowser/qutebrowser-3.4.0.ebuild b/www-client/qutebrowser/qutebrowser-3.4.0.ebuild new file mode 100644 index 000000000000..90fc7f7f9ab6 --- /dev/null +++ b/www-client/qutebrowser/qutebrowser-3.4.0.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 +PYTHON_COMPAT=( python3_{10..13} ) +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/jinja2[${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/pillow[${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 +} |