From 433ddc6d4900cb2ba3d9adc7e5f19aee62022128 Mon Sep 17 00:00:00 2001 From: Daichi Yamamoto Date: Sun, 4 Aug 2024 14:48:30 +0900 Subject: gui-wm/river: new package, add 0.3.5 Signed-off-by: Daichi Yamamoto --- gui-wm/river/Manifest | 5 ++ gui-wm/river/files/river-0.3.5-build-zig-zon.patch | 27 +++++++ gui-wm/river/files/river-0.3.5-zig-0.12.0.patch | 27 +++++++ gui-wm/river/metadata.xml | 16 ++++ gui-wm/river/river-0.3.5.ebuild | 87 ++++++++++++++++++++++ 5 files changed, 162 insertions(+) create mode 100644 gui-wm/river/Manifest create mode 100644 gui-wm/river/files/river-0.3.5-build-zig-zon.patch create mode 100644 gui-wm/river/files/river-0.3.5-zig-0.12.0.patch create mode 100644 gui-wm/river/metadata.xml create mode 100644 gui-wm/river/river-0.3.5.ebuild (limited to 'gui-wm') 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 @@ + + + + + dev@dyama.net + Daichi Yamamoto + + + Enable fish-completion support + Use LLVM Zig backend + Enable xwayland support + + + river/river + + 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 +} -- cgit v1.2.3-65-gdbad