According to the FAQ at https://people.freedesktop.org/~dbn/pkg-config-guide.html#faq :
My library z uses libx internally, but does not expose libx data types in its public API. What do I put in my z.pc file? Again, add the module to Requires.private if it supports pkg-config. In this case, the compiler flags will be emitted unnecessarily, but it ensures that the linker flags will be present when linking statically. So it is a common practice to add stuff to Requires.private, and it is not a good idea to ask upstream not to do that. With meson (as it is a case here), it generates this Requires.private automatically. So it looks like removing this tag at install time is the way to go after all, unless meson grows an easy way to omit these. An alternative is to maintain "proper" Depends for the foo-dev package. ("proper" is in quotes, because it is only needed to satisfy pkg-config wishes). *sigh*. /mjt