1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-30 05:40:06 +00:00

x11-wm/river: update to s20210407

Changes:	3c1f1df...9e3e920
This commit is contained in:
Jan Beich 2021-04-07 22:21:17 +00:00
parent 90331b11cb
commit 9b92750c9d
4 changed files with 12 additions and 386 deletions

View File

@ -1,6 +1,5 @@
PORTNAME= river
PORTVERSION= s20210328
PORTREVISION= 1
PORTVERSION= s20210407
CATEGORIES= x11-wm
MAINTAINER= jbeich@FreeBSD.org
@ -10,7 +9,7 @@ LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols \
wlroots>=0.12.0:x11-toolkits/wlroots \
wlroots>=0.13.0:x11-toolkits/wlroots \
zig>=0.7.1:lang/zig
LIB_DEPENDS= libevdev.so:devel/libevdev \
libwayland-server.so:graphics/wayland \
@ -21,11 +20,11 @@ USES= pkgconfig xorg
USE_GITHUB= yes
USE_XORG= pixman
GH_ACCOUNT= ifreund
GH_TAGNAME= 3c1f1df
GH_TAGNAME= 9e3e920
GH_TUPLE= ifreund:zig-pixman:7847fd1:zig_pixman/deps/zig-pixman \
ifreund:zig-wayland:f170fe0:zig_wayland/deps/zig-wayland \
ifreund:zig-xkbcommon:9e4d41f:zig_xkbcommon/deps/zig-xkbcommon \
swaywm:zig-wlroots:35e5676:zig_wlroots/deps/zig-wlroots
swaywm:zig-wlroots:6c62568:zig_wlroots/deps/zig-wlroots
MAKE_ENV= DESTDIR="${STAGEDIR}"
CONFIGURE_ARGS= --prefix "${PREFIX}" \
${WITH_DEBUG:U-Drelease-fast=true} \

View File

@ -1,11 +1,11 @@
TIMESTAMP = 1616932522
SHA256 (ifreund-river-s20210328-3c1f1df_GH0.tar.gz) = 212c3b93193b8354e07b669d31a81a5dd3f9e819c638a626e29129a65d1a357b
SIZE (ifreund-river-s20210328-3c1f1df_GH0.tar.gz) = 104754
TIMESTAMP = 1617834077
SHA256 (ifreund-river-s20210407-9e3e920_GH0.tar.gz) = a502b32b50bb0a957500b70685a1a0487f857acadcf14b6fc1d0d78735cb4647
SIZE (ifreund-river-s20210407-9e3e920_GH0.tar.gz) = 105558
SHA256 (ifreund-zig-pixman-7847fd1_GH0.tar.gz) = d2f5eef6d8566565c25f0df08aac7d537f303f6ab2b7e7a2aca3a556df60053c
SIZE (ifreund-zig-pixman-7847fd1_GH0.tar.gz) = 6548
SHA256 (ifreund-zig-wayland-f170fe0_GH0.tar.gz) = 5ab51c15c56921a1e1269da469bbbd2ac5d8b9bb01e09b9db9409d06a76d5014
SIZE (ifreund-zig-wayland-f170fe0_GH0.tar.gz) = 52945
SHA256 (ifreund-zig-xkbcommon-9e4d41f_GH0.tar.gz) = 3af5c9a448cf311d9cc819c8fd1dba114fbd7a4407f4174f95e4c82bb37f447b
SIZE (ifreund-zig-xkbcommon-9e4d41f_GH0.tar.gz) = 19025
SHA256 (swaywm-zig-wlroots-35e5676_GH0.tar.gz) = 691843a46766df352d65865fe97d38445b55ee3e4b27c93f2701699d74861cbb
SIZE (swaywm-zig-wlroots-35e5676_GH0.tar.gz) = 33576
SHA256 (swaywm-zig-wlroots-6c62568_GH0.tar.gz) = 85acd43b8cfdc448734ef1fc4f78e5114a16533bcebd32933e089eaf87444d6f
SIZE (swaywm-zig-wlroots-6c62568_GH0.tar.gz) = 33930

View File

@ -16,7 +16,7 @@ xwayland: if (build_options.xwayland) *wlr.Xwayland else void,
var server: Server = undefined;
^
--- deps/zig-wlroots/src/backend/session.zig.orig 2020-12-24 11:19:51 UTC
--- deps/zig-wlroots/src/backend/session.zig.orig 2021-04-07 22:14:45 UTC
+++ deps/zig-wlroots/src/backend/session.zig
@@ -5,7 +5,7 @@ const wl = wayland.server.wl;
@ -24,9 +24,9 @@ xwayland: if (build_options.xwayland) *wlr.Xwayland else void,
fd: c_int,
- dev: os.dev_t,
+ dev: u64,
signal: wl.Signal(*Session),
/// Session.devices
link: wl.list.Link,
--- deps/zig-wlroots/src/xwayland.zig.orig 2020-12-24 11:19:51 UTC
+++ deps/zig-wlroots/src/xwayland.zig
@@ -37,7 +37,7 @@ pub const XwaylandServer = extern struct {

View File

@ -1,373 +0,0 @@
https://github.com/swaywm/zig-wlroots/commit/4902876cd4f9
https://github.com/ifreund/river/commit/73594ee57c95
--- deps/zig-wlroots/src/backend.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/backend.zig
@@ -15,9 +15,9 @@ pub const Backend = extern struct {
// backend.h
- extern fn wlr_backend_autocreate(server: *wl.Server, create_renderer_func: ?wlr.Renderer.CreateFn) ?*Backend;
- pub fn autocreate(server: *wl.Server, create_renderer_func: ?wlr.Renderer.CreateFn) !*Backend {
- return wlr_backend_autocreate(server, create_renderer_func) orelse error.BackendCreateFailed;
+ extern fn wlr_backend_autocreate(server: *wl.Server) ?*Backend;
+ pub fn autocreate(server: *wl.Server) !*Backend {
+ return wlr_backend_autocreate(server) orelse error.BackendCreateFailed;
}
extern fn wlr_backend_start(backend: *Backend) bool;
--- deps/zig-wlroots/src/backend/session.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/backend/session.zig
@@ -6,17 +6,24 @@ const wl = wayland.server.wl;
pub const Device = extern struct {
fd: c_int,
dev: u64,
- signal: wl.Signal(*Session),
-
/// Session.devices
link: wl.list.Link,
+
+ events: extern struct {
+ change: wl.Signal(void),
+ },
};
pub const Session = extern struct {
const Impl = opaque {};
+ pub const event = struct {
+ pub const Add = extern struct {
+ path: [*:0]const u8,
+ };
+ };
+
impl: *const Impl,
- session_signal: wl.Signal(*Session),
active: bool,
vtnr: c_uint,
@@ -29,9 +36,12 @@ pub const Session = extern struct {
devices: wl.list.Head(Device, "link"),
+ server: *wl.Server,
server_destroy: wl.Listener(*wl.Server),
events: extern struct {
+ active: wl.Signal(void),
+ add_drm_card: wl.Signal(*event.Add),
destroy: wl.Signal(*Session),
},
@@ -43,20 +53,19 @@ pub const Session = extern struct {
extern fn wlr_session_destroy(session: *Session) void;
pub const destroy = wlr_session_destroy;
- extern fn wlr_session_open_file(session: *Session, path: [*:0]const u8) c_int;
- pub const openFile = wlr_session_open_file;
+ extern fn wlr_session_open_file(session: *Session, path: [*:0]const u8) ?*Device;
+ pub fn openFile(session: *Session, path: [*:0]const u8) !*Device {
+ return wlr_session_open_file(session, path) orelse error.SessionOpenFileFailed;
+ }
- extern fn wlr_session_close_file(session: *Session, fd: c_int) void;
+ extern fn wlr_session_close_file(session: *Session, device: *Device) void;
pub const closeFile = wlr_session_close_file;
- extern fn wlr_session_signal_add(session: *Session, fd: c_int, listener: *wl.Listener(*Session)) void;
- pub const signalAdd = wlr_session_signal_add;
-
extern fn wlr_session_change_vt(session: *Session, vt: c_uint) bool;
pub fn changeVt(session: *Session, vt: c_uint) !void {
if (!wlr_session_change_vt(session, vt)) return error.ChangeVtFailed;
}
- extern fn wlr_session_find_gpus(session: *Session, ret_len: usize, ret: [*]c_int) usize;
+ extern fn wlr_session_find_gpus(session: *Session, ret_len: usize, ret: [*]*Device) usize;
pub const findGpus = wlr_session_find_gpus;
};
--- deps/zig-wlroots/src/render/renderer.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/render/renderer.zig
@@ -6,14 +6,6 @@ const wl = wayland.server.wl;
pub const Renderer = extern struct {
const Impl = opaque {};
- pub const CreateFn = fn (
- egl: *wlr.Egl,
- platform: c_uint, // EGLenum
- remote_display: ?*c_void,
- config_attribs: *i32, // EGLint
- visual_id: i32, // EGLint
- ) callconv(.C) ?*Renderer;
-
impl: *const Impl,
rendering: bool,
events: extern struct {
@@ -22,8 +14,7 @@ pub const Renderer = extern struct {
// wlr_renderer functions:
- // TODO: int types
- extern fn wlr_renderer_begin(renderer: *Renderer, width: c_int, height: c_int) void;
+ extern fn wlr_renderer_begin(renderer: *Renderer, width: u32, height: u32) void;
pub const begin = wlr_renderer_begin;
pub extern fn wlr_renderer_end(renderer: *Renderer) void;
@@ -47,8 +38,8 @@ pub const Renderer = extern struct {
extern fn wlr_renderer_scissor(renderer: *Renderer, box: *wlr.Box) void;
pub const scissor = wlr_renderer_scissor;
- extern fn wlr_renderer_get_formats(renderer: *Renderer, len: *usize) [*]const wl.Shm.Format;
- pub const getFormats = wlr_renderer_get_formats;
+ extern fn wlr_renderer_get_shm_texture_formats(renderer: *Renderer, len: *usize) [*]const wl.Shm.Format;
+ pub const getShmTextureFormats = wlr_renderer_get_shm_texture_formats;
extern fn wlr_renderer_resource_is_wl_drm_buffer(renderer: *Renderer, buffer: *wl.Buffer) bool;
pub const resourceIsWlDrmBuffer = wlr_renderer_resource_is_wl_drm_buffer;
@@ -62,7 +53,7 @@ pub const Renderer = extern struct {
pub const wlDrmBufferGetSize = wlr_renderer_wl_drm_buffer_get_size;
// TODO:
- //extern fn wlr_renderer_get_dmabuf_formats(renderer: *Renderer) [*c]const struct_wlr_drm_format_set;
+ //extern fn wlr_renderer_get_dmabuf_texture_formats(renderer: *Renderer) [*c]const struct_wlr_drm_format_set;
//pub const getDmabufFormats = wlr_renderer_get_dmabuf_formats;
extern fn wlr_renderer_read_pixels(
@@ -86,9 +77,6 @@ pub const Renderer = extern struct {
src: *wlr.DmabufAttributes,
) bool;
pub const blitDmabuf = wlr_renderer_blit_dmabuf;
-
- extern fn wlr_renderer_format_supported(renderer: *Renderer, fmt: wl.Shm.Format) bool;
- pub const formatSupported = wlr_renderer_format_supported;
extern fn wlr_renderer_get_drm_fd(renderer: *Renderer) c_int;
pub const getDrmFd = wlr_renderer_get_drm_fd;
--- deps/zig-wlroots/src/render/texture.zig.orig 2021-03-01 13:53:50 UTC
+++ deps/zig-wlroots/src/render/texture.zig
@@ -10,7 +10,7 @@ pub const Texture = extern struct {
width: u32,
height: u32,
- extern fn wlr_texture_from_pixels(renderer: *wlr.Renderer, wl_fmt: wl.Shm.Format, stride: u32, width: u32, height: u32, data: *const c_void) ?*Texture;
+ extern fn wlr_texture_from_pixels(renderer: *wlr.Renderer, fmt: u32, stride: u32, width: u32, height: u32, data: *const c_void) ?*Texture;
pub const fromPixels = wlr_texture_from_pixels;
extern fn wlr_texture_from_wl_drm(renderer: *wlr.Renderer, data: *wl.Drm) ?*Texture;
--- deps/zig-wlroots/src/types/buffer.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/buffer.zig
@@ -49,6 +49,9 @@ pub const ClientBuffer = extern struct {
resource_destroy: wl.Listener(*wl.Buffer),
release: wl.Listener(void),
+ extern fn wlr_client_buffer_get(buffer: *wlr.Buffer) ?*ClientBuffer;
+ pub const get = wlr_client_buffer_get;
+
extern fn wlr_client_buffer_import(renderer: *wlr.Renderer, resource: *wl.Buffer) ?*ClientBuffer;
pub const import = wlr_client_buffer_import;
--- deps/zig-wlroots/src/types/layer_shell_v1.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/layer_shell_v1.zig
@@ -109,7 +109,7 @@ pub const LayerSurfaceV1 = extern struct {
);
}
- extern fn wlr_layer_surface_v1_for_each_popup(
+ extern fn wlr_layer_surface_v1_for_each_popup_surface(
surface: *LayerSurfaceV1,
iterator: fn (*wlr.Surface, c_int, c_int, ?*c_void) callconv(.C) void,
user_data: ?*c_void,
@@ -120,7 +120,7 @@ pub const LayerSurfaceV1 = extern struct {
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: T) callconv(.C) void,
data: T,
) void {
- wlr_layer_surface_v1_for_each_popup(
+ wlr_layer_surface_v1_for_each_popup_surface(
surface,
@ptrCast(fn (*wlr.Surface, c_int, c_int, ?*c_void) callconv(.C) void, iterator),
data,
--- deps/zig-wlroots/src/types/output.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/output.zig
@@ -105,6 +105,11 @@ pub const Output = extern struct {
/// This is a bitfield of Present.flag members
flags: u32,
};
+
+ pub const Bind = extern struct {
+ output: *wlr.Output,
+ resource: *wl.Output,
+ };
};
const Impl = opaque {};
@@ -151,10 +156,9 @@ pub const Output = extern struct {
precommit: wl.Signal(*event.Precommit),
commit: wl.Signal(*event.Commit),
present: wl.Signal(*event.Present),
+ bind: wl.Signal(*event.Bind),
enable: wl.Signal(*Output),
mode: wl.Signal(*Output),
- scale: wl.Signal(*Output),
- transform: wl.Signal(*Output),
description: wl.Signal(*Output),
destroy: wl.Signal(*Output),
},
--- deps/zig-wlroots/src/types/surface.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/surface.zig
@@ -49,6 +49,9 @@ pub const Surface = extern struct {
},
buffer_destroy: wl.Listener(*wl.Buffer),
+
+ cached_state_locks: usize,
+ cached_state_link: wl.list.Head(Surface, "cached"),
};
pub const Role = extern struct {
@@ -57,6 +60,16 @@ pub const Surface = extern struct {
precommit: ?fn (surface: *Surface) callconv(.C) void,
};
+ pub const Output = extern struct {
+ surface: *wlr.Surface,
+ output: *wlr.Output,
+
+ // Surface.current_outputs
+ link: wl.list.Link,
+ bind: wl.Listener(*wlr.Output.event.Bind),
+ destroy: wl.Listener(*wlr.Output),
+ };
+
resource: *wl.Surface,
renderer: *wlr.Renderer,
@@ -73,6 +86,8 @@ pub const Surface = extern struct {
pending: State,
previous: State,
+ cached: wl.list.Head(State, "cached_link"),
+
role: ?*const Role,
role_data: ?*c_void,
@@ -84,6 +99,8 @@ pub const Surface = extern struct {
subsurfaces: wl.list.Head(Subsurface, "parent_link"),
subsurface_pending_list: wl.list.Head(Subsurface, "parent_pending_link"),
+
+ current_outputs: wl.list.Head(Surface.Output, "link"),
renderer_destroy: wl.Listener(*wlr.Renderer),
--- deps/zig-wlroots/src/types/xdg_shell.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/types/xdg_shell.zig
@@ -311,7 +311,7 @@ pub const XdgSurface = extern struct {
extern fn wlr_xdg_surface_schedule_configure(surface: *wlr.XdgSurface) u32;
pub const scheduleConfigure = wlr_xdg_surface_schedule_configure;
- extern fn wlr_xdg_surface_for_each_popup(
+ extern fn wlr_xdg_surface_for_each_popup_surface(
surface: *wlr.XdgSurface,
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: ?*c_void) callconv(.C) void,
user_data: ?*c_void,
@@ -322,7 +322,7 @@ pub const XdgSurface = extern struct {
iterator: fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: T) callconv(.C) void,
data: T,
) void {
- wlr_xdg_surface_for_each_popup(
+ wlr_xdg_surface_for_each_popup_surface(
surface,
@ptrCast(fn (surface: *wlr.Surface, sx: c_int, sy: c_int, data: ?*c_void) callconv(.C) void, iterator),
data,
--- deps/zig-wlroots/src/xwayland.zig.orig 2021-02-15 17:19:02 UTC
+++ deps/zig-wlroots/src/xwayland.zig
@@ -13,6 +13,14 @@ const xcb = struct {
const Pixmap = u32;
const Window = u32;
const Atom = u32;
+
+ const StackMode = extern enum {
+ above = 0,
+ below = 1,
+ top_if = 2,
+ bottom_if = 3,
+ opposite = 4,
+ };
};
pub const Xwm = opaque {};
@@ -33,7 +41,7 @@ pub const XwaylandServer = extern struct {
pid: os.pid_t,
client: ?*wl.Client,
- sigusr1_source: ?*wl.EventSource,
+ pipe_source: ?*wl.EventSource,
wm_fd: [2]c_int,
wl_fd: [2]c_int,
@@ -258,6 +266,9 @@ pub const XwaylandSurface = extern struct {
extern fn wlr_xwayland_surface_activate(surface: *XwaylandSurface, activated: bool) void;
pub const activate = wlr_xwayland_surface_activate;
+
+ extern fn wlr_xwayland_surface_restack(surface: *XwaylandSurface, sibling: *XwaylandSurface, mode: xcb.StackMode) void;
+ pub const restack = wlr_xwayland_surface_restack;
extern fn wlr_xwayland_surface_configure(surface: *XwaylandSurface, x: i16, y: i16, width: u16, height: u16) void;
pub const configure = wlr_xwayland_surface_configure;
--- river/Server.zig.orig 2021-02-22 13:47:31 UTC
+++ river/Server.zig
@@ -78,7 +78,7 @@ pub fn init(self: *Self) !void {
errdefer self.sigterm_source.remove();
// This frees itself when the wl.Server is destroyed
- self.backend = try wlr.Backend.autocreate(self.wl_server, null);
+ self.backend = try wlr.Backend.autocreate(self.wl_server);
// This backend is used to create a noop output for use when no actual
// outputs are available. This frees itself when the wl.Server is destroyed.
@@ -140,7 +140,6 @@ pub fn deinit(self: *Self) void {
self.root.deinit();
- self.noop_backend.destroy();
self.wl_server.destroy();
self.input_manager.deinit();
--- river/render.zig.orig 2021-02-22 13:47:31 UTC
+++ river/render.zig
@@ -54,7 +54,7 @@ pub fn renderOutput(output: *Output) void {
output.wlr_output.attachRender(null) catch return;
- renderer.begin(output.wlr_output.width, output.wlr_output.height);
+ renderer.begin(@intCast(u32, output.wlr_output.width), @intCast(u32, output.wlr_output.height));
// Find the first visible fullscreen view in the stack if there is one
var it = ViewStack(View).iter(output.views.first, .forward, output.current.tags, renderFilter);
@@ -227,24 +227,7 @@ fn renderViewPopups(output: *const Output, view: *View
.when = now,
.opacity = view.opacity,
};
- view.forEachPopup(*SurfaceRenderData, renderPopupSurfaceIterator, &rdata);
-}
-
-// TODO(wlroots): replace with wlr_xdg_surface_for_each_popup_surface()
-fn renderPopupSurfaceIterator(
- surface: *wlr.Surface,
- surface_x: c_int,
- surface_y: c_int,
- rdata: *SurfaceRenderData,
-) callconv(.C) void {
- var new_rdata = SurfaceRenderData{
- .output = rdata.output,
- .output_x = rdata.output_x + surface_x,
- .output_y = rdata.output_y + surface_y,
- .when = rdata.when,
- .opacity = rdata.opacity,
- };
- surface.forEachSurface(*SurfaceRenderData, renderSurfaceIterator, &new_rdata);
+ view.forEachPopup(*SurfaceRenderData, renderSurfaceIterator, &rdata);
}
fn renderDragIcons(output: *const Output, now: *os.timespec) void {