Fiw-Gentoo-Dots/overlay/gui-wm/tidewm/tidewm-9999.ebuild

77 lines
1.9 KiB
Bash

# Copyright 2026 Fiw
# Distributed under the terms of the GNU General Public License v2
EAPI=8
RUST_MIN_VER="1.86.0"
inherit cargo git-r3 xdg
DESCRIPTION="Water-themed Wayland tiling compositor built on Smithay"
HOMEPAGE="https://github.com/Fi3w0/TideWM"
EGIT_REPO_URI="https://github.com/Fi3w0/TideWM.git"
# Development happens on this branch; master is behind it.
EGIT_BRANCH="claude/new-session-bppt7l"
LICENSE="GPL-3+"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-3.0 ZLIB"
SLOT="0"
IUSE="+screencast accessibility"
DEPEND="
dev-libs/expat
dev-libs/libinput:=
media-libs/mesa
sys-auth/seatd:=
virtual/libudev:=
x11-libs/libdrm
x11-libs/libxkbcommon
screencast? ( media-video/pipewire:= )
"
RDEPEND="${DEPEND}
screencast? ( sys-apps/xdg-desktop-portal )
"
# pipewire-sys generates its bindings with bindgen (libclang)
BDEPEND="screencast? ( llvm-core/clang )"
QA_FLAGS_IGNORED=".*"
# Developer override: build from a local checkout instead of GitHub, e.g. in
# /etc/portage/env/gui-wm/tidewm: set TIDEWM_SRC to your checkout.
src_unpack() {
if [[ -n ${TIDEWM_SRC} ]]; then
einfo "Building from local checkout ${TIDEWM_SRC}"
mkdir -p "${S}" || die
tar -C "${TIDEWM_SRC}" --exclude=./target --exclude=./.git -cf - . |
tar -C "${S}" -xf - || die
else
git-r3_src_unpack
fi
cargo_live_src_unpack
}
src_configure() {
local myfeatures=(
$(usev screencast)
$(usev accessibility)
)
cargo_src_configure
}
src_install() {
dobin "$(cargo_target_dir)"/TideWM "$(cargo_target_dir)"/tidectl
insinto /usr/share/wayland-sessions
doins share/wayland-sessions/tidewm.desktop
newicon share/icons/TideWM-logo-faithful-4k.png tidewm.png
if use screencast; then
insinto /usr/share/xdg-desktop-portal/portals
doins share/xdg-desktop-portal/tidewm.portal
insinto /usr/share/xdg-desktop-portal
doins share/xdg-desktop-portal/tidewm-portals.conf
fi
dodoc README.md CHANGELOG.md DOCUMENTATION.md WAVE.md
}