svn commit: r554797 - in head/x11-wm: . river river/files
Jan Beich
jbeich at FreeBSD.org
Mon Nov 9 23:47:38 UTC 2020
Author: jbeich
Date: Mon Nov 9 23:47:36 2020
New Revision: 554797
URL: https://svnweb.freebsd.org/changeset/ports/554797
Log:
x11-wm/river: add new port
river is a dynamic tiling wayland compositor that takes inspiration
from dwm and bspwm.
https://github.com/ifreund/river
Added:
head/x11-wm/river/
head/x11-wm/river/Makefile (contents, props changed)
head/x11-wm/river/distinfo (contents, props changed)
head/x11-wm/river/files/
head/x11-wm/river/files/patch-sigset (contents, props changed)
head/x11-wm/river/pkg-descr (contents, props changed)
Modified:
head/x11-wm/Makefile (contents, props changed)
Modified: head/x11-wm/Makefile
==============================================================================
--- head/x11-wm/Makefile Mon Nov 9 23:42:58 2020 (r554796)
+++ head/x11-wm/Makefile Mon Nov 9 23:47:36 2020 (r554797)
@@ -84,6 +84,7 @@
SUBDIR += qtile
SUBDIR += ratmen
SUBDIR += ratpoison
+ SUBDIR += river
SUBDIR += rubygem-uh-layout
SUBDIR += rubygem-uh-wm
SUBDIR += sawfish
Added: head/x11-wm/river/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/river/Makefile Mon Nov 9 23:47:36 2020 (r554797)
@@ -0,0 +1,53 @@
+# $FreeBSD$
+
+PORTNAME= river
+PORTVERSION= s20201104
+CATEGORIES= x11-wm
+
+MAINTAINER= jbeich at FreeBSD.org
+COMMENT= Dynamic tiling Wayland compositor
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols \
+ zig>=0.7.0:lang/zig
+LIB_DEPENDS= libevdev.so:devel/libevdev \
+ libwayland-server.so:graphics/wayland \
+ libwlroots.so:x11-toolkits/wlroots \
+ libxkbcommon.so:x11/libxkbcommon
+
+USES= pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= ifreund
+GH_TAGNAME= 5a6018f
+GH_TUPLE= ifreund:zig-wayland:931b6f7:zig_wayland/deps/zig-wayland
+CONFIGURE_ARGS= --prefix "${STAGEDIR}${PREFIX}" \
+ ${WITH_DEBUG:U-Drelease-fast=true} \
+ --verbose
+NO_INSTALL= yes # strip(1) breaks runtime
+PLIST_FILES= bin/${PORTNAME} \
+ bin/${PORTNAME}ctl \
+ bin/${PORTNAME}tile
+
+OPTIONS_DEFINE= MANPAGES X11
+OPTIONS_DEFAULT=MANPAGES X11
+
+MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
+MANPAGES_CONFIGURE_ON= -Dman-pages=true
+MANPAGES_CONFIGURE_OFF= -Dman-pages=false
+MANPAGES_PLIST_FILES= share/man/man1/${PORTNAME}.1.gz \
+ share/man/man1/${PORTNAME}ctl.1.gz \
+ share/man/man1/${PORTNAME}tile.1.gz \
+ share/man/man7/${PORTNAME}-layouts.7.gz
+
+X11_CONFIGURE_ON= -Dxwayland=true
+X11_CONFIGURE_OFF= -Dxwayland=false
+
+do-build:
+ @(cd ${WRKSRC} && ${MAKE_ENV} zig build ${CONFIGURE_ARGS})
+
+do-test:
+ @(cd ${WRKSRC} && ${TEST_ENV} zig build test ${CONFIGURE_ARGS})
+
+.include <bsd.port.mk>
Added: head/x11-wm/river/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/river/distinfo Mon Nov 9 23:47:36 2020 (r554797)
@@ -0,0 +1,5 @@
+TIMESTAMP = 1604500250
+SHA256 (ifreund-river-s20201104-5a6018f_GH0.tar.gz) = 807f4536abf1234969e4e32b4ba43fe1105e997d0dc4c272d55c8ea518791e08
+SIZE (ifreund-river-s20201104-5a6018f_GH0.tar.gz) = 91438
+SHA256 (ifreund-zig-wayland-931b6f7_GH0.tar.gz) = fb88a66e18f3d8b7b3d1ceb44dfb3085472134774035136d5d08f4ffcfe8bc2c
+SIZE (ifreund-zig-wayland-931b6f7_GH0.tar.gz) = 49602
Added: head/x11-wm/river/files/patch-sigset
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/river/files/patch-sigset Mon Nov 9 23:47:36 2020 (r554797)
@@ -0,0 +1,31 @@
+https://github.com/ziglang/zig/issues/5892
+
+./river/main.zig:82:70: error: container 'std.os' has no member called 'empty_sigset'
+ if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.empty_sigset, null) < 0) unreachable;
+ ^
+./river/command/spawn.zig:49:66: error: container 'std.os' has no member called 'empty_sigset'
+ if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.empty_sigset, null) < 0) unreachable;
+ ^
+
+--- river/command/spawn.zig.orig 2020-11-04 14:30:50 UTC
++++ river/command/spawn.zig
+@@ -46,7 +46,7 @@ pub fn spawn(
+ if (pid == 0) {
+ // Clean things up for the child in an intermediate fork
+ if (c.setsid() < 0) unreachable;
+- if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.empty_sigset, null) < 0) unreachable;
++ if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.sigset_t{ .__bits = [_]u32{0} ** std.os._SIG_WORDS }, null) < 0) unreachable;
+
+ const pid2 = std.os.fork() catch c._exit(1);
+ if (pid2 == 0) std.os.execveZ("/bin/sh", &child_args, std.c.environ) catch c._exit(1);
+--- river/main.zig.orig 2020-11-04 14:30:50 UTC
++++ river/main.zig
+@@ -79,7 +79,7 @@ pub fn main() anyerror!void {
+ const child_args = [_:null]?[*:0]const u8{ "/bin/sh", "-c", cmd, null };
+ const pid = try std.os.fork();
+ if (pid == 0) {
+- if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.empty_sigset, null) < 0) unreachable;
++ if (std.os.system.sigprocmask(std.os.SIG_SETMASK, &std.os.sigset_t{ .__bits = [_]u32{0} ** std.os._SIG_WORDS }, null) < 0) unreachable;
+ std.os.execveZ("/bin/sh", &child_args, std.c.environ) catch c._exit(1);
+ }
+ break :blk pid;
Added: head/x11-wm/river/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-wm/river/pkg-descr Mon Nov 9 23:47:36 2020 (r554797)
@@ -0,0 +1,8 @@
+river is a dynamic tiling wayland compositor that takes inspiration
+from dwm and bspwm.
+
+Note: river is currently early in development. Expect breaking changes
+and missing features. If you run into a bug don't hesitate to open an
+issue upstream.
+
+WWW: https://github.com/ifreund/river
More information about the svn-ports-head
mailing list