You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.3 KiB
99 lines
2.3 KiB
# Copyright 2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
PYTHON_COMPAT=( python3_{10..12} )
|
|
inherit meson python-any-r1
|
|
|
|
DESCRIPTION="Library for Emulated Input, primarily aimed at the Wayland stack"
|
|
HOMEPAGE="https://gitlab.freedesktop.org/libinput/libei"
|
|
SRC_URI="https://gitlab.freedesktop.org/libinput/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
|
MUNIT_COMMIT="fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
|
|
SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> munit-${MUNIT_COMMIT}.tar.gz"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv"
|
|
IUSE="elogind systemd test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
RDEPEND="
|
|
>=dev-libs/libevdev-1.9.902
|
|
|| (
|
|
systemd? ( >=sys-apps/systemd-237 )
|
|
elogind? ( >=sys-auth/elogind-237 )
|
|
sys-libs/basu
|
|
)
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
BDEPEND="
|
|
virtual/pkgconfig
|
|
$(python_gen_any_dep '
|
|
dev-python/attrs[${PYTHON_USEDEP}]
|
|
dev-python/jinja[${PYTHON_USEDEP}]
|
|
')
|
|
test? (
|
|
$(python_gen_any_dep '
|
|
dev-python/pytest[${PYTHON_USEDEP}]
|
|
dev-python/python-dbusmock[${PYTHON_USEDEP}]
|
|
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
dev-python/structlog[${PYTHON_USEDEP}]
|
|
')
|
|
)
|
|
"
|
|
|
|
python_check_deps() {
|
|
if use test; then
|
|
python_has_version \
|
|
"dev-python/pytest[${PYTHON_USEDEP}]" \
|
|
"dev-python/python-dbusmock[${PYTHON_USEDEP}]" \
|
|
"dev-python/pyyaml[${PYTHON_USEDEP}]" \
|
|
"dev-python/structlog[${PYTHON_USEDEP}]" \
|
|
|| return 1
|
|
fi
|
|
python_has_version \
|
|
"dev-python/attrs[${PYTHON_USEDEP}]" \
|
|
"dev-python/jinja[${PYTHON_USEDEP}]" \
|
|
|| return 1
|
|
}
|
|
|
|
src_unpack() {
|
|
if [[ -n ${A} ]]; then
|
|
unpack ${A}
|
|
mv "${WORKDIR}"/munit-${MUNIT_COMMIT} "${WORKDIR}"/${P}/subprojects/munit || die
|
|
rm "${WORKDIR}"/${P}/subprojects/munit.wrap || die
|
|
fi
|
|
}
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
sed -i -e 's:^valgrind = .*:valgrind = disabler():g' test/meson.build || die
|
|
}
|
|
|
|
src_configure() {
|
|
local emesonargs=(
|
|
-Ddocumentation=""
|
|
-Dliboeffis=enabled
|
|
$(meson_feature test tests)
|
|
)
|
|
if use systemd; then
|
|
emesonargs+=(-Dsd-bus-provider=libsystemd)
|
|
elif use elogind; then
|
|
emesonargs+=(-Dsd-bus-provider=libelogind)
|
|
else
|
|
emesonargs+=(-Dsd-bus-provider=basu)
|
|
fi
|
|
meson_src_configure
|
|
}
|
|
|
|
src_install() {
|
|
meson_src_install
|
|
|
|
# munit subproject is installed but not wanted
|
|
if use test; then
|
|
rm "${ED}"/usr/lib*/libmunit.so || die
|
|
fi
|
|
}
|