Do not require wayland-protocols as dependency in the .pc file
authormuradm <muradm>
Thu, 16 Sep 2021 14:53:00 +0000 (17:53 +0300)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 31 Oct 2021 21:52:04 +0000 (17:52 -0400)
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.

meson.build

index 2646a97d2eb814174784117b42c059f7c294b17d..2f1e9f75305a37f2f1d34b381b18ffaff9ad6f2a 100644 (file)
@@ -483,7 +483,6 @@ if wayland_enabled
 
   wayland_pkgs = [
     'wayland-client @0@'.format(wayland_req),
-    'wayland-protocols @0@'.format(wayland_proto_req),
     'xkbcommon @0@'.format(xkbcommon_req),
     'wayland-egl',
   ]