# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

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 autotools git-r3
	# x11-misc/util-macros only required on live ebuilds
	LIVE_DEPEND=">=x11-misc/util-macros-1.18"
else
	SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/data/${PN}/${P}.tar.bz2"
	KEYWORDS="*"
fi

LICENSE="MIT"
SLOT="0"
IUSE="cros_host"

RDEPEND="
	cros_host? ( !<x11-apps/xkbcomp-1.2.3 )
	!<x11-libs/libX11-1.4.3
"
DEPEND="
	dev-util/intltool
	sys-devel/gettext
	virtual/pkgconfig
	${LIVE_DEPEND}
"

PATCHES=(
	"${FILESDIR}"/${P}-gb-dvorak-deadkey.patch
	"${FILESDIR}"/${P}-neo-capslock-remap.patch
	"${FILESDIR}"/${P}-disable-level5-lock.patch
	"${FILESDIR}"/${P}-remap-capslock.patch
	"${FILESDIR}"/${P}-add-f19-24.patch
	"${FILESDIR}"/${P}-gb-extd-deadkey.patch
	"${FILESDIR}"/${P}-br-euro-degree.patch
	"${FILESDIR}"/${P}-es-euro-sign.patch
	"${FILESDIR}"/${P}-us-intl-pc.patch
	"${FILESDIR}"/${P}-bg-101.patch
	"${FILESDIR}"/${P}-jp-default-layout.patch
	"${FILESDIR}"/${P}-hr.patch
	"${FILESDIR}"/${P}-ee.patch
	"${FILESDIR}"/${P}-latam.patch
	"${FILESDIR}"/${P}-ch.patch
)

src_prepare() {
	default
	[[ ${PV} == 9999 ]] && eautoreconf
}

src_configure() {
	local econfargs=(
		--with-xkb-base="${EPREFIX}/usr/share/X11/xkb"
		--enable-compat-rules
		# do not check for runtime deps
		--disable-runtime-deps
		--with-xkb-rules-symlink=xorg
	)

	econf "${econfargs[@]}"
}
