gui-wm/river - 0.3.5 (wayland-desktop)

Search

Install

Install this version:

emerge -a =gui-wm/river-0.3.5

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =gui-wm/river-0.3.5

Or alternatively:

emerge --autounmask-write -a =gui-wm/river-0.3.5

Package Information

Description:
Dynamic tiling wayland compositor
Homepage:
https://codeberg.org/river/river
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
0.3.5 8 ~amd64 ~arm64 0
View Raw Ebuild
# Copyright 2021-2022 Aisha Tammy
# Distributed under the terms of the ISC License

EAPI=8

inherit edo

DESCRIPTION="Dynamic tiling wayland compositor"
HOMEPAGE="https://codeberg.org/river/river"

SRC_URI="
https://codeberg.org/river/river/releases/download/v${PV}/${P}.tar.gz
https://codeberg.org/ifreund/zig-pixman/archive/v0.2.0.tar.gz -> zig-pixman-0.2.0.tar.gz
https://codeberg.org/ifreund/zig-wayland/archive/v0.2.0.tar.gz -> zig-wayland-0.2.0.tar.gz
https://codeberg.org/ifreund/zig-wlroots/archive/v0.18.0.tar.gz -> zig-wlroots-0.18.0.tar.gz
https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.2.0.tar.gz -> zig-xkbcommon-0.2.0.tar.gz
"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64"

IUSE="+man pie test +X no-llvm"
RESTRICT="!test? ( test )"

RDEPEND="
	dev-libs/libevdev
	dev-libs/libinput
	dev-libs/wayland
	>=gui-libs/wlroots-0.18.0:=[X?]
	x11-libs/libxkbcommon:=[X?]
	x11-libs/pixman
"
DEPEND="${RDEPEND}"
EZIG_VISION="0.13*"
BDEPEND="
	|| ( =dev-lang/zig-${EZIG_VISION} =dev-lang/zig-bin-${EZIG_VISION} )
	dev-libs/wayland-protocols
	man? ( app-text/scdoc )
	virtual/pkgconfig
"

QA_FLAGS_IGNORED="usr/bin/river(ctl|tile)?"

# : refer to sys-fs/ncdu :
zig-set_EZIG() {
	[[ -n ${EZIG} ]] && return

	grep_version=$(echo ${EZIG_VISION} | sed -E 's/\./\\./g; s/\*/.*/g')
	EZIG=$(compgen -c | grep 'zig.*-'$grep_version | head -n 1) || die
}

ezig() {
	zig-set_EZIG
	edo "${EZIG}" "${@}"
}
src_prepare() {
	mkdir ${WORKDIR}/deps/
	ezig fetch --global-cache-dir ${WORKDIR}/deps/  ${DISTDIR}/zig-pixman-0.2.0.tar.gz
	ezig fetch --global-cache-dir ${WORKDIR}/deps/  ${DISTDIR}/zig-wayland-0.2.0.tar.gz
	ezig fetch --global-cache-dir ${WORKDIR}/deps/  ${DISTDIR}/zig-wlroots-0.18.0.tar.gz
	ezig fetch --global-cache-dir ${WORKDIR}/deps/  ${DISTDIR}/zig-xkbcommon-0.2.0.tar.gz
	default
}

src_compile() {
	local zigoptions=(
		--verbose
		--system ${WORKDIR}/deps/p/
		-Doptimize=ReleaseSafe
		-Dman-pages=$(usex man true false)
		-Dpie=$(usex pie true false)
		-Dxwayland=$(usex X true false)
		-Dno-llvm=$(usex no-llvm true false)
		${ZIG_FLAGS[@]}
	)

	DESTDIR="${T}" ezig build "${zigoptions[@]}" --prefix /usr || die
}

src_test() {
	ezig build test || die
}

src_install() {
	cp -a "${T}"/usr "${ED}"/usr || die

	dodoc -r README.md example || die
}

USE Flags

Manage flags for this package: euse -i <flag> -p gui-wm/river | euse -E <flag> -p gui-wm/river | euse -D <flag> -p gui-wm/river

Global/Standard Flags

man
Default: Enabled (+)
pie
X
Default: Enabled (+)

Inherited Eclasses

edo

Dependencies

DEPEND

	dev-libs/libevdev
	dev-libs/libinput
	dev-libs/wayland
	>=gui-libs/wlroots-0.18.0:=[X?]
	x11-libs/libxkbcommon:=[X?]
	x11-libs/pixman

RDEPEND

	dev-libs/libevdev
	dev-libs/libinput
	dev-libs/wayland
	>=gui-libs/wlroots-0.18.0:=[X?]
	x11-libs/libxkbcommon:=[X?]
	x11-libs/pixman

BDEPEND

	|| ( =dev-lang/zig-${EZIG_VISION} =dev-lang/zig-bin-${EZIG_VISION} )
	dev-libs/wayland-protocols
	man? ( app-text/scdoc )
	virtual/pkgconfig

Manifest for 0.3.5

Type File Size Source URLs
DIST river-0.3.5.tar.gz 174264 bytes https://codeberg.org/river/river/releases/download/v0.3.5/river-0.3.5.tar.gz
DIST zig-pixman-0.2.0.tar.gz 7874 bytes https://codeberg.org/ifreund/zig-pixman/archive/v0.2.0.tar.gz
DIST zig-wayland-0.2.0.tar.gz 56543 bytes https://codeberg.org/ifreund/zig-wayland/archive/v0.2.0.tar.gz
DIST zig-wlroots-0.18.0.tar.gz 56568 bytes https://codeberg.org/ifreund/zig-wlroots/archive/v0.18.0.tar.gz
DIST zig-xkbcommon-0.2.0.tar.gz 22700 bytes https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.2.0.tar.gz