x11-proto/xcb-proto-1.13 has this commit: https://cgit.freedesktop.org/xcb/proto/commit/?id=4aa40fbd5e05833b72327ea37421b09dff246732 which adds "eventstruct" to list of expected keys of __main__.output (a horrible design choise imo by the way), thus leading to break in xpyb: /usr/bin/python2.7 /var/tmp/portage/x11-libs/xpyb-1.3.1-r3/work/xpyb-1.3.1/src/py_client.py -p /usr/lib64/python2.7/site-packages /usr/share/xcb/xc_misc.xml Traceback (most recent call last): File "/var/tmp/portage/x11-libs/xpyb-1.3.1-r3/work/xpyb-1.3.1/src/py_client.py", line 608, in <module> from xcbgen.state import Module File "/usr/lib64/python2.7/site-packages/xcbgen/state.py", line 7, in <module> from xcbgen import matcher File "/usr/lib64/python2.7/site-packages/xcbgen/matcher.py", line 12, in <module> from xcbgen.xtypes import * File "/usr/lib64/python2.7/site-packages/xcbgen/xtypes.py", line 1221, in <module> class EventStruct(Union): File "/usr/lib64/python2.7/site-packages/xcbgen/xtypes.py", line 1239, in EventStruct out = __main__.output['eventstruct'] KeyError: 'eventstruct' Latest release of xpyb (1.3.1) was in 2012 (see https://xcb.freedesktop.org/dist/), so I propose adding a patch to Gentoo patchset on xpyb. This works as PoC: adding "'eventstruct': lambda *a, **k: None" in src/py_client.py. With this modification xpyb at least builds and installs fine, I'll see if it will not break at runtime. If we agree on this, I can make a patch and commit it. For now, I recommend adding "<x11-proto/xcb-proto-1.13" to DEPEND of xpyb. Can we do this on stable ebuild without revbump since it's not installable as is anyway?
xpyb is an unmaintained piece of shit. I'd be ecstatic to nuke it from the tree. Feel free to commit your proposed fix as an -r4 bump. grepping for xpyb in the tree, I see that only pycairo depends on it. More interestingly, I see that there is a package dev-python/xcffib that claims to be a drop-in replacement for xpyb. Maybe we actually can nuke xpyb?!
(In reply to Matt Turner from comment #1) > xpyb is an unmaintained piece of shit. I'd be ecstatic to nuke it from the > tree. > > Feel free to commit your proposed fix as an -r4 bump. > > grepping for xpyb in the tree, I see that only pycairo depends on it. More > interestingly, I see that there is a package dev-python/xcffib that claims > to be a drop-in replacement for xpyb. Maybe we actually can nuke xpyb?! Actually, looks like pycairo needs xpyb only on python 2 and only with xcb use flag, BUT nothing in tree actually depends on pycairo[xcb]. Can we disable this use flag by default in ebuild while it's enabled in desktop profile? I'll commit the fix in bump and try to see if we can patch pycairo to use xcffib.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c25eb2147f4ea84a1bd9e608b6d61e6ca9f4e87 commit 3c25eb2147f4ea84a1bd9e608b6d61e6ca9f4e87 Author: Maxim Koltsov <maksbotan@gentoo.org> AuthorDate: 2018-03-08 07:22:02 +0000 Commit: Maxim Koltsov <maksbotan@gentoo.org> CommitDate: 2018-03-08 07:22:02 +0000 x11-libs/xpyb: patch for xcb-proto-1.13 Bug: https://bugs.gentoo.org/649876 Package-Manager: Portage-2.3.24, Repoman-2.3.6 x11-libs/xpyb/files/xpyb-1.3.1-xcbproto-1.13.patch | 13 ++++++ x11-libs/xpyb/xpyb-1.3.1-r4.ebuild | 50 ++++++++++++++++++++++ 2 files changed, 63 insertions(+)}
(In reply to Maxim Koltsov from comment #2) > (In reply to Matt Turner from comment #1) > > xpyb is an unmaintained piece of shit. I'd be ecstatic to nuke it from the > > tree. > > > > Feel free to commit your proposed fix as an -r4 bump. > > > > grepping for xpyb in the tree, I see that only pycairo depends on it. More > > interestingly, I see that there is a package dev-python/xcffib that claims > > to be a drop-in replacement for xpyb. Maybe we actually can nuke xpyb?! > > Actually, looks like pycairo needs xpyb only on python 2 and only with xcb > use flag, BUT nothing in tree actually depends on pycairo[xcb]. Can we > disable this use flag by default in ebuild while it's enabled in desktop > profile? Oh, great point. If nothing actually needs it, we can short circuit all of this nonsense. I'll open a bug with the pycairo maintainer and ask if we can just delete the USE flag. > I'll commit the fix in bump and try to see if we can patch pycairo to use > xcffib. Thanks!
xpyb is now masked for removal. Marking as WONTFIX.