+1 from me. I also agree that this is the best way. The aim of XCB project is to replace Xlib, which means that XCB clients should have a Xlib independent way of handling Compose keys.
There is no way to get the Compose file location from Xlib's pkg-config file. My current implementation in Qt5 simply searches the most probably paths where Compose data could be located on the system which is not a very satisfying solution. It is a logical step to move Compose/locale data into a separate repository as suggested by Ran. Then other libraries that don't want to be dependent on Xlib could still use the Compose files. Gatis. ________________________________________ From: xorg-devel <[email protected]> on behalf of Ran Benita <[email protected]> Sent: Sunday, September 14, 2014 10:44 PM To: [email protected] Subject: xlocale-config This set of patches splits the locale data (the nls/ directory and a couple of related patches) from Xlib to a separate repository, "xlocale-config" (the insparation is xkeyboard-config which I think has worked out well). Xlib is made to depend on xlocale-config. The reason for doing this is to be able to use the Compose files without depending on Xlib. To correctly use the Compose files, the rest of the locale data is also needed. My own interest is for a Compose implementation in libxkbcommon, but other projects also have Compose implementations independent of Xlib (Qt5 and probably others). Some distributions such as Debian already have a split libx11-data package. But I think this is better done upstream, and I don't think many other distribution which do something similar. Note: when we discussed this on IRC, we agreed to leave the nls/*/XI18N_OBJS files in the libX11 repo. Having tried that, it causes a lot of duplication and fragility, and it would make it harder to e.g. add new locales. This could potentially create a circular dependency if some change in Xlib necessitates a change in the XI18N_OBJS files. >From looking at git log something like that was never necessary besides (maybe?) one case: http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=0e45f64766c0557c8e99a979c70ca6f55664dae7 Finally, the xlocale-config copies over the files from libX11. If you prefer to preserve the git history it is not a problem (I wanted to avoid having duplicate history with different SHAs in two live repos). Some patches are snipped due to large size (and for deletions I used --irreversible-delete). You can find them here: https://github.com/bluetech/libX11/ (xlocale-config branch) https://github.com/bluetech/xlocale-config Thanks, Ran _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
