repo/proj/guru:dev commit in: gui-wm/river/

"Violet Purcell" <[email protected]> Tue, 04 Aug 2026 17:34:14 +0000 (UTC)
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1785864727.de27d6bb25aaaf4e1ce3399f6b00a1589d436dcd.vimproved@gentoo>
commit:     de27d6bb25aaaf4e1ce3399f6b00a1589d436dcd
Author:     Violet Purcell <vi <AT> vimproved <DOT> dev>
AuthorDate: Tue Aug  4 17:32:07 2026 +0000
Commit:     Violet Purcell <vimproved <AT> inventati <DOT> org>
CommitDate: Tue Aug  4 17:32:07 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=de27d6bb

gui-wm/river: add 0.4.7

Signed-off-by: Violet Purcell <vi <AT> vimproved.dev>

 gui-wm/river/Manifest           |   1 +
 gui-wm/river/river-0.4.7.ebuild | 103 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)

diff --git a/gui-wm/river/Manifest b/gui-wm/river/Manifest
index acbea37376..c2629804dd 100644
--- a/gui-wm/river/Manifest
+++ b/gui-wm/river/Manifest
@@ -3,6 +3,7 @@ DIST pixman-0.3.0-LClMnz2VAAAs7QSCGwLimV5VUYx0JFnX5xWU6HwtMuDX.tar.gz 7976 BLAKE
 DIST river-0.4.3.tar.gz 164735 BLAKE2B 969e5eb612b2155e99e0b58ff28439021f3353642d1568b0e3b12533a3d689c859fd6e88c9afd5fd975ff510bed479c9d97750f76b87608a96cc56d10c20009e SHA512 799a4951f8b4fe30ae4c6a3eefc133f74cc55ab9eaf947bd43160b275392cc7ea4692467ba18bf09bdf61a01964059695e9719f32c15563af94414262ea4b7fd
 DIST river-0.4.5.tar.gz 162386 BLAKE2B 717b8327944508c7608b104af2d7ead074830b99db44b2882ef9aea20f87484202f879ec3346dfcb84c6df016f3b12aaa1f777a3e2d497c4da9834692b3c6915 SHA512 30e7f0a1d881f5208e6f4f028d03c75d2c6ab86e10fcfee324fc89594a57385207d6ba003082cb8797c6d6b0091ac47f9bb03f07a9c6e1a05b8675413916ee8e
 DIST river-0.4.6.tar.gz 167954 BLAKE2B 31ea80d1053626c6f2f4962eb0518a747653f6c6e62711adaf7c46bd74073ddc0c03cd145024830ec366d5dada59d10462edc410c56011517b1d284f4bf2336c SHA512 b6e213b1095bf3da1a0674e9b16f835db1b075cedbd082ae5f16451683ed03f595acf1332d1228b161dbc721419087a5bc1bbc295c50eb2e52f590c6fc1f38a8
+DIST river-0.4.7.tar.gz 167590 BLAKE2B ec35871f641acd3572eaac1bae67363d9b2f68daff1c1fc36a82684179e15da7ebfd016436f9f369a87f96daba9b435cef462c9302e3e8c9020b19e7c893b567 SHA512 80b0d944b5fd415dd411408d8eb0b25ca622dfcc42f715b64cc05aad6aa4f96b963ac5f156882a11a76ee7accc003415de2768cb53da5dafa6f0f62e2b71d794
 DIST river-classic-0.3.15.tar.gz 178643 BLAKE2B 80ce56d3f0d255ce2ffbd46c8140eb9bf4fbe307d05473e68bd12dac71988c9cac2cf51b4ecc56bdd39ba1ef0c67dfe9483adb7c73842fd1f4b13dc20fa97156 SHA512 3b6fbe0868f27728767e637df5551acdc34fe856d78cd8510a0fa2978fdf5db8e72137eea928a76599d2abced5026326a4f53605ea53f611b152281aaa5efdc6
 DIST river-classic-0.3.17.tar.gz 178596 BLAKE2B 771d0127e3ab530ac7e27b3cf1cfd3f3bc14d85986c4545dc8b6927e70f0dfe4cf91d2c1425036f64604cf43532a6cce0697fd3d54de512094da0f2592d3486f SHA512 e3fe02f2906052476d61b40f6543accc7573e0ded0f9e39fb4650717f8d98cfbaf681bd3dd62e2dc726ecd3208201fdd5263c4acd3e59a379133e0c80df3b208
 DIST translate_c-0.0.0-Q_BUWlX1BgCD1wo6uo97prlp9VJ4gxAjwN_vZ7nsSjGN.tar.gz 146648 BLAKE2B 3e2a3e6bc73ba1bcbd9c2974d313a38125eb4db85cd8055d1fb5321510a5d1a90d98f30f75743aa3955a880cefba64e4dd2c0c0245fc226478d03563d6617862 SHA512 fb5edcae6414487a7008cc84411da3a4396a1dd19d31ae450db3e6fa9475a2d5c742e1e560923bfb49f372541b1c3c46cf51aa33749027b270aaaa50e524b8d6

diff --git a/gui-wm/river/river-0.4.7.ebuild b/gui-wm/river/river-0.4.7.ebuild
new file mode 100644
index 0000000000..a390cf468a
--- /dev/null
+++ b/gui-wm/river/river-0.4.7.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+declare -g -r -A ZBS_DEPENDENCIES=(
+	[pixman-0.3.0-LClMnz2VAAAs7QSCGwLimV5VUYx0JFnX5xWU6HwtMuDX.tar.gz]='https://codeberg.org/ifreund/zig-pixman/archive/v0.3.0.tar.gz'
+	[wayland-0.6.0-lQa1kqz8AQADQmdNJsNhLoNHcnEGEUjrOaPV-dtEnEmX.tar.gz]='https://codeberg.org/ifreund/zig-wayland/archive/v0.6.0.tar.gz'
+	[wlroots-0.20.1-jmOlcqNVBAB3uB5oqBTzpRlwu-FmMyyZMVAWCe5kmcSt.tar.gz]='https://codeberg.org/ifreund/zig-wlroots/archive/v0.20.1.tar.gz'
+	[xkbcommon-0.4.0-VDqIe0i2AgDRsok2GpMFYJ8SVhQS10_PI2M_CnHXsJJZ.tar.gz]='https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.4.0.tar.gz'
+	[translate_c-0.0.0-Q_BUWlX1BgCD1wo6uo97prlp9VJ4gxAjwN_vZ7nsSjGN.tar.gz]='https://codeberg.org/ziglang/translate-c/archive/57c559cf581b1fcad90494eda219f98abeb155ce.tar.gz'
+	# Inherited from translate-c
+	[aro-0.0.0-JSD1Qi7QNgDnfcrdEJf82v3o6MhZySjYVrtdfEf3E4Se.tar.gz]='https://github.com/Vexu/arocc/archive/5f5a050569a95ecc40a426f0c3666ae7ef987ede.tar.gz'
+)
+ZIG_SLOT="0.16"
+
+inherit eapi9-ver zig
+
+DESCRIPTION="A dynamic tiling Wayland compositor"
+HOMEPAGE="https://isaacfreund.com/software/river/ https://codeberg.org/river/river"
+
+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 ~arm64"
+fi
+
+# river: GPL-3-or-later
+# zig-pixman, zig-wayland, zig-wlroots, zig-xkbcommon: MIT
+LICENSE="GPL-3+ MIT"
+SLOT="0"
+IUSE="X man"
+
+BDEPEND="
+	dev-libs/wayland-protocols
+	dev-util/wayland-scanner
+	man? ( app-text/scdoc )
+	|| (
+		dev-lang/zig:${ZIG_SLOT}
+		dev-lang/zig-bin:${ZIG_SLOT}
+	)
+"
+DEPEND="
+	dev-libs/libevdev
+	dev-libs/libinput:=
+	dev-libs/wayland
+	gui-libs/wlroots:0.20[X?]
+	x11-libs/libxkbcommon[wayland,X?]
+	x11-libs/pixman
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( "README.md" )
+
+PATCHES=(
+	"${FILESDIR}/river-0.4.1-fix-scdoc-path.patch"
+)
+
+src_unpack() {
+	if [[ "${PV}" = "9999" ]]; then
+		git-r3_src_unpack
+		zig_live_src_unpack
+	else
+		zig_src_unpack
+	fi
+}
+
+src_configure() {
+	local my_zbs_args=(
+		-Dstrip=false # Let Portage control this
+		-Dpie=true
+		-Dllvm=$(usex amd64 false 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
+}
+
+pkg_postinst() {
+	if ver_replacing -lt 0.4; then
+		ewarn "River 0.4.x is a significant rework of the compositor's architecture,"
+		ewarn "and requires significant manual migration. If you would like to stay on"
+		ewarn "river 0.3.x, simply add '>=gui-wm/river-0.4' to your package.mask to"
+		ewarn "use river-classic continuation of the 0.3.x branch."
+	fi
+
+	einfo "River requires an separate window manager in addition to the main"
+	einfo "compositor. For some options, see gui-wm/canoe and gui-wm/kwm."
+}