This is unfortunate but the problem is: /usr/include/X11/Xft/Xft.h:39:22: fatal error: ft2build.h: No such file or directory So Xft adds a dependency on freetype on all its users. Since it's using Requires.private, it does not get added by default to the list of packages, but then, it fails this way.
I'm afraid I don't understand the issue. As far as I'm aware, Requires.private is supposed to be followed when obtaining cflags. $ pkg-config --cflags xft -I/usr/lib64/freetype2/include/freetype2 -I/usr/lib64/freetype2/include $ qlist freetype | grep ft2build /usr/lib32/freetype2/include/ft2build.h /usr/lib64/freetype2/include/ft2build.h
You're right. The packages need to discover xft through pkg-config as well for this to work though.