aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaichi Yamamoto <dev@dyama.net>2024-08-04 14:48:30 +0900
committerDaichi Yamamoto <dev@dyama.net>2024-08-04 14:48:56 +0900
commit433ddc6d4900cb2ba3d9adc7e5f19aee62022128 (patch)
tree96d7d09eb5a59639a90086cac89b072ca32163d3
parentsys-fs/sanoid: add 2.2.0 (diff)
downloadguru-433ddc6d4900cb2ba3d9adc7e5f19aee62022128.tar.gz
guru-433ddc6d4900cb2ba3d9adc7e5f19aee62022128.tar.bz2
guru-433ddc6d4900cb2ba3d9adc7e5f19aee62022128.zip
gui-wm/river: new package, add 0.3.5
Signed-off-by: Daichi Yamamoto <dev@dyama.net>
-rw-r--r--gui-wm/river/Manifest5
-rw-r--r--gui-wm/river/files/river-0.3.5-build-zig-zon.patch27
-rw-r--r--gui-wm/river/files/river-0.3.5-zig-0.12.0.patch27
-rw-r--r--gui-wm/river/metadata.xml16
-rw-r--r--gui-wm/river/river-0.3.5.ebuild87
5 files changed, 162 insertions, 0 deletions
diff --git a/gui-wm/river/Manifest b/gui-wm/river/Manifest
new file mode 100644
index 000000000..36e44d7c1
--- /dev/null
+++ b/gui-wm/river/Manifest
@@ -0,0 +1,5 @@
+DIST river-0.3.5.tar.gz 170903 BLAKE2B a4bdfc0ddd1dc92d6bed392c8a68a2639ef6ae3ee5d217c93d326edcec52af87286ac1c376a60554f9f65443a3130a1d44ff7841dba903a0d17516c94c95ce27 SHA512 49e3d0488030aee4f69936605fafc0027b2c78a9a399b5153d54a5ba64592c7efdc67bfd7fedcab6ba93c0689bc921f5a978f7b4b1a12e0c5fda0242900d328c
+DIST zig-pixman-0.2.0.tar.gz 7874 BLAKE2B 25e0e0a65ab45c08e13ed48393e0d009a63e0ec4c2d8452f08ec4b013f9b696adb1d7356a49b1c3b25710982fb34629002df8d433382d433fcdefd1de5fd4358 SHA512 61ce38e9788e9a3701cf32b2d8721424088e1a8bd11841fecc999a31f9b46148e63a35cf770a39edcc7887913019654f7df945b7d7e3b57437d007f7d45609b9
+DIST zig-wayland-0.2.0.tar.gz 56543 BLAKE2B aaf82efe78d25c59a87de050147857fcf9a19764141cb40d92b0dd48b96ea0ec52d00a1ab0df1afe4c45cda6d64dda97f296f0aa29d8b9ea3da49e1d5cd69e50 SHA512 dfb140c06d9e3c566034f9102426e7bd47dcde87a2ae16d43ce3ea72cf44bea872bab1d9a23a24ae9d57d2d4ae6c56060a6b10f869de3990046426b0462db85e
+DIST zig-wlroots-0.18.0.tar.gz 56568 BLAKE2B 2ff804f7472d9c48cc29375afcdbdaba996b0c73b4660a89cd982058c79603a0d3f5e7233b0bfe7f2a5af33046ea7dddddad95136a890997020be0f0beb3b050 SHA512 a67b35c0475253b581728a407d46e256ca1f587d7cc105f00f5a7e5eb39808cea46a3d302c965f92e08801e99e67a450c11f085a94b57b1d86c0c3bab83b806d
+DIST zig-xkbcommon-0.2.0.tar.gz 22700 BLAKE2B 85045d002b4ec1ac8dadda67d3ce6f588e53938ac0a67c06d6cebc85a944d7a23fd1cc295410ce1a91cce9ffb587834f7eca2400e1468fec0193583ac71d6f86 SHA512 a99b6a2fefe34507fd687b58a9618a27ca617966798b410a72c9e53462c3f9c6dd0476a22bb9686cbf49994ca502743b4d25fdc55125359d4fe2860094bf0e82
diff --git a/gui-wm/river/files/river-0.3.5-build-zig-zon.patch b/gui-wm/river/files/river-0.3.5-build-zig-zon.patch
new file mode 100644
index 000000000..ae916f5b6
--- /dev/null
+++ b/gui-wm/river/files/river-0.3.5-build-zig-zon.patch
@@ -0,0 +1,27 @@
+--- a/build.zig.zon
++++ b/build.zig.zon
+@@ -4,20 +4,16 @@
+ .paths = .{""},
+ .dependencies = .{
+ .@"zig-pixman" = .{
+- .url = "https://codeberg.org/ifreund/zig-pixman/archive/v0.2.0.tar.gz",
+- .hash = "12209db20ce873af176138b76632931def33a10539387cba745db72933c43d274d56",
++ .path = "deps/zig-pixman",
+ },
+ .@"zig-wayland" = .{
+- .url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.2.0.tar.gz",
+- .hash = "1220687c8c47a48ba285d26a05600f8700d37fc637e223ced3aa8324f3650bf52242",
++ .path = "deps/zig-wayland",
+ },
+ .@"zig-wlroots" = .{
+- .url = "https://codeberg.org/ifreund/zig-wlroots/archive/v0.18.0.tar.gz",
+- .hash = "12204d789e17c158971f69c7b900e8d8f288e7b9e42b2242f3adfbca57e8266d848f",
++ .path = "deps/zig-wlroots",
+ },
+ .@"zig-xkbcommon" = .{
+- .url = "https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.2.0.tar.gz",
+- .hash = "1220c90b2228d65fd8427a837d31b0add83e9fade1dcfa539bb56fd06f1f8461605f",
++ .path = "deps/zig-xkbcommon",
+ },
+ },
+ }
diff --git a/gui-wm/river/files/river-0.3.5-zig-0.12.0.patch b/gui-wm/river/files/river-0.3.5-zig-0.12.0.patch
new file mode 100644
index 000000000..88442d220
--- /dev/null
+++ b/gui-wm/river/files/river-0.3.5-zig-0.12.0.patch
@@ -0,0 +1,27 @@
+zig-wayland-0.2.0
+--- a/deps/zig-wayland/src/scanner.zig
++++ b/deps/zig-wayland/src/scanner.zig
+@@ -528,7 +528,7 @@
+ // These interfaces are special in that their version may never be increased.
+ // That is, they are pinned to version 1 forever. They also may break the
+ // normally required tree object creation hierarchy.
+- const version_locked_interfaces = std.StaticStringMap(void).initComptime(.{
++ const version_locked_interfaces = std.ComptimeStringMap(void, .{
+ .{"wl_display"},
+ .{"wl_registry"},
+ .{"wl_callback"},
+
+river-0.3.5
+--- a/river/command.zig
++++ b/river/command.zig
+@@ -36,9 +36,8 @@
+ vertical,
+ };
+
+-const command_impls = std.StaticStringMap(
++const command_impls = std.ComptimeStringMap(
+ *const fn (*Seat, []const [:0]const u8, *?[]const u8) Error!void,
+-).initComptime(
+ .{
+ // zig fmt: off
+ .{ "attach-mode", @import("command/attach_mode.zig").defaultAttachMode },
diff --git a/gui-wm/river/metadata.xml b/gui-wm/river/metadata.xml
new file mode 100644
index 000000000..9d512004a
--- /dev/null
+++ b/gui-wm/river/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>dev@dyama.net</email>
+ <name>Daichi Yamamoto</name>
+ </maintainer>
+ <use>
+ <flag name="fish-completion">Enable fish-completion support</flag>
+ <flag name="llvm">Use LLVM Zig backend</flag>
+ <flag name="xwayland">Enable xwayland support</flag>
+ </use>
+ <upstream>
+ <remote-id type="codeberg">river/river</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/gui-wm/river/river-0.3.5.ebuild b/gui-wm/river/river-0.3.5.ebuild
new file mode 100644
index 000000000..8226a42ae
--- /dev/null
+++ b/gui-wm/river/river-0.3.5.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo
+
+DESCRIPTION="A dynamic tiling Wayland compositor"
+HOMEPAGE="https://isaacfreund.com/software/river/"
+
+SRC_URI="
+ https://codeberg.org/river/river/archive/v${PV}.tar.gz -> ${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
+"
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-build-zig-zon.patch"
+ "${FILESDIR}/${P}-zig-0.12.0.patch"
+)
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+llvm +man pie xwayland bash-completion zsh-completion fish-completion"
+
+EZIG_MIN="0.12"
+
+DEPEND="
+ || ( dev-lang/zig-bin:${EZIG_MIN} dev-lang/zig:${EZIG_MIN} )
+ dev-libs/wayland
+ gui-libs/wlroots:0.18
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+"
+RDEPEND="${DEPEND}"
+
+# https://github.com/ziglang/zig/issues/3382
+QA_FLAGS_IGNORED="usr/bin/*"
+
+ezig_build() {
+ EZIG=zig
+ edo "${EZIG}" build "${ZIG_BUILD_ARGS[@]}" "${@}"
+}
+
+src_unpack() {
+ default
+
+ edo mkdir "${S}/deps"
+ edo mv zig-pixman "${S}/deps"
+ edo mv zig-wayland "${S}/deps"
+ edo mv zig-wlroots "${S}/deps"
+ edo mv zig-xkbcommon "${S}/deps"
+}
+
+src_configure() {
+ export ZIG_BUILD_ARGS=(
+ -Doptimize=ReleaseSafe
+
+ -Dpie=$(usex pie true false)
+ -Dno-llvm=$(usex llvm false true)
+ -Dman-pages=$(usex man true false)
+ -Dbash-completion=$(usex bash-completion true false)
+ -Dzsh-completion=$(usex zsh-completion true false)
+ -Dfish-completion=$(usex fish-completion true false)
+ -Dxwayland=$(usex xwayland true false)
+ )
+}
+
+src_compile() {
+ ezig_build
+}
+
+src_test() {
+ ezig_build test
+}
+
+src_install() {
+ ezig_build install --prefix "${ED}/usr"
+
+ dodoc README.md
+ insinto /usr/share/wayland-sessions
+ doins contrib/river.desktop
+}