mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-11 07:22:22 +00:00
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
This commit is contained in:
parent
f87655c66d
commit
fa353d8a2f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=554797
@ -84,6 +84,7 @@
|
||||
SUBDIR += qtile
|
||||
SUBDIR += ratmen
|
||||
SUBDIR += ratpoison
|
||||
SUBDIR += river
|
||||
SUBDIR += rubygem-uh-layout
|
||||
SUBDIR += rubygem-uh-wm
|
||||
SUBDIR += sawfish
|
||||
|
53
x11-wm/river/Makefile
Normal file
53
x11-wm/river/Makefile
Normal file
@ -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>
|
5
x11-wm/river/distinfo
Normal file
5
x11-wm/river/distinfo
Normal file
@ -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
|
31
x11-wm/river/files/patch-sigset
Normal file
31
x11-wm/river/files/patch-sigset
Normal file
@ -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;
|
8
x11-wm/river/pkg-descr
Normal file
8
x11-wm/river/pkg-descr
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user