commit: 38003da3bc9028883e791b0d1edb8c19c4f072bd Author: Violet Purcell <vimproved <AT> inventati <DOT> org> AuthorDate: Fri Jan 16 21:48:50 2026 +0000 Commit: Violet Purcell <vimproved <AT> inventati <DOT> org> CommitDate: Sun Jan 18 23:16:12 2026 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=38003da3
gui-wm/river: add 9999 Signed-off-by: Violet Purcell <vimproved <AT> inventati.org> Part-of: https://github.com/gentoo/guru/pull/421 gui-wm/river/files/river-9999-fix-scdoc-path.patch | 14 ++++ gui-wm/river/river-9999.ebuild | 80 ++++++++++++++++++++++ 2 files changed, 94 insertions(+) diff --git a/gui-wm/river/files/river-9999-fix-scdoc-path.patch b/gui-wm/river/files/river-9999-fix-scdoc-path.patch new file mode 100644 index 0000000000..ab53ce6f60 --- /dev/null +++ b/gui-wm/river/files/river-9999-fix-scdoc-path.patch @@ -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); diff --git a/gui-wm/river/river-9999.ebuild b/gui-wm/river/river-9999.ebuild new file mode 100644 index 0000000000..63242ec2a7 --- /dev/null +++ b/gui-wm/river/river-9999.ebuild @@ -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 +}
