From 3652885475bb4bf8de9f4f8e06553d5dbd4dd03d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 2 Dec 2023 22:56:13 +0000 Subject: gentoo auto-resync : 02:12:2023 - 22:56:13 --- x11-wm/qtile/Manifest | 4 +- x11-wm/qtile/files/qtile-0.23.0-keyring.patch | 52 ++++++++++++ x11-wm/qtile/qtile-0.23.0.ebuild | 113 ++++++++++++++++++++++++++ x11-wm/qtile/qtile-9999.ebuild | 103 ----------------------- 4 files changed, 168 insertions(+), 104 deletions(-) create mode 100644 x11-wm/qtile/files/qtile-0.23.0-keyring.patch create mode 100644 x11-wm/qtile/qtile-0.23.0.ebuild delete mode 100644 x11-wm/qtile/qtile-9999.ebuild (limited to 'x11-wm/qtile') diff --git a/x11-wm/qtile/Manifest b/x11-wm/qtile/Manifest index a4b606265bbd..81fa0f7e929c 100644 --- a/x11-wm/qtile/Manifest +++ b/x11-wm/qtile/Manifest @@ -1,5 +1,7 @@ +AUX qtile-0.23.0-keyring.patch 1974 BLAKE2B 9184942042daf256fa746ccd2f1ce820538c6a8a136e2ebdfc2604d68fd62fb15fb491a225ee4952a9d83a696e2fa740ccbd4cbb3f8d5d4a7cc69daa42c57c34 SHA512 5df4557c316993c8aa16a82f570bb4dbf375389663f9cff928dc4d3e73ccf581487be0b428d10d98cbeef28e94737b6d305b7f5f28cbc3481ef39e68e10cb482 AUX qtile-session-r1 1860 BLAKE2B fb9345d3acc5e0fc5694065f12e2759e02aebc765925cb0ffcb1a776ec82e959503d8a8039238e4e48a5045a3118f2e37201a88d5255fd0a0782d2f8291d8a77 SHA512 41b37ba034b5dd7f3126142d2cfc5cf8986b521fc419d47e420582fc8b516df87249bd8e14c12d77691b93205ec3cd1249bfa040ef0691e0751c669f742570ee DIST qtile-0.22.1.tar.gz 488969 BLAKE2B 3b2fce587ae39570997b503cb386314160dbefa39b1ef65dc2ff5bc2f1167251224a0f298ef8e374d0d4c034d1e5012251f96b92ce5cb74d7fd93320e14ff8bf SHA512 944ec27b5d227154624fa2a15a0840b748307a1e79ab52ccf3384763111459b3c4d26b4677f8e2ea51634206dc6d1e32e057e057db917b3705ce583d83a8056d +DIST qtile-0.23.0.tar.gz 524536 BLAKE2B 9cf5b0cdffd7bc95ab7649827c221b20718f9dcc19b8ae2a50ceac5df3d71b117eef493a40523d81e60c8bc54b2103bc2a93775fcb20c025ec1dd84f9d809a19 SHA512 d6886df8efefacf90b1a5ec487c9a5a90414593900159213a218d638ef4f018b69284fe2cea707da12655a9736aad3df74a338a60344536e4d7eebcc9fc1090b EBUILD qtile-0.22.1-r2.ebuild 2802 BLAKE2B e9128ba74ce01cc3b4c27e211a73bc7caac33a254732d48c45a0fa9228be1c6ee29a53c327b27c617323f2efda2d94426479fbf609a07841d004dfe2b9e47ed3 SHA512 28180708c14d4834498bc4d61833d1b74f79cadf9e47af206464bb3bdc6ecc7b6f69061373c8a97dac0a111d1ff49cc297dcf02286d295189556907e8684253e -EBUILD qtile-9999.ebuild 2463 BLAKE2B e9fe5a84725438469a9e4174ef8aee84ec44e963bc0292c69cbd278e8ef2eeebab03ff4342ef8e410f3d4e63e49ee6cdb60f798a3e68015965419cf906ed4e21 SHA512 5aa9ff4b659fffbb6f9a769e55dfa116aa6e998a0191dba7a6045eb7eb5fb4cd282e63698fd0d06a756b19c558d9529ef5fb43074557b517fbce4182eb04e658 +EBUILD qtile-0.23.0.ebuild 2554 BLAKE2B 82cf05753fae4556a31cde05fcda8ba033c21216d272b1ecef4a6bc6ed3d070bdef3e2d3acede428f71873c793ee01b2f5d0fe08a95bf3a59b9bd171fdac8986 SHA512 6f01e0df1fcf8a83287369a0ee22133baf35964c8ef64f342c1d9dea6056ac1c2824454ff769b9f124f276d6e09472b4367bdaa0e7b859454a2d48c9e9b9dd2f MISC metadata.xml 287 BLAKE2B 0915dcbde45e698bc8a59ea2cfca042bf97b48aea6869afc6ec38884ccf265c355494394d1b16185f71194d15de767ee241cfaa68613ad44f0ad013ff16247c0 SHA512 36e7f57300825bd68e1572f03c812d9608181d4177ad1b7c5e9a9c4e6f768faa26ecadb7cc81d8562ea82e5e9682ae0374fc07a67eb55c9b5eed7765591493af diff --git a/x11-wm/qtile/files/qtile-0.23.0-keyring.patch b/x11-wm/qtile/files/qtile-0.23.0-keyring.patch new file mode 100644 index 000000000000..c4a44efd8791 --- /dev/null +++ b/x11-wm/qtile/files/qtile-0.23.0-keyring.patch @@ -0,0 +1,52 @@ +From 84eaf6b70f9569c88534dc8054e19f05fa3137e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 2 Dec 2023 17:40:50 +0100 +Subject: [PATCH] imapwidget: Do not pass None as username to + keyring.get_password() + +Ensure not to pass `None` as the username to `keyring.get_password()`, +as the API requires it to always be a `str` and some backends +(particularly `keyrings-alt`) crash on `None`. + +Fixes #4609 +--- + libqtile/widget/imapwidget.py | 3 +++ + test/widgets/test_widget_init_configure.py | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/libqtile/widget/imapwidget.py b/libqtile/widget/imapwidget.py +index 3f84d9e7..c8a6ec0e 100644 +--- a/libqtile/widget/imapwidget.py ++++ b/libqtile/widget/imapwidget.py +@@ -24,6 +24,7 @@ import re + + import keyring + ++from libqtile.confreader import ConfigError + from libqtile.log_utils import logger + from libqtile.widget import base + +@@ -75,6 +76,8 @@ class ImapWidget(base.ThreadPoolText): + def __init__(self, **config): + base.ThreadPoolText.__init__(self, "", **config) + self.add_defaults(ImapWidget.defaults) ++ if self.user is None: ++ raise ConfigError("You must set the 'user' parameter for the IMAP widget.") + password = keyring.get_password("imapwidget", self.user) + if password is not None: + self.password = password +diff --git a/test/widgets/test_widget_init_configure.py b/test/widgets/test_widget_init_configure.py +index 83a9cb9a..aa7a1f9b 100644 +--- a/test/widgets/test_widget_init_configure.py ++++ b/test/widgets/test_widget_init_configure.py +@@ -58,6 +58,7 @@ extras = [ + + # To skip a test entirely, list the widget class here + no_test = [widgets.Mirror, widgets.PulseVolume] # Mirror requires a reflection object ++no_test += [widgets.ImapWidget] # Requires a configured username + + # To test a widget only under one backend, list the widget class here + exclusive_backend = { +-- +2.43.0 + diff --git a/x11-wm/qtile/qtile-0.23.0.ebuild b/x11-wm/qtile/qtile-0.23.0.ebuild new file mode 100644 index 000000000000..363086be9131 --- /dev/null +++ b/x11-wm/qtile/qtile-0.23.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A full-featured, hackable tiling window manager written in Python" +HOMEPAGE=" + https://qtile.org/ + https://github.com/qtile/qtile/ + https://pypi.org/project/qtile/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="pulseaudio wayland" + +RDEPEND=" + >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}] + >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] + dev-python/dbus-next[${PYTHON_USEDEP}] + dev-python/pygobject[${PYTHON_USEDEP}] + >=dev-python/six-1.4.1[${PYTHON_USEDEP}] + >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}] + x11-libs/cairo[X,xcb(+)] + x11-libs/libnotify[introspection] + x11-libs/pango + pulseaudio? ( + dev-python/pulsectl-asyncio[${PYTHON_USEDEP}] + media-sound/pulseaudio + ) + wayland? ( + >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + media-gfx/imagemagick[X] + x11-base/xorg-server[xephyr] + ) + wayland? ( + >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + local PATCHES=( + # https://github.com/qtile/qtile/pull/4610 + "${FILESDIR}/${P}-keyring.patch" + ) + + sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \ + -i setup.py || die + + # some tests expect bin/qtile + mkdir bin || die + cat >> bin/qtile <<-EOF || die + #!/bin/sh + exec qtile "\${@}" + EOF + chmod +x bin/qtile || die + + distutils-r1_python_prepare_all +} + +src_compile() { + local -x CFFI_TMPDIR=${T} + distutils-r1_src_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # mocking doesn't seem to work + test/widgets/test_mpd2widget.py + # checks fail with mypy errors + test/test_check.py + # migration tests require intact source tree + test/test_migrate.py + # no clue ("ExistingWMException") + test/test_restart.py::test_restart_hook_and_state + ) + + # force usage of built module + rm -rf libqtile || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') || + die -n "Tests failed with ${EPYTHON}" +} + +python_install_all() { + local DOCS=( CHANGELOG README.rst ) + distutils-r1_python_install_all + + insinto /usr/share/xsessions + doins resources/qtile.desktop + + insinto /usr/share/wayland-sessions + doins resources/qtile-wayland.desktop + + exeinto /etc/X11/Sessions + newexe "${FILESDIR}"/${PN}-session-r1 ${PN} +} diff --git a/x11-wm/qtile/qtile-9999.ebuild b/x11-wm/qtile/qtile-9999.ebuild deleted file mode 100644 index bd2ccd075af4..000000000000 --- a/x11-wm/qtile/qtile-9999.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="A full-featured, hackable tiling window manager written in Python" -HOMEPAGE="http://www.qtile.org/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/qtile/qtile.git" -else - inherit pypi - KEYWORDS="~amd64 ~riscv ~x86" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="pulseaudio wayland" - -RDEPEND=" - >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}] - >=dev-python/cffi-1.1.0[${PYTHON_USEDEP}] - dev-python/dbus-next[${PYTHON_USEDEP}] - dev-python/pygobject[${PYTHON_USEDEP}] - >=dev-python/six-1.4.1[${PYTHON_USEDEP}] - >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}] - x11-libs/cairo[X,xcb(+)] - x11-libs/libnotify[introspection] - x11-libs/pango - pulseaudio? ( media-libs/libpulse ) - wayland? ( dev-python/pywlroots[${PYTHON_USEDEP}] ) -" -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - media-gfx/imagemagick[X] - x11-base/xorg-server[xephyr] - ) -" - -EPYTEST_DESELECT=( - # Can't find built qtile like migrate - test/test_qtile_cmd.py::test_qtile_cmd - test/test_qtile_cmd.py::test_display_kb -) - -EPYTEST_IGNORE=( - # Tries to find binary and fails; not worth running anyway? - test/test_migrate.py -) - -distutils_enable_tests pytest - -python_prepare_all() { - # Avoid automagic dependency on libpulse - if ! use pulseaudio ; then - sed -i -e 's/call("libpulse", "--libs")/raise PkgConfigError/' setup.py || die - fi - - # Avoid automagic dependency on pywlroots - if ! use wayland ; then - sed -i -e 's/import wlroots.ffi_build/raise ImportError/' setup.py || die - fi - - distutils-r1_python_prepare_all -} - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - # Force usage of built module - rm -rf "${S}"/libqtile || die - - # TODO: remove "-p no:xdist" for next release when https://github.com/qtile/qtile/issues/1634 will be resolved. - epytest -p no:xdist --backend=x11 $(usev wayland '--backend=wayland') || die "Tests failed with ${EPYTHON}" -} - -python_compile() { - export CFFI_TMPDIR=${T} - distutils-r1_python_compile -} - -python_install_all() { - local DOCS=( CHANGELOG README.rst ) - distutils-r1_python_install_all - - insinto /usr/share/xsessions - doins resources/qtile.desktop - - insinto /usr/share/wayland-sessions - doins resources/qtile-wayland.desktop - - exeinto /etc/X11/Sessions - newexe "${FILESDIR}"/${PN}-session-r1 ${PN} -} -- cgit v1.2.3