diff --git a/x11-misc/xkeyboard-config/xkeyboard-config-2.45.ebuild b/x11-misc/xkeyboard-config/xkeyboard-config-2.45.ebuild index 4ebef64ae30a7..374525fd7ec8b 100644 --- a/x11-misc/xkeyboard-config/xkeyboard-config-2.45.ebuild +++ b/x11-misc/xkeyboard-config/xkeyboard-config-2.45.ebuild @@ -64,3 +64,19 @@ src_configure() { ) meson_src_configure } + +src_install() { + meson_src_install + + # Workaround for portage's collision checks, see pkg_preinst (bug #957712) + if has_version "<${CATEGORY}/${PN}-2.45"; then + mv "${ED}"/usr/share/X11/xkb{,.workaround} || die + fi +} + +pkg_preinst() { + if [[ -L ${ED}/usr/share/X11/xkb.workaround ]]; then + rm -rf "${EROOT}"/usr/share/X11/xkb || die + mv "${ED}"/usr/share/X11/xkb{.workaround,} || die + fi +} diff --git a/x11-misc/xkeyboard-config/xkeyboard-config-9999.ebuild b/x11-misc/xkeyboard-config/xkeyboard-config-9999.ebuild index d4e67dee2a23f..374525fd7ec8b 100644 --- a/x11-misc/xkeyboard-config/xkeyboard-config-9999.ebuild +++ b/x11-misc/xkeyboard-config/xkeyboard-config-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -64,3 +64,19 @@ src_configure() { ) meson_src_configure } + +src_install() { + meson_src_install + + # Workaround for portage's collision checks, see pkg_preinst (bug #957712) + if has_version "<${CATEGORY}/${PN}-2.45"; then + mv "${ED}"/usr/share/X11/xkb{,.workaround} || die + fi +} + +pkg_preinst() { + if [[ -L ${ED}/usr/share/X11/xkb.workaround ]]; then + rm -rf "${EROOT}"/usr/share/X11/xkb || die + mv "${ED}"/usr/share/X11/xkb{.workaround,} || die + fi +}