Bug 71419 - xcb-proto.pc: 'pythondir' limits xcb-proto to a single version of Python
Summary: xcb-proto.pc: 'pythondir' limits xcb-proto to a single version of Python
Alias: None
Product: XCB
Classification: Unclassified
Component: Protocol (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xcb mailing list dummy
QA Contact: xcb mailing list dummy
Depends on:
Reported: 2013-11-09 08:57 UTC by Michał Górny
Modified: 2019-02-16 19:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Michał Górny 2013-11-09 08:57:57 UTC
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.
Comment 1 GitLab Migration User 2019-02-16 19:40:13 UTC
-- 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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.