gui-wm/river: add 9999

Signed-off-by: Violet Purcell <vimproved@inventati.org>
Part-of: https://github.com/gentoo/guru/pull/421
This commit is contained in:
Violet Purcell
2026-01-16 16:48:50 -05:00
parent f0029977c5
commit 38003da3bc
2 changed files with 94 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
--- a/build.zig
+++ b/build.zig
@@ -252,8 +252,9 @@
inline for (.{"river"}) |page| {
// Workaround for https://github.com/ziglang/zig/issues/16369
// Even passing a buffer to std.Build.Step.Run appears to be racy and occasionally deadlocks.
- const scdoc = b.addSystemCommand(&.{ "/bin/sh", "-c", "scdoc < doc/" ++ page ++ ".1.scd" });
+ // Fix: Ensure scdoc runs in the correct source directory to find .scd files
+ const scdoc = b.addSystemCommand(&.{ "/bin/sh", "-c", b.fmt("cd {s} && scdoc < doc/{s}.1.scd", .{ b.build_root.path orelse ".", page }) });
// This makes the caching work for the Workaround, and the extra argument is ignored by /bin/sh.
scdoc.addFileArg(b.path("doc/" ++ page ++ ".1.scd"));
const stdout = scdoc.captureStdOut();
b.getInstallStep().dependOn(&b.addInstallFile(stdout, "share/man/man1/" ++ page ++ ".1").step);

View File

@@ -0,0 +1,80 @@
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="A dynamic tiling Wayland compositor"
HOMEPAGE="https://isaacfreund.com/software/river/ https://codeberg.org/river/river"
ZIG_SLOT="0.15"
inherit zig
if [[ "${PV}" = "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://codeberg.org/river/river.git"
else
# TODO verify-sig support
SRC_URI="
https://codeberg.org/river/river/releases/download/v${PV}/${P}.tar.gz
${ZBS_DEPENDENCIES_SRC_URI}
"
KEYWORDS="~amd64"
fi
# river: GPL-3-or-later
# zig-pixman, zig-wayland, zig-wlroots, zig-xkbcommon: MIT
LICENSE="GPL-3+ MIT"
SLOT="0"
IUSE="X +llvm man"
BDEPEND="
dev-libs/wayland-protocols
dev-util/wayland-scanner
man? ( app-text/scdoc )
|| (
dev-lang/zig:${ZIG_SLOT}[llvm(+)?]
dev-lang/zig-bin:${ZIG_SLOT}
)
"
DEPEND="
dev-libs/libevdev
dev-libs/libinput:=
dev-libs/wayland
gui-libs/wlroots:0.19[X?]
x11-libs/libxkbcommon[wayland,X?]
x11-libs/pixman
"
RDEPEND="${DEPEND}"
DOCS=( "README.md" )
PATCHES=(
"${FILESDIR}/${P}-fix-scdoc-path.patch"
)
src_unpack() {
if [[ "${PV}" = "9999" ]]; then
git-r3_src_unpack
zig_live_fetch
else
zig_src_unpack
fi
}
src_configure() {
local my_zbs_args=(
-Dstrip=false # Let Portage control this
-Dpie=true
-Dman-pages=$(usex man true false)
-Dxwayland=$(usex X true false)
)
zig_src_configure
}
src_install() {
zig_src_install
insinto /usr/share/wayland-sessions/
doins contrib/river.desktop
}