Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 649876 - x11-libs/xpyb is incompatible with x11-libs/xcb-proto-1.13
Summary: x11-libs/xpyb is incompatible with x11-libs/xcb-proto-1.13
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-07 21:41 UTC by Maxim Koltsov (RETIRED)
Modified: 2018-04-22 03:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maxim Koltsov (RETIRED) gentoo-dev 2018-03-07 21:41:19 UTC
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?
Comment 1 Matt Turner gentoo-dev 2018-03-07 23:42:18 UTC
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?!
Comment 2 Maxim Koltsov (RETIRED) gentoo-dev 2018-03-08 07:01:30 UTC
(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.
Comment 3 Larry the Git Cow gentoo-dev 2018-03-08 07:24:23 UTC
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(+)}
Comment 4 Matt Turner gentoo-dev 2018-03-08 16:36:52 UTC
(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!
Comment 5 Matt Turner gentoo-dev 2018-04-22 03:06:28 UTC
xpyb is now masked for removal. Marking as WONTFIX.