Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 2020 23:47:37 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r554797 - in head/x11-wm: . river river/files
Message-ID:  <202011092347.0A9Nlbxv039765@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011092347.0A9Nlbxv039765>