Subject: [PATCH 2/2] gnu: Fix wayland-protocols dependency to be in native-inputs.

From: muradm <[email-masked]>
Date: Thu, 16 Sep 2021 22:26:46 +0300

While wayland-protocols is a build time dependency, some packages
used it in normal inputs or even propagated-inputs.

This moves wayland-protocols dependency to native-inputs across
related packages.

* gnu/packages/arcan.scm (arcan-wayland): updated
* gnu/packages/enlightenment.scm (efl): updated
* gnu/packages/enlightenment.scm (enlightenment): updated
* gnu/packages/fcitx5.scm (fcitx5): updated
* gnu/packages/freedesktop.scm (weston): updated
* gnu/packages/freedesktop.scm (wev): updated
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): updated
* gnu/packages/gl.scm (mesa): updated
* gnu/packages/gl.scm (glmark2): updated
* gnu/packages/image.scm (grim): updated
* gnu/packages/image.scm (slurp): updated
* gnu/packages/julia-jll.scm (julia-wayland-protocols-jll): updated
* gnu/packages/kde-frameworks.scm (kwayland): updated
* gnu/packages/kodi.scm (kodi/wayland): updated
* gnu/packages/language.scm (nimf): updated
* gnu/packages/sdl.scm (sdl2): updated
* gnu/packages/video.scm (vlc): updated
* gnu/packages/video.scm (mpv): updated
* gnu/packages/video.scm (obs): updated
* gnu/packages/video.scm (obs-wlrobs): updated
* gnu/packages/video.scm (wlstream): updated
* gnu/packages/video.scm (wf-recorder): updated
* gnu/packages/wm.scm (wlroots): updated
* gnu/packages/xdisorg.scm (bemenu): updated
* gnu/packages/xdisorg.scm (libxkbcommon): updated
* gnu/packages/xdisorg.scm (wob): updated
* gnu/packages/xdisorg.scm (wl-clipboard): updated
* gnu/packages/xorg.scm (xorg-server-xwayland): updated
---
 gnu/packages/arcan.scm          |  6 +++---
 gnu/packages/enlightenment.scm  | 10 +++++-----
 gnu/packages/fcitx5.scm         |  4 ++--
 gnu/packages/freedesktop.scm    | 14 +++++++-------
 gnu/packages/gl.scm             | 10 +++++-----
 gnu/packages/image.scm          | 12 ++++++------
 gnu/packages/julia-jll.scm      |  2 +-
 gnu/packages/kde-frameworks.scm |  6 +++---
 gnu/packages/kodi.scm           |  4 +++-
 gnu/packages/language.scm       |  2 +-
 gnu/packages/sdl.scm            |  5 +++--
 gnu/packages/video.scm          | 28 ++++++++++++++--------------
 gnu/packages/wm.scm             |  4 ++--
 gnu/packages/xdisorg.scm        | 20 ++++++++++----------
 gnu/packages/xorg.scm           |  4 +++-
 15 files changed, 68 insertions(+), 63 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 721cd7fd70..da7e445d1e 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -251,14 +251,14 @@ as a window under Arcan.")
     (inherit arcan)
     (name "arcan-wayland")
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("arcan" ,arcan)
        ("libseccomp" ,libseccomp)
        ("libxkbcommon" ,libxkbcommon)
        ("mesa" ,mesa)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (arguments
      `(#:tests? #f
        #:phases
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 9c83e9b482..63237539aa 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -82,7 +82,8 @@
     (native-inputs
      `(("check" ,check-0.14)
        ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("curl" ,curl)
        ("giflib" ,giflib)
@@ -110,8 +111,7 @@
        ("libwebp" ,libwebp)
        ("openjpeg" ,openjpeg)
        ("poppler" ,poppler)
-       ("util-linux" ,util-linux "lib")
-       ("wayland-protocols" ,wayland-protocols)))
+       ("util-linux" ,util-linux "lib")))
     (propagated-inputs
      ;; All these inputs are in package config files in section
      ;; Requires.private.
@@ -353,7 +353,8 @@ Libraries with some extra bells and whistles.")
                #t))))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("bc" ,bc)
@@ -371,7 +372,6 @@ Libraries with some extra bells and whistles.")
     (propagated-inputs
      `(("efl" ,efl)
        ("libxkbcommon" ,libxkbcommon)
-       ("wayland-protocols" ,wayland-protocols)
 
        ;; Default font that applications such as IceCat require.
        ("font-dejavu" ,font-dejavu)))
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index 737f47f20f..f1f018b292 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -126,7 +126,6 @@ client.")
        ("pango" ,pango)
        ("unicode-cldr-common" ,unicode-cldr-common)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("xcb-imdkit" ,xcb-imdkit)
        ("xcb-util" ,xcb-util)
        ("xcb-util-keysyms" ,xcb-util-keysyms)
@@ -135,7 +134,8 @@ client.")
     (native-inputs
      `(("gcc" ,gcc-9)                   ; for #include <charconv>
        ("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (native-search-paths
      (list (search-path-specification
             (variable "FCITX_ADDON_DIRS")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 85d9697460..a8fd24e807 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1083,6 +1083,7 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
     (native-inputs
      `(("mscgen" ,mscgen)
        ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)
        ("xorg-server" ,xorg-server)))
     (inputs
      `(("cairo" ,cairo-xcb)
@@ -1111,7 +1112,6 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
        ("linux-pam" ,linux-pam)
        ("pango" ,pango)
        ("pipewire" ,pipewire)
-       ("wayland-protocols" ,wayland-protocols)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (propagated-inputs
      `(("libxkbcommon" ,libxkbcommon)
@@ -1193,11 +1193,11 @@ multiplexer to the KMS/DRM Linux kernel devices.")
          (delete 'configure))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("scdoc" ,scdoc)))
+       ("scdoc" ,scdoc)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("libxkbcommon" ,libxkbcommon)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (home-page "https://git.sr.ht/~sircmpwn/wev")
     (synopsis "Wayland event viewer")
     (description "Wev is a tool that opens a window, printing all events
@@ -2454,14 +2454,14 @@ interfaces.")
          "-Dsd-bus-provider=libelogind")))
     (native-inputs
      `(("cmake" ,cmake)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("elogind" ,elogind)
        ("iniparser" ,iniparser)
        ("pipewire" ,pipewire-0.3)
        ("inih" ,libinih)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (home-page "https://github.com/emersion/xdg-desktop-portal-wlr")
     (synopsis "@code{xdg-desktop-portal} backend for wlroots")
     (description
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 769389e370..5cf2866c2a 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -279,8 +279,7 @@ also known as DXTn or DXTC) for Mesa.")
              `(("llvm" ,llvm-11)))
             (_
              `()))
-        ("wayland" ,wayland)
-        ("wayland-protocols" ,wayland-protocols)))
+        ("wayland" ,wayland)))
     (native-inputs
       `(("bison" ,bison)
         ("flex" ,flex)
@@ -293,6 +292,7 @@ also known as DXTn or DXTC) for Mesa.")
         ("pkg-config" ,pkg-config)
         ("python" ,python-wrapper)
         ("python-mako" ,python-mako)
+        ("wayland-protocols" ,wayland-protocols)
         ("which" ,(@ (gnu packages base) which))))
     (outputs '("out" "bin"))
     (arguments
@@ -1118,7 +1118,8 @@ is written in a way that can be used for any general C# application.")
                  (("libGLESv2.so") (string-append mesa "/lib/libGLESv2.so")))
                #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("eudev" ,eudev)
        ("libdrm" ,libdrm)
@@ -1127,8 +1128,7 @@ is written in a way that can be used for any general C# application.")
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
        ("mesa" ,mesa)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (home-page "https://github.com/glmark2/glmark2")
     (synopsis "OpenGL 2.0 and OpenGL ES 2.0 benchmark")
     (description
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 2dd64d7c4c..527fc1d774 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1980,11 +1980,11 @@ identical visual appearance.")
       (base32 "1l4gwvvc0zvg5b6f6w92xjhmwj7cg9hlgrf43lc7ygaz8dh6cmzg"))))
    (build-system meson-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)
-                    ("scdoc" ,scdoc)))
+                    ("scdoc" ,scdoc)
+                    ("wayland-protocols" ,wayland-protocols)))
    (inputs `(("cairo" ,cairo)
              ("libjpeg-turbo" ,libjpeg-turbo)
-             ("wayland" ,wayland)
-             ("wayland-protocols" ,wayland-protocols)))
+             ("wayland" ,wayland)))
    (home-page "https://github.com/emersion/grim")
    (synopsis "Create screenshots from a Wayland compositor")
    (description "grim can create screenshots from a Wayland compositor.")
@@ -2007,12 +2007,12 @@ identical visual appearance.")
    (build-system meson-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)
-      ("scdoc" ,scdoc)))
+      ("scdoc" ,scdoc)
+      ("wayland-protocols" ,wayland-protocols)))
    (inputs
     `(("cairo" ,cairo)
       ("libxkbcommon" ,libxkbcommon)
-      ("wayland" ,wayland)
-      ("wayland-protocols" ,wayland-protocols)))
+      ("wayland" ,wayland)))
    (home-page "https://github.com/emersion/slurp")
    (synopsis "Select a region in a Wayland compositor")
    (description "Slurp can select a region in a Wayland compositor and print it
diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm
index d18971ad48..1ad414ef34 100644
--- a/gnu/packages/julia-jll.scm
+++ b/gnu/packages/julia-jll.scm
@@ -1600,7 +1600,7 @@ build tree Yggdrasil.")
                     (string-append "\"" (assoc-ref inputs "wayland-protocols") "\""))))
                ;; There's a Julia file for each platform, override them all
                (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
+    (native-inputs
      `(("wayland-protocols" ,wayland-protocols)))
     (propagated-inputs
      `(("julia-jllwrappers" ,julia-jllwrappers)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 83bf7bd95a..bfd7631080 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1077,12 +1077,12 @@ integration with a custom editor as well as a ready-to-use
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("qtbase" ,qtbase-5)
        ("qtwayland" ,qtwayland)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (arguments
      `(#:tests? #f ; FIXME tests require weston to run
                    ; weston requires wayland flags in mesa
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 0ed5d829fb..0212e93952 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -474,11 +474,13 @@ plug-in system.")
         `(append '("-DCORE_PLATFORM_NAME=wayland"
                    "-DWAYLAND_RENDER_SYSTEM=gl")
                    ,flags))))
+    (native-inputs
+     `(("waylandp-protocols" ,wayland-protocols)
+       ,@(package-native-inputs kodi)))
     (inputs
      `(("libinput" ,libinput)
        ("libxkbcommon" ,libxkbcommon)
        ("waylandpp" ,waylandpp)
-       ("waylandp-protocols" ,wayland-protocols)
        ,@(package-inputs kodi)))
     (synopsis "Kodi with Wayland rendering backend")))
 
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 83838b5689..79dad2a60a 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -176,6 +176,7 @@
        ("libtool" ,libtool)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)
        ("which" ,which)))
     (inputs
      `(("anthy" ,anthy)
@@ -189,7 +190,6 @@
        ("rime" ,librime)
        ("rsvg" ,librsvg)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("x11" ,libx11)
        ("xkbcommon" ,libxkbcommon)
        ("xklavier" ,libxklavier)))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index f2afe763c5..90874a6d67 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -138,6 +138,8 @@ joystick, and graphics hardware.")
           (string-append "LDFLAGS=-Wl,-rpath,"
                          (assoc-ref %build-inputs "eudev") "/lib")
           ,flags))))
+    (native-inputs
+     `(("wayland-protocols" ,wayland-protocols)))
     (inputs
      ;; SDL2 needs to be built with ibus support otherwise some systems
      ;; experience a bug where input events are doubled.
@@ -150,8 +152,7 @@ joystick, and graphics hardware.")
                ("ibus" ,ibus)
                ("libxkbcommon" ,libxkbcommon)
                ("libxcursor" ,libxcursor) ; enables X11 cursor support
-               ("wayland" ,wayland)
-               ("wayland-protocols" ,wayland-protocols))
+               ("wayland" ,wayland))
              (package-inputs sdl)))
     (license bsd-3)))
 
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index be9df8cc65..57fb5e0fee 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1822,7 +1822,8 @@ videoformats depend on the configuration flags of ffmpeg.")
      `(("flex" ,flex)
        ("bison" ,bison)
        ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     ;; FIXME: Add optional inputs once available.
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -1897,7 +1898,6 @@ videoformats depend on the configuration flags of ffmpeg.")
        ("twolame" ,twolame)
        ("unzip" ,unzip)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("x265" ,x265)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
     (arguments
@@ -2065,7 +2065,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
     (native-inputs
      `(("perl" ,perl) ; for zsh completion file
        ("pkg-config" ,pkg-config)
-       ("python-docutils" ,python-docutils)))
+       ("python-docutils" ,python-docutils)
+       ("wayland-protocols" ,wayland-protocols)))
     ;; Missing features: libguess, V4L2
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -2102,7 +2103,6 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
        ("vulkan-loader" ,vulkan-loader)
        ("waf" ,python-waf)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("libxkbcommon" ,libxkbcommon)
        ("youtube-dl" ,youtube-dl)
        ("zlib" ,zlib)))
@@ -3215,7 +3215,8 @@ be used for realtime video capture via Linux-specific APIs.")
             (files '("share/obs/obs-plugins")))))
     (native-inputs
      `(("cmocka" ,cmocka)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("curl" ,curl)
@@ -3238,7 +3239,6 @@ be used for realtime video capture via Linux-specific APIs.")
        ("speexdsp" ,speexdsp)
        ("v4l-utils" ,v4l-utils)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("zlib" ,zlib)))
     (synopsis "Live streaming software")
     (description "Open Broadcaster Software provides a graphical interface for
@@ -3333,12 +3333,12 @@ programs on your current machine or on other machines.")
           "1faiq2gdb7qis3m1hilm4pz8lkmkab75vzm608dbiazahhybf96p"))))
     (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (propagated-inputs `() )
     (inputs `(("obs" ,obs)
               ("libx11" ,libx11 "out")
-              ("wayland" ,wayland)
-              ("wayland-protocols" ,wayland-protocols)))
+              ("wayland" ,wayland)))
     (home-page "https://hg.sr.ht/~scoopta/wlrobs")
     (synopsis "OBS plugin for Wayland (wlroots) screen capture")
     (description
@@ -4789,11 +4789,11 @@ speed and correctness.")
            "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
       (build-system meson-build-system)
       (native-inputs `(("libdrm" ,libdrm)
-                       ("pkg-config" ,pkg-config)))
+                       ("pkg-config" ,pkg-config)
+                       ("wayland-protocols" ,wayland-protocols)))
       (inputs `(("ffmpeg" ,ffmpeg)
                 ("pulseaudio" ,pulseaudio)
-                ("wayland" ,wayland)
-                ("wayland-protocols" ,wayland-protocols)))
+                ("wayland" ,wayland)))
       (home-page "https://github.com/atomnuker/wlstream")
       (synopsis "Screen capture tool for Wayland sessions")
       (description "Wlstream is a screen capture tool for recording audio and
@@ -5165,12 +5165,12 @@ can also directly record to WebM or MP4 if you prefer.")
                 "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim"))))
     (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("ffmpeg" ,ffmpeg)
        ("pulseaudio" ,pulseaudio)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("libx264" ,libx264)))
     (home-page "https://github.com/ammen99/wf-recorder")
     (synopsis "Screen recorder for wlroots-based compositors")
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 66440e5008..fa8fe391df 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1452,12 +1452,12 @@ functionality to display information about the most commonly used services.")
        ("mesa" ,mesa)
        ("pixman" ,pixman)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("xcb-util-errors" ,xcb-util-errors)
        ("xcb-util-wm" ,xcb-util-wm)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (home-page "https://github.com/swaywm/wlroots")
     (synopsis "Pluggable, composable, unopinionated modules for building a
 Wayland compositor")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 129c90d22c..ed47f916ac 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -292,11 +292,11 @@ used to further tweak the behaviour of the different profiles.")
        ("libxinerama" ,libxinerama)
        ("ncurses" ,ncurses)
        ("pango" ,pango)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (native-inputs
      `(("doxygen" ,doxygen)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (home-page "https://github.com/Cloudef/bemenu")
     (synopsis "Dynamic menu library and client program inspired by dmenu")
     (description
@@ -437,12 +437,12 @@ avoiding password prompts when X11 forwarding has already been setup.")
        ("libxcb" ,libxcb)
        ("libxml2" ,libxml2)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("xkeyboard-config" ,xkeyboard-config)))
     (native-inputs
      `(("bison" ,bison)
        ("doxygen" ,doxygen)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (arguments
      `(#:configure-flags
        (list (string-append "-Dxkb-config-root="
@@ -1106,11 +1106,11 @@ transparent text on your screen.")
     (build-system meson-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("scdoc" ,scdoc)))
+       ("scdoc" ,scdoc)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("libseccomp" ,libseccomp)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)))
+       ("wayland" ,wayland)))
     (home-page "https://github.com/francma/wob")
     (synopsis "Lightweight overlay bar for Wayland")
     (description
@@ -2387,11 +2387,11 @@ binary to setuid-binaries:
                 (string-append "\"" (assoc-ref inputs "xdg-utils")
                                "/bin/xdg-mime\""))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)))
     (inputs
      `(("coreutils" ,coreutils)
        ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ("xdg-utils" ,xdg-utils)))
     (home-page "https://github.com/bugaevc/wl-clipboard")
     (synopsis "Command-line copy/paste utilities for Wayland")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 95d3442d36..9165476877 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5525,8 +5525,10 @@ draggable titlebars and borders.")
     (name "xorg-server-xwayland")
     (inputs
      `(("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
        ,@(package-inputs xorg-server)))
+    (native-inputs
+     `(("wayland-protocols" ,wayland-protocols)
+       ,@(package-native-inputs xorg-server)))
     (arguments
      (substitute-keyword-arguments (package-arguments xorg-server)
        ((#:configure-flags flags)
-- 
2.33.0