commit:     1cc25abb2720fce0fdfaa38e1e3f5b39a4dcf895
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 23:30:03 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Dec 12 23:53:12 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1cc25abb

app-emulation/qemu: drop USE=xkb, use prebuilt keymaps

USE=xkb re-generates qemu keymaps instead of already prebuilt ones.
It has a few problems:
- present /usr/bin/qemu-keymaps is preferred over locally built one
- /usr/bin/qemu-keymaps can't be ran on a system without
  x11-misc/xkeyboard-config

Let's rely on prebuilt keymaps.

Reported-by: Ben Kohler
Closes: https://bugs.gentoo.org/759604
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 .../qemu/files/qemu-5.2.0-disable-keymap.patch     | 25 ++++++++++++++++++++++
 app-emulation/qemu/qemu-5.2.0.ebuild               |  7 +++---
 app-emulation/qemu/qemu-9999.ebuild                |  6 +++---
 3 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch 
b/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch
new file mode 100644
index 00000000000..4b5676be4d2
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch
@@ -0,0 +1,25 @@
+Do not use system's 'qemu-keymap' in native case.
+--- a/meson.build
++++ b/meson.build
+@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host
+ endif
+ if get_option('xkbcommon').auto() and not have_system and not have_tools
+   xkbcommon = not_found
++elif get_option('xkbcommon').disabled()
++  xkbcommon = not_found
+ else
+   xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
+                          method: 'pkg-config', static: enable_static)
+--- a/pc-bios/keymaps/meson.build
++++ b/pc-bios/keymaps/meson.build
+@@ -33,7 +33,9 @@ keymaps = {
+   'tr': '-l tr',
+ }
+ 
+-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
++if meson.is_cross_build()
+   native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: 
true)
++elif get_option('xkbcommon').disabled()
++  native_qemu_keymap = not_found
+ else
+   native_qemu_keymap = qemu_keymap

diff --git a/app-emulation/qemu/qemu-5.2.0.ebuild 
b/app-emulation/qemu/qemu-5.2.0.ebuild
index 5fb557f10fb..6401088ec2b 100644
--- a/app-emulation/qemu/qemu-5.2.0.ebuild
+++ b/app-emulation/qemu/qemu-5.2.0.ebuild
@@ -41,7 +41,7 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl 
debug doc
        +slirp
        smartcard snappy spice ssh static static-user systemtap test udev usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
-       xfs +xkb zstd"
+       xfs zstd"
 
 COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
        mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -93,7 +93,6 @@ ALL_DEPEND="
 # softmmu targets (qemu-system-*).
 SOFTMMU_TOOLS_DEPEND="
        dev-libs/libxml2[static-libs(+)]
-       xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
        >=x11-libs/pixman-0.28.0[static-libs(+)]
        accessibility? (
                app-accessibility/brltty[api]
@@ -225,6 +224,7 @@ RDEPEND="${CDEPEND}
 PATCHES=(
        "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
        "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
+       "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
 )
 
 QA_PREBUILT="
@@ -487,7 +487,8 @@ qemu_src_configure() {
                $(conf_notuser xen)
                $(conf_notuser xen xen-pci-passthrough)
                $(conf_notuser xfs xfsctl)
-               $(conf_notuser xkb xkbcommon)
+               # use prebuilt keymaps, bug #759604
+               --disable-xkbcommon
                $(conf_notuser zstd)
        )
 

diff --git a/app-emulation/qemu/qemu-9999.ebuild 
b/app-emulation/qemu/qemu-9999.ebuild
index 2ca83e90d02..ad937601f52 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -41,7 +41,7 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl 
debug doc
        +slirp
        smartcard snappy spice ssh static static-user systemtap test udev usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
-       xfs +xkb zstd"
+       xfs zstd"
 
 COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
        mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -93,7 +93,6 @@ ALL_DEPEND="
 # softmmu targets (qemu-system-*).
 SOFTMMU_TOOLS_DEPEND="
        dev-libs/libxml2[static-libs(+)]
-       xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
        >=x11-libs/pixman-0.28.0[static-libs(+)]
        accessibility? (
                app-accessibility/brltty[api]
@@ -486,7 +485,8 @@ qemu_src_configure() {
                $(conf_notuser xen)
                $(conf_notuser xen xen-pci-passthrough)
                $(conf_notuser xfs xfsctl)
-               $(conf_notuser xkb xkbcommon)
+               # use prebuilt keymaps, bug #759604
+               --disable-xkbcommon
                $(conf_notuser zstd)
        )
 

Reply via email to