Skip to content

Do not require wayland-protocols as dependency in the .pc files

muradm requested to merge muradm/gtk:master into master

Basically, I was building some packages on Guix. I figured out that wayland-protocols was listed among propagated-inputs for gtk+ package (gtk-3-24). propagated-inputs holds a list of runtime dependencies, that should be available to any other package that depends on gtk+. While discussing we clarified that wayland-protocols is not runtime dependency. So I moved it to native-inputs of gtk+ package, which means that, this dependency will be available only to gtk+ package and only at build time. Once moved, building of other applications that depening on gtk+ started to fail.

Investigation showed that, all .pc (pkg-config) files prepared by gtk+ package, was including:

Requires.private: ... wayland-protocols ...

Since it becomes requirement, other applications was failing with missing dependency wayland-protocols of dependency gtk+, for instance:

-- Checking for module 'gtk+-3.0'
--   Package 'wayland-protocols', required by 'gdk-3.0', not found

While actually wayland-protocols is not even a build time dependency of application that depends on gtk+.

Advertisement of such requirement, is a bit misleading, because one does not need it at runtime, especially applications based on gtk.

Edited by muradm

Merge request reports