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) )
