commit: 15c68982d638e396bc9aad1f895e0e63e24fbe09
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 25 20:40:47 2026 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Feb 25 20:43:19 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15c68982
x11-misc/xkeyboard-config: Version bump to 2.47
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
x11-misc/xkeyboard-config/Manifest | 1 +
.../xkeyboard-config/xkeyboard-config-2.47.ebuild | 80 ++++++++++++++++++++++
2 files changed, 81 insertions(+)
diff --git a/x11-misc/xkeyboard-config/Manifest
b/x11-misc/xkeyboard-config/Manifest
index 09170d42dad0..cd6317382048 100644
--- a/x11-misc/xkeyboard-config/Manifest
+++ b/x11-misc/xkeyboard-config/Manifest
@@ -1 +1,2 @@
DIST xkeyboard-config-2.46.tar.xz 931044 BLAKE2B
a24ffd179cdace04c0d51599e65a8eec87f492a6a3bbb5dc11e8a6ef5ff1be6472eb5c53103c8cdc6dd6373c1dbeea02656416856445fd265b10f2661212671a
SHA512
c58ce438ec109e80ff601ad07aea13f0ccdd096720b574838673925ec2a745b9210df6ef2ecfab3911909b492b560fb9af1d4f6bce60bd329e575f1db16b6dfb
+DIST xkeyboard-config-2.47.tar.xz 930468 BLAKE2B
ddfe6d3c8a088cd625c1a81c56ffe1f2ada5e003b3bf0628983a0058aa9e0ff9c26ab8cfcd0a6aded22e6a545d63533b2de05570b4e0c3a22879e195dcb96f61
SHA512
bd9b70ec5c8957e087f6c12272725044e6e124c15c7cbbfffb7f3c231944984d3302adda604da05464b7be6c91b5461e74fbec8544ac21b06e3bd8c748fd04e3
diff --git a/x11-misc/xkeyboard-config/xkeyboard-config-2.47.ebuild
b/x11-misc/xkeyboard-config/xkeyboard-config-2.47.ebuild
new file mode 100644
index 000000000000..cb9a82a20c5c
--- /dev/null
+++ b/x11-misc/xkeyboard-config/xkeyboard-config-2.47.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit meson python-any-r1
+
+DESCRIPTION="X keyboard configuration database"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/XKeyboardConfig/
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config"
+
+if [[ ${PV} == 9999 ]]; then
+
EGIT_REPO_URI="https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config.git"
+ inherit git-r3
+else
+ SRC_URI="https://www.x.org/releases/individual/data/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc
~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-lang/perl
+ dev-libs/libxslt
+ sys-devel/gettext
+ ${PYTHON_DEPS}
+ test? (
+ x11-apps/xkbcomp
+ x11-libs/libxkbcommon
+ $(python_gen_any_dep '
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version \
+ "dev-python/pycountry[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Remove pytest timeout
+ sed -i -e "/test('pytest'/,/)$/ { s/timeout: [0-9]*/timeout: 0/ }"
meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dcompat-rules=true
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # Workaround for portage's collision checks, see pkg_preinst (bug
#957712)
+ mv "${ED}"/usr/share/X11/xkb{,.workaround} || die
+}
+
+pkg_preinst() {
+ # Avoid touching EROOT if not needed, and use -f just-in-case anyway
+ if [[ -d ${EROOT}/usr/share/X11/xkb && ! -L ${EROOT}/usr/share/X11/xkb
]]; then
+ rm -rf "${EROOT}"/usr/share/X11/xkb || die
+ fi
+ mv "${ED}"/usr/share/X11/xkb{.workaround,} || die
+}