The xcb-proto.pc file lists 'pythondir' that was used during xcb-proto build, and the c_client.py in xpyb & libxcb unconditionally add that path to sys.path. As a result, the two latter packages work correctly only when run by the same Python version as xcb-proto (which is not guaranteed at all) and can result in a horrible mess otherwise.
On Gentoo, we are installing xcb-proto for all installed Python versions (that is, in multiple site-packages directories). Sadly, this means that we either have to null out the 'pythondir' in xcb-proto.pc or invent even worse hacks, or otherwise any Python version would interfere with a random Python's site-packages directory (at least leaving a mess of compiled files).
I suspect that 'pythondir' is intended to be used with non-standard install locations. Could you then make it optional, that is use it only when Python modules are installed to location outside of Python's sys.path? And then, support having null 'pythondir' in c_client.py. We'd greatly appreciate.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/proto/xcbproto/issues/9.