# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CARGO_OPTIONAL=1 inherit cargo cmake edo git-r3 gnome2-utils DESCRIPTION="Desktop integration for waywallen" HOMEPAGE="https://github.com/waywallen/waywallen-display" EGIT_REPO_URI="https://github.com/waywallen/${PN}.git" LICENSE="Apache-2.0 GPL-3+ ISC MIT Unicode-3.0" SLOT="0" IUSE="egl gnome layershell qml test vulkan" REQUIRED_USE="layershell? ( || ( egl vulkan ) )" RESTRICT="!test? ( test )" RDEPEND="egl? ( media-libs/libglvnd ) gnome? ( dev-libs/glib:2 gui-libs/gtk:4 ) qml? ( dev-qt/qtbase:6[dbus,gui] dev-qt/qtdeclarative:6 ) vulkan? ( media-libs/vulkan-loader )" DEPEND="${RDEPEND} gnome? ( dev-libs/gobject-introspection ) vulkan? ( dev-util/vulkan-headers )" BDEPEND="sys-devel/gettext virtual/pkgconfig layershell? ( ${RUST_DEPEND} dev-util/glslang )" src_unpack() { default git-r3_src_unpack use layershell && cargo_live_src_unpack } src_configure() { local mycmakeargs=( -DWAYWALLEN_DISPLAY_BUILD_TESTS="$(usex test)" -DCMAKE_DISABLE_FIND_PACKAGE_Vulkan="$(usex vulkan OFF ON)" -DWAYWALLEN_DISPLAY_PLUGIN_GOBJECT="$(usex gnome)" -DWAYWALLEN_DISPLAY_PLUGIN_GNOME="$(usex gnome)" -DWAYWALLEN_DISPLAY_PLUGIN_QML="$(usex qml)" -DWAYWALLEN_DISPLAY_WITH_EGL="$(usex egl)" -DWAYWALLEN_DISPLAY_WITH_VULKAN="$(usex vulkan)" -DWAYWALLEN_DISPLAY_REGEN_PROTO=OFF ) cmake_src_configure use layershell && cargo_src_configure --bin waywallen-layer-shell \ --no-default-features --features "layer-shell$(usev egl ',egl')$(usev vulkan ',vulkan')" } src_compile() { cmake_src_compile use layershell && cargo_src_compile } src_install() { cmake_src_install use layershell && cargo_src_install --bin waywallen-layer-shell edo rm "${ED}"/usr/"$(get_libdir)"/libwaywallen_display.a } pkg_postinst() { use gnome && gnome2_schemas_update } pkg_postrm() { use gnome && gnome2_schemas_update }