The x11-libs/libxkbcommon-9999 from x11 overlay fails to compile. Compiler has this on the command line: -DDFLT_XKB_CONFIG_ROOT='""/usr/share/X11/xkb""' There are duplicate "s in there. This variable is set by, in order: 1) configure.ac: sets XKBCONFIGROOT from `$PKG_CONFIG --variable=xkb_base xkeyboard-config`; pkg-config returns the path encolsed in "s for me 2) src/xkbcomp/Makefile.am: adds -DDFLT_XKB_CONFIG_ROOT='"$(XKBCONFIGROOT)"' to CFLAGS; which results in "s doubled We can either delete the double quotes from src/xkbcomp/Makefile.am, or pass --with-xkb-config-root=<paths> to the configure script. My guess is that the latter is better; unless pkg-config returning that var in double quotes isn't Gentoo-specific.
*** Bug 360227 has been marked as a duplicate of this bug. ***
Looks like xkeyboard-config.pc is the one that's broken. I've never seen a .pc file with quotes like that. Fixing this should fix all your other issues. Could you try editing the file manually to confirm it? Thanks
I just ran into the same bug and I confirm that editing xkeyboard-config.pc resolves this issue.
Instead of passing the argument to --with-xkb-base= in quotes, all you have to do is escape the spaces, like so --with-xkb-base=/home/mattst88/test\ test/abc\ 123/ From there, the resulting pkgconfig file will have xkb_base=/home/mattst88/test test/abc 123/ which will allow libxkbcommon to not fail.
Dan Nicholson says "pkgconfig is not a shell and will read the whole string up to the newline", so the quotes which break libxkbcommon's compilation shouldn't be in xkeyboard-config's pc file. Can we change the xkeyboard-config ebuild to escape spaces in the EPREFIX variable, like so? --with-xkb-base=${EPREFIX// /\\ }/usr/share/X11/xkb
I still think that the autotools should strip the quotes for us before they put it into the .pc file. But feel free to fix it this way as it is legit and will work.
=xkeyboard-config-9999 (in the overlay) fixed through passing configure options as an array.
Fixed in xkeyboard-config-2.2.1-r1.