pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

wlroots: update to 0.19.0



Module Name:	pkgsrc-wip
Committed By:	kikadf <kikadf.01%gmail.com@localhost>
Pushed By:	kikadf
Date:		Fri Sep 12 17:56:33 2025 +0200
Changeset:	13f59e486d8e88c57f11c94a170a75aa8e42d55f

Modified Files:
	wlroots/DESCR
	wlroots/Makefile
	wlroots/PLIST
	wlroots/TODO
	wlroots/distinfo
Added Files:
	wlroots/patches/patch-backend_libinput_meson.build
	wlroots/patches/patch-render_vulkan_vulkan.c
	wlroots/patches/patch-util_shm.c
Removed Files:
	wlroots/options.mk

Log Message:
wlroots: update to 0.19.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=13f59e486d8e88c57f11c94a170a75aa8e42d55f

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 wlroots/DESCR                                      |  32 +---
 wlroots/Makefile                                   |  54 ++++--
 wlroots/PLIST                                      | 209 ++++++++++++---------
 wlroots/TODO                                       |  11 +-
 wlroots/distinfo                                   |   9 +-
 wlroots/options.mk                                 |  21 ---
 wlroots/patches/patch-backend_libinput_meson.build |  16 ++
 wlroots/patches/patch-render_vulkan_vulkan.c       |  12 ++
 wlroots/patches/patch-util_shm.c                   |  16 ++
 9 files changed, 228 insertions(+), 152 deletions(-)

diffs:
diff --git a/wlroots/DESCR b/wlroots/DESCR
index 972dea9675..8b656cce48 100644
--- a/wlroots/DESCR
+++ b/wlroots/DESCR
@@ -1,23 +1,9 @@
-TODO: Adjust the following lines from README.md
-
-# wlroots
-
-Pluggable, composable, unopinionated modules for building a
-[Wayland](http://wayland.freedesktop.org/) compositor; or about 50,000 lines of
-code you were going to write anyway.
-
-- wlroots provides backends that abstract the underlying display and input
-	hardware, including KMS/DRM, libinput, Wayland, X11, and headless backends,
-	plus any custom backends you choose to write, which can all be created or
-	destroyed at runtime and used in concert with each other.
-- wlroots provides unopinionated, mostly standalone implementations of many
-	Wayland interfaces, both from wayland.xml and various protocol extensions.
-	We also promote the standardization of portable extensions across
-	many compositors.
-- wlroots provides several powerful, standalone, and optional tools that
-	implement components common to many compositors, such as the arrangement of
-	outputs in physical space.
-- wlroots provides an Xwayland abstraction that allows you to have excellent
-	Xwayland support without worrying about writing your own X11 window manager
-	on top of writing your compositor.
-...
+Wlroots implements a huge variety of Wayland compositor
+features and implements them right, so you can focus on
+the features that make your compositor unique. By using
+wlroots, you get high performance, excellent hardware
+compatibility, broad support for many wayland interfaces,
+and comfortable development tools - or any subset of
+these features you like, because all of them work
+independently of one another and freely compose with
+anything you want to implement yourself.
diff --git a/wlroots/Makefile b/wlroots/Makefile
index ab0d88ce7f..cfda869916 100644
--- a/wlroots/Makefile
+++ b/wlroots/Makefile
@@ -1,24 +1,46 @@
 # $NetBSD$
 
-DISTNAME=	wlroots-0.10.1
-PKGREVISION=	1
-CATEGORIES=	x11
-MASTER_SITES=	${MASTER_SITE_GITHUB:=swaywm/}
-EXTRACT_SUFX=	.zip
-
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://github.com/swaywm/wlroots/
+DISTNAME=		wlroots-0.19.0
+CATEGORIES=		x11
+MASTER_SITE_GITLAB=	https://gitlab.freedesktop.org/
+MASTER_SITES=		${MASTER_SITE_GITLAB:=wlroots/}
+GITLAB_TAG=		${PKGVERSION_NOREV}
+
+MAINTAINER=	kikadf.01%gmail.com@localhost
+HOMEPAGE=	https://gitlab.freedesktop.org/wlroots/wlroots
 COMMENT=	Wayland compositor library
 LICENSE=	mit
 
-.include "options.mk"
+USE_TOOLS+=	pkg-config
+
+MESON_ARGS+=	-Dallocators=gbm
 
-.include "../../x11/pixman/buildlink3.mk"
-.include "../../x11/libxkbcommon/buildlink3.mk"
-.include "../../wip/libinput/buildlink3.mk"
-.include "../../graphics/MesaLib/buildlink3.mk"
-.include "../../devel/wayland/buildlink3.mk"
-.include "../../devel/wayland-protocols/buildlink3.mk"
 .include "../../devel/meson/build.mk"
-.include "../../lang/llvm/buildlink3.mk"
+
+# new packages
+.include "../../wip/glslang/buildlink3.mk"
+.include "../../wip/input-headers/buildlink3.mk"
+.include "../../wip/libopeninput/buildlink3.mk"
+.include "../../wip/libudev-bsd/buildlink3.mk"
+.include "../../wip/libliftoff/buildlink3.mk"
+.include "../../wip/seatd/buildlink3.mk"
+.include "../../wip/vulkan-loader/buildlink3.mk"
+
+# need update
+.include "../../wip/wayland/buildlink3.mk"
+.include "../../wip/modular-xorg-xwayland/buildlink3.mk"
+
+.include "../../devel/wayland-protocols/buildlink3.mk"
+.include "../../graphics/cairo/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+.include "../../graphics/lcms2/buildlink3.mk"
+.include "../../sysutils/hwdata/buildlink3.mk"
+.include "../../x11/libdisplay-info/buildlink3.mk"
+.include "../../x11/libdrm/buildlink3.mk"
+.include "../../x11/libxkbcommon/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../x11/xcb-util-errors/buildlink3.mk"
+.include "../../x11/xcb-util-renderutil/buildlink3.mk"
+.include "../../x11/xcb-util-wm/buildlink3.mk"
+
 .include "../../mk/bsd.pkg.mk"
diff --git a/wlroots/PLIST b/wlroots/PLIST
index 81797aa252..11bf7b275a 100644
--- a/wlroots/PLIST
+++ b/wlroots/PLIST
@@ -1,89 +1,122 @@
 @comment $NetBSD$
-include/wlr/backend.h
-include/wlr/backend/drm.h
-include/wlr/backend/headless.h
-include/wlr/backend/interface.h
-include/wlr/backend/libinput.h
-include/wlr/backend/multi.h
-include/wlr/backend/noop.h
-include/wlr/backend/session.h
-include/wlr/backend/session/interface.h
-include/wlr/backend/wayland.h
-include/wlr/config.h
-include/wlr/interfaces/wlr_input_device.h
-include/wlr/interfaces/wlr_keyboard.h
-include/wlr/interfaces/wlr_output.h
-include/wlr/interfaces/wlr_pointer.h
-include/wlr/interfaces/wlr_switch.h
-include/wlr/interfaces/wlr_tablet_pad.h
-include/wlr/interfaces/wlr_tablet_tool.h
-include/wlr/interfaces/wlr_touch.h
-include/wlr/render/dmabuf.h
-include/wlr/render/drm_format_set.h
-include/wlr/render/egl.h
-include/wlr/render/gles2.h
-include/wlr/render/interface.h
-include/wlr/render/wlr_renderer.h
-include/wlr/render/wlr_texture.h
-include/wlr/types/wlr_box.h
-include/wlr/types/wlr_buffer.h
-include/wlr/types/wlr_compositor.h
-include/wlr/types/wlr_cursor.h
-include/wlr/types/wlr_data_control_v1.h
-include/wlr/types/wlr_data_device.h
-include/wlr/types/wlr_export_dmabuf_v1.h
-include/wlr/types/wlr_foreign_toplevel_management_v1.h
-include/wlr/types/wlr_fullscreen_shell_v1.h
-include/wlr/types/wlr_gamma_control_v1.h
-include/wlr/types/wlr_gtk_primary_selection.h
-include/wlr/types/wlr_idle.h
-include/wlr/types/wlr_idle_inhibit_v1.h
-include/wlr/types/wlr_input_device.h
-include/wlr/types/wlr_input_inhibitor.h
-include/wlr/types/wlr_input_method_v2.h
-include/wlr/types/wlr_keyboard.h
-include/wlr/types/wlr_keyboard_group.h
-include/wlr/types/wlr_layer_shell_v1.h
-include/wlr/types/wlr_linux_dmabuf_v1.h
-include/wlr/types/wlr_list.h
-include/wlr/types/wlr_matrix.h
-include/wlr/types/wlr_output.h
-include/wlr/types/wlr_output_damage.h
-include/wlr/types/wlr_output_layout.h
-include/wlr/types/wlr_output_management_v1.h
-include/wlr/types/wlr_pointer.h
-include/wlr/types/wlr_pointer_constraints_v1.h
-include/wlr/types/wlr_pointer_gestures_v1.h
-include/wlr/types/wlr_presentation_time.h
-include/wlr/types/wlr_primary_selection.h
-include/wlr/types/wlr_primary_selection_v1.h
-include/wlr/types/wlr_region.h
-include/wlr/types/wlr_relative_pointer_v1.h
-include/wlr/types/wlr_screencopy_v1.h
-include/wlr/types/wlr_seat.h
-include/wlr/types/wlr_server_decoration.h
-include/wlr/types/wlr_surface.h
-include/wlr/types/wlr_switch.h
-include/wlr/types/wlr_tablet_pad.h
-include/wlr/types/wlr_tablet_tool.h
-include/wlr/types/wlr_tablet_v2.h
-include/wlr/types/wlr_text_input_v3.h
-include/wlr/types/wlr_touch.h
-include/wlr/types/wlr_virtual_keyboard_v1.h
-include/wlr/types/wlr_virtual_pointer_v1.h
-include/wlr/types/wlr_xcursor_manager.h
-include/wlr/types/wlr_xdg_decoration_v1.h
-include/wlr/types/wlr_xdg_output_v1.h
-include/wlr/types/wlr_xdg_shell.h
-include/wlr/types/wlr_xdg_shell_v6.h
-include/wlr/util/edges.h
-include/wlr/util/log.h
-include/wlr/util/region.h
-include/wlr/version.h
-include/wlr/xcursor.h
-lib/libwlroots.so
-lib/libwlroots.so.5
-lib/libwlroots.so.5.9.1
-lib/pkgconfig/wlroots.pc
-${PLIST.x11}include/wlr/backend/x11.h
-${PLIST.xwayland}include/wlr/xwayland.h
+include/wlroots-0.19/wlr/backend.h
+include/wlroots-0.19/wlr/backend/drm.h
+include/wlroots-0.19/wlr/backend/headless.h
+include/wlroots-0.19/wlr/backend/interface.h
+include/wlroots-0.19/wlr/backend/libinput.h
+include/wlroots-0.19/wlr/backend/multi.h
+include/wlroots-0.19/wlr/backend/session.h
+include/wlroots-0.19/wlr/backend/wayland.h
+include/wlroots-0.19/wlr/backend/x11.h
+include/wlroots-0.19/wlr/config.h
+include/wlroots-0.19/wlr/interfaces/wlr_buffer.h
+include/wlroots-0.19/wlr/interfaces/wlr_ext_image_capture_source_v1.h
+include/wlroots-0.19/wlr/interfaces/wlr_keyboard.h
+include/wlroots-0.19/wlr/interfaces/wlr_output.h
+include/wlroots-0.19/wlr/interfaces/wlr_pointer.h
+include/wlroots-0.19/wlr/interfaces/wlr_switch.h
+include/wlroots-0.19/wlr/interfaces/wlr_tablet_pad.h
+include/wlroots-0.19/wlr/interfaces/wlr_tablet_tool.h
+include/wlroots-0.19/wlr/interfaces/wlr_touch.h
+include/wlroots-0.19/wlr/render/allocator.h
+include/wlroots-0.19/wlr/render/color.h
+include/wlroots-0.19/wlr/render/dmabuf.h
+include/wlroots-0.19/wlr/render/drm_format_set.h
+include/wlroots-0.19/wlr/render/drm_syncobj.h
+include/wlroots-0.19/wlr/render/egl.h
+include/wlroots-0.19/wlr/render/gles2.h
+include/wlroots-0.19/wlr/render/interface.h
+include/wlroots-0.19/wlr/render/pass.h
+include/wlroots-0.19/wlr/render/pixman.h
+include/wlroots-0.19/wlr/render/swapchain.h
+include/wlroots-0.19/wlr/render/vulkan.h
+include/wlroots-0.19/wlr/render/wlr_renderer.h
+include/wlroots-0.19/wlr/render/wlr_texture.h
+include/wlroots-0.19/wlr/types/wlr_alpha_modifier_v1.h
+include/wlroots-0.19/wlr/types/wlr_buffer.h
+include/wlroots-0.19/wlr/types/wlr_color_management_v1.h
+include/wlroots-0.19/wlr/types/wlr_compositor.h
+include/wlroots-0.19/wlr/types/wlr_content_type_v1.h
+include/wlroots-0.19/wlr/types/wlr_cursor.h
+include/wlroots-0.19/wlr/types/wlr_cursor_shape_v1.h
+include/wlroots-0.19/wlr/types/wlr_damage_ring.h
+include/wlroots-0.19/wlr/types/wlr_data_control_v1.h
+include/wlroots-0.19/wlr/types/wlr_data_device.h
+include/wlroots-0.19/wlr/types/wlr_drm.h
+include/wlroots-0.19/wlr/types/wlr_drm_lease_v1.h
+include/wlroots-0.19/wlr/types/wlr_export_dmabuf_v1.h
+include/wlroots-0.19/wlr/types/wlr_ext_data_control_v1.h
+include/wlroots-0.19/wlr/types/wlr_ext_foreign_toplevel_list_v1.h
+include/wlroots-0.19/wlr/types/wlr_ext_image_capture_source_v1.h
+include/wlroots-0.19/wlr/types/wlr_ext_image_copy_capture_v1.h
+include/wlroots-0.19/wlr/types/wlr_foreign_toplevel_management_v1.h
+include/wlroots-0.19/wlr/types/wlr_fractional_scale_v1.h
+include/wlroots-0.19/wlr/types/wlr_gamma_control_v1.h
+include/wlroots-0.19/wlr/types/wlr_idle_inhibit_v1.h
+include/wlroots-0.19/wlr/types/wlr_idle_notify_v1.h
+include/wlroots-0.19/wlr/types/wlr_input_device.h
+include/wlroots-0.19/wlr/types/wlr_input_method_v2.h
+include/wlroots-0.19/wlr/types/wlr_keyboard.h
+include/wlroots-0.19/wlr/types/wlr_keyboard_group.h
+include/wlroots-0.19/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h
+include/wlroots-0.19/wlr/types/wlr_layer_shell_v1.h
+include/wlroots-0.19/wlr/types/wlr_linux_dmabuf_v1.h
+include/wlroots-0.19/wlr/types/wlr_linux_drm_syncobj_v1.h
+include/wlroots-0.19/wlr/types/wlr_output.h
+include/wlroots-0.19/wlr/types/wlr_output_layer.h
+include/wlroots-0.19/wlr/types/wlr_output_layout.h
+include/wlroots-0.19/wlr/types/wlr_output_management_v1.h
+include/wlroots-0.19/wlr/types/wlr_output_power_management_v1.h
+include/wlroots-0.19/wlr/types/wlr_output_swapchain_manager.h
+include/wlroots-0.19/wlr/types/wlr_pointer.h
+include/wlroots-0.19/wlr/types/wlr_pointer_constraints_v1.h
+include/wlroots-0.19/wlr/types/wlr_pointer_gestures_v1.h
+include/wlroots-0.19/wlr/types/wlr_presentation_time.h
+include/wlroots-0.19/wlr/types/wlr_primary_selection.h
+include/wlroots-0.19/wlr/types/wlr_primary_selection_v1.h
+include/wlroots-0.19/wlr/types/wlr_relative_pointer_v1.h
+include/wlroots-0.19/wlr/types/wlr_scene.h
+include/wlroots-0.19/wlr/types/wlr_screencopy_v1.h
+include/wlroots-0.19/wlr/types/wlr_seat.h
+include/wlroots-0.19/wlr/types/wlr_security_context_v1.h
+include/wlroots-0.19/wlr/types/wlr_server_decoration.h
+include/wlroots-0.19/wlr/types/wlr_session_lock_v1.h
+include/wlroots-0.19/wlr/types/wlr_shm.h
+include/wlroots-0.19/wlr/types/wlr_single_pixel_buffer_v1.h
+include/wlroots-0.19/wlr/types/wlr_subcompositor.h
+include/wlroots-0.19/wlr/types/wlr_switch.h
+include/wlroots-0.19/wlr/types/wlr_tablet_pad.h
+include/wlroots-0.19/wlr/types/wlr_tablet_tool.h
+include/wlroots-0.19/wlr/types/wlr_tablet_v2.h
+include/wlroots-0.19/wlr/types/wlr_tearing_control_v1.h
+include/wlroots-0.19/wlr/types/wlr_text_input_v3.h
+include/wlroots-0.19/wlr/types/wlr_touch.h
+include/wlroots-0.19/wlr/types/wlr_transient_seat_v1.h
+include/wlroots-0.19/wlr/types/wlr_viewporter.h
+include/wlroots-0.19/wlr/types/wlr_virtual_keyboard_v1.h
+include/wlroots-0.19/wlr/types/wlr_virtual_pointer_v1.h
+include/wlroots-0.19/wlr/types/wlr_xcursor_manager.h
+include/wlroots-0.19/wlr/types/wlr_xdg_activation_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_decoration_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_dialog_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_foreign_registry.h
+include/wlroots-0.19/wlr/types/wlr_xdg_foreign_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_foreign_v2.h
+include/wlroots-0.19/wlr/types/wlr_xdg_output_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_shell.h
+include/wlroots-0.19/wlr/types/wlr_xdg_system_bell_v1.h
+include/wlroots-0.19/wlr/types/wlr_xdg_toplevel_icon_v1.h
+include/wlroots-0.19/wlr/util/addon.h
+include/wlroots-0.19/wlr/util/box.h
+include/wlroots-0.19/wlr/util/edges.h
+include/wlroots-0.19/wlr/util/log.h
+include/wlroots-0.19/wlr/util/region.h
+include/wlroots-0.19/wlr/util/transform.h
+include/wlroots-0.19/wlr/version.h
+include/wlroots-0.19/wlr/xcursor.h
+include/wlroots-0.19/wlr/xwayland.h
+include/wlroots-0.19/wlr/xwayland/server.h
+include/wlroots-0.19/wlr/xwayland/shell.h
+include/wlroots-0.19/wlr/xwayland/xwayland.h
+lib/libwlroots-0.19.so
+lib/pkgconfig/wlroots-0.19.pc
diff --git a/wlroots/TODO b/wlroots/TODO
index 3a4d962da5..fadc2ee674 100644
--- a/wlroots/TODO
+++ b/wlroots/TODO
@@ -1 +1,10 @@
-GLESv2 missing in basesystem's Mesa (NetBSD 9.99.44)
+* Can't build on NetBSD with native x11, libdrm is too old:
+
+Dependency libdrm found: NO. Found 2.4.109 but need: '>=2.4.122'
+WARNING: Found CMake '/usr/pkgsrc/wip/wlroots/work/.tools/bin/false' but couldn't run it
+Found CMake: NO
+Run-time dependency libdrm found: NO (tried pkgconfig and cmake)
+Looking for a fallback subproject for the dependency libdrm
+ERROR: Subproject libdrm is buildable: NO
+
+* On NetBSD-10 with X11_TYPE=modular builds fine, but not tested yet
diff --git a/wlroots/distinfo b/wlroots/distinfo
index dc079b6c45..1a548f1d48 100644
--- a/wlroots/distinfo
+++ b/wlroots/distinfo
@@ -1,5 +1,8 @@
 $NetBSD$
 
-RMD160 (wlroots-0.10.1.zip) = e8068067fcfda47d641390c24606f3a83d25680b
-SHA512 (wlroots-0.10.1.zip) = 7e6c4ada2cf90ca4f1712488bc575656ac57c7efe6c34d0618312d6eca5d913b4c78f64a4b6e7f0bab7a91399bf73d9dcb34934f05c40457a68689d9fefceec7
-Size (wlroots-0.10.1.zip) = 629644 bytes
+BLAKE2s (wlroots-0.19.0.tar.gz) = ad5a7183ffe64a288074c7ea6540c7d1a35ae86eaa6454607f344e656db1d2a3
+SHA512 (wlroots-0.19.0.tar.gz) = 1d7492dd6acabc48606c588571099354119f811448f391fbc85c334fdd83e6e74be69774be8f2ce0cd328be6845ba061e47fa15c8f7bb0d936a066b839d36e5e
+Size (wlroots-0.19.0.tar.gz) = 669929 bytes
+SHA1 (patch-backend_libinput_meson.build) = 7f109761790191930828f280ca74db6bc95941e1
+SHA1 (patch-render_vulkan_vulkan.c) = adf215c6cc885909a51c534b0102c89a84f8ab27
+SHA1 (patch-util_shm.c) = 4bc2f6eefbe94539d03e1ce2f1e001ae97ab4c60
diff --git a/wlroots/options.mk b/wlroots/options.mk
deleted file mode 100644
index 4d9dde8997..0000000000
--- a/wlroots/options.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# $NetBSD$
-
-PKG_OPTIONS_VAR=	PKG_OPTIONS.wlroots
-
-PKG_SUPPORTED_OPTIONS=	x11 xwayland
-
-.include "../../mk/bsd.options.mk"
-
-PLIST_VARS+=		x11 xwayland
-
-.if empty(PKG_OPTIONS:Mx11)
-MESON_ARGS+=		-Dx11-backend=disabled
-.else
-PLIST.x11=		yes
-.endif
-
-.if empty(PKG_OPTIONS:Mxwayland)
-MESON_ARGS+=		-Dxwayland=disabled
-.else
-PLIST.xwayland=		yes
-.endif
diff --git a/wlroots/patches/patch-backend_libinput_meson.build b/wlroots/patches/patch-backend_libinput_meson.build
new file mode 100644
index 0000000000..9acbf7318b
--- /dev/null
+++ b/wlroots/patches/patch-backend_libinput_meson.build
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* libopeninput lacks libinput_device_get_id_bustype() 
+
+--- backend/libinput/meson.build.orig	2025-09-12 15:10:06.534197806 +0000
++++ backend/libinput/meson.build
+@@ -28,4 +28,8 @@ wlr_files += files(
+ features += { 'libinput-backend': true }
+ wlr_deps += libinput
+ 
+-internal_config.set10('HAVE_LIBINPUT_BUSTYPE', libinput.version().version_compare('>=1.26.0'))
++if host_machine.system() == 'netbsd'
++	internal_config.set10('HAVE_LIBINPUT_BUSTYPE', false)
++else
++	internal_config.set10('HAVE_LIBINPUT_BUSTYPE', libinput.version().version_compare('>=1.26.0'))
++endif
diff --git a/wlroots/patches/patch-render_vulkan_vulkan.c b/wlroots/patches/patch-render_vulkan_vulkan.c
new file mode 100644
index 0000000000..462643592d
--- /dev/null
+++ b/wlroots/patches/patch-render_vulkan_vulkan.c
@@ -0,0 +1,12 @@
+$NetBSD$
+
+* For makedev function
+
+--- render/vulkan/vulkan.c.orig	2025-09-12 14:05:14.281653073 +0000
++++ render/vulkan/vulkan.c
+@@ -1,4 +1,4 @@
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #undef _POSIX_C_SOURCE
+ #endif
+ #include <assert.h>
diff --git a/wlroots/patches/patch-util_shm.c b/wlroots/patches/patch-util_shm.c
new file mode 100644
index 0000000000..43f1bd6aa1
--- /dev/null
+++ b/wlroots/patches/patch-util_shm.c
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* For fchmod(2)
+
+--- util/shm.c.orig	2025-09-12 14:11:20.694413854 +0000
++++ util/shm.c
+@@ -2,6 +2,9 @@
+ #include <fcntl.h>
+ #include <string.h>
+ #include <sys/mman.h>
++#if defined(__NetBSD__)
++#define _NETBSD_SOURCE
++#endif
+ #include <sys/stat.h>
+ #include <time.h>
+ #include <unistd.h>


Home | Main Index | Thread Index | Old Index