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.
gentoo-overlay/net-libs/libsignon-glib/libsignon-glib-2.1-r2.ebuild

105 lines
2.0 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
inherit meson python-r1 vala
DESCRIPTION="GLib binding for the D-Bus API provided by signond"
HOMEPAGE="https://accounts-sso.gitlab.io/"
SRC_URI="https://gitlab.com/accounts-sso/${PN}/-/archive/VERSION_${PV}/${PN}-VERSION_${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-VERSION_${PV}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 arm64 ~riscv x86"
IUSE="debug doc +introspection python test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} introspection )"
# needs more love
RESTRICT="test"
RDEPEND="
dev-libs/glib:2
net-libs/signond
introspection? ( dev-libs/gobject-introspection:= )
python? (
${PYTHON_DEPS}
dev-python/pygobject:3[${PYTHON_USEDEP}]
)
"
DEPEND="${RDEPEND}"
BDEPEND="$(python_gen_any_dep)
$(vala_depend)
dev-util/gdbus-codegen
dev-util/glib-utils
doc? ( dev-util/gtk-doc )
test? ( dev-libs/check )
"
PATCHES=(
"${FILESDIR}/${P}-docs-optional.patch"
"${FILESDIR}/${P}-meson-0.61.patch"
)
python_check_deps() { return 0; }
pkg_setup() {
python_setup
}
src_prepare() {
default
vala_setup
cp libsignon-glib/*.xml libsignon-glib/interfaces || die
}
src_configure() {
myconfigure() {
local emesonargs=(
-Ddebugging=$(usex debug true false)
-Ddocumentation=$(usex doc true false)
-Dintrospection=$(usex introspection true false)
-Dpython=$(usex python true false)
-Dtests=$(usex test true false)
)
meson_src_configure
}
if use python; then
python_foreach_impl run_in_build_dir myconfigure
else
myconfigure
fi
}
src_compile() {
if use python; then
python_foreach_impl run_in_build_dir meson_src_compile
else
meson_src_compile
fi
}
src_test() {
if use python; then
python_foreach_impl run_in_build_dir meson_src_test
else
meson_src_test
fi
}
src_install() {
einstalldocs
if use python; then
python_foreach_impl run_in_build_dir meson_src_install
python_foreach_impl python_optimize
else
meson_src_install
fi
}