git: ee7ac66d3136 - main - x11-toolkits/wlroots019: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 14 Apr 2025 21:19:54 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ee7ac66d313660e31a4755a51446e2b2644ae9db

commit ee7ac66d313660e31a4755a51446e2b2644ae9db
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2025-04-12 20:50:55 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2025-04-14 21:18:13 +0000

    x11-toolkits/wlroots019: add new port
    
    Same as other wlroots* ports. API breaks every minor update.
---
 x11-toolkits/Makefile             |   1 +
 x11-toolkits/wlroots018/Makefile  |   2 +-
 x11-toolkits/wlroots019/Makefile  |  78 ++++++++++++++++++++++++
 x11-toolkits/wlroots019/distinfo  |   3 +
 x11-toolkits/wlroots019/pkg-descr |  28 +++++++++
 x11-toolkits/wlroots019/pkg-plist | 122 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 233 insertions(+), 1 deletion(-)

diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index 41c7c1ab9fa9..f92a57d096cf 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -261,6 +261,7 @@
     SUBDIR += wlroots015
     SUBDIR += wlroots017
     SUBDIR += wlroots018
+    SUBDIR += wlroots019
     SUBDIR += wmapp
     SUBDIR += wxgtk30
     SUBDIR += wxgtk32
diff --git a/x11-toolkits/wlroots018/Makefile b/x11-toolkits/wlroots018/Makefile
index 313a6a84707e..8d85971c7eeb 100644
--- a/x11-toolkits/wlroots018/Makefile
+++ b/x11-toolkits/wlroots018/Makefile
@@ -4,7 +4,7 @@ CATEGORIES=	x11-toolkits
 PKGNAMESUFFIX=	018
 
 MAINTAINER=	jbeich@FreeBSD.org
-COMMENT=	Modular Wayland compositor library (current 0.18.* series)
+COMMENT=	Modular Wayland compositor library (deprecated 0.18.* series)
 WWW=		https://gitlab.freedesktop.org/wlroots/wlroots
 
 LICENSE=	MIT
diff --git a/x11-toolkits/wlroots019/Makefile b/x11-toolkits/wlroots019/Makefile
new file mode 100644
index 000000000000..44d3aab028ff
--- /dev/null
+++ b/x11-toolkits/wlroots019/Makefile
@@ -0,0 +1,78 @@
+PORTNAME=	wlroots
+DISTVERSION=	0.19.0-rc1
+CATEGORIES=	x11-toolkits
+PKGNAMESUFFIX=	019
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Modular Wayland compositor library (current 0.19.* series)
+WWW=		https://gitlab.freedesktop.org/wlroots/wlroots
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto \
+		wayland-protocols>=1.41:graphics/wayland-protocols
+LIB_DEPENDS=	libdrm.so:graphics/libdrm \
+		libwayland-server.so:graphics/wayland \
+		libxkbcommon.so:x11/libxkbcommon
+
+USES=		compiler:c11 gl meson pkgconfig xorg
+USE_GITLAB=	yes
+USE_GL=		gbm
+USE_XORG=	pixman
+USE_LDCONFIG=	yes
+GL_SITE=	https://gitlab.freedesktop.org
+MESON_ARGS=	-Dexamples=false -Dallocators=gbm \
+		-Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,}
+PLIST_SUB=	SUFFIX=-${DISTVERSION:R}
+
+PORTSCOUT=	limit:^0\.19\.
+
+OPTIONS_DEFINE=	DRM LCMS2 LIBLIFTOFF OPENGL VULKAN X11
+OPTIONS_DEFAULT=DRM LCMS2 LIBLIFTOFF OPENGL VULKAN X11
+OPTIONS_SUB=	yes
+
+DRM_DESC=		KMS console support
+DRM_BUILD_DEPENDS=	hwdata>0:misc/hwdata
+DRM_LIB_DEPENDS=	libudev.so:devel/libudev-devd \
+			libdisplay-info.so:sysutils/libdisplay-info \
+			libseat.so:sysutils/seatd \
+			libinput.so:x11/libinput
+DRM_MESON_ENABLED=	session
+DRM_VARS=		BACKENDS+="drm libinput"
+
+LCMS2_LIB_DEPENDS=	liblcms2.so:graphics/lcms2
+LCMS2_MESON_ENABLED=	color-management
+
+LIBLIFTOFF_DESC=	libliftoff DRM interface (see WLR_DRM_FORCE_LIBLIFTOFF)
+LIBLIFTOFF_LIB_DEPENDS=	libliftoff.so:graphics/libliftoff
+LIBLIFTOFF_MESON_ENABLED=	libliftoff
+LIBLIFTOFF_IMPLIES=	DRM
+
+OPENGL_RUN_DEPENDS=	mesa-dri>0:graphics/mesa-dri
+OPENGL_USE=		GL=egl,glesv2
+OPENGL_VARS=		RENDERERS+=gles2
+
+VULKAN_DESC=		Vulkan renderer
+VULKAN_BUILD_DEPENDS=	glslangValidator:graphics/glslang \
+			vulkan-headers>0:graphics/vulkan-headers
+VULKAN_LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader
+VULKAN_RUN_DEPENDS=	mesa-dri>0:graphics/mesa-dri
+VULKAN_VARS=		RENDERERS+=vulkan
+
+X11_LIB_DEPENDS=	libxcb-errors.so:x11/xcb-util-errors \
+			libxcb-render-util.so:x11/xcb-util-renderutil \
+			libxcb-icccm.so:x11/xcb-util-wm
+X11_BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto \
+			Xwayland:x11-servers/xwayland
+X11_RUN_DEPENDS=	Xwayland:x11-servers/xwayland
+X11_USE=		XORG=xcb
+X11_MESON_ENABLED=	xwayland
+X11_VARS=		BACKENDS+=x11
+
+post-patch:
+# Extract (snapshot) version from the port instead of meson.build
+	@${REINPLACE_CMD} "/STR/s/meson.project_version()/'${DISTVERSIONFULL}'/" \
+		${WRKSRC}/include/wlr/meson.build
+
+.include <bsd.port.mk>
diff --git a/x11-toolkits/wlroots019/distinfo b/x11-toolkits/wlroots019/distinfo
new file mode 100644
index 000000000000..9b352f1db7b9
--- /dev/null
+++ b/x11-toolkits/wlroots019/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744491055
+SHA256 (wlroots-0.19.0-rc1.tar.bz2) = 1bc3ab9f9863a7830fa85c723c0c6ded4a1cde091fe2c88c33bc2e1dfab36e8f
+SIZE (wlroots-0.19.0-rc1.tar.bz2) = 500708
diff --git a/x11-toolkits/wlroots019/pkg-descr b/x11-toolkits/wlroots019/pkg-descr
new file mode 100644
index 000000000000..6daf6a788b68
--- /dev/null
+++ b/x11-toolkits/wlroots019/pkg-descr
@@ -0,0 +1,28 @@
+Pluggable, composable, unopinionated modules for building a Wayland
+compositor; or about 60,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 provides a renderer abstraction that simple compositors can use to
+  avoid writing GL code directly, but which steps out of the way when your
+  needs demand custom rendering code.
+
+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/x11-toolkits/wlroots019/pkg-plist b/x11-toolkits/wlroots019/pkg-plist
new file mode 100644
index 000000000000..8b5b29f42440
--- /dev/null
+++ b/x11-toolkits/wlroots019/pkg-plist
@@ -0,0 +1,122 @@
+include/wlroots%%SUFFIX%%/wlr/backend.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/drm.h
+include/wlroots%%SUFFIX%%/wlr/backend/headless.h
+include/wlroots%%SUFFIX%%/wlr/backend/interface.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/libinput.h
+include/wlroots%%SUFFIX%%/wlr/backend/multi.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/session.h
+include/wlroots%%SUFFIX%%/wlr/backend/wayland.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/backend/x11.h
+include/wlroots%%SUFFIX%%/wlr/config.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_buffer.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_ext_image_capture_source_v1.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_keyboard.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_output.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_pointer.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_switch.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_pad.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_tool.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_touch.h
+include/wlroots%%SUFFIX%%/wlr/meson.build.bak
+include/wlroots%%SUFFIX%%/wlr/render/allocator.h
+include/wlroots%%SUFFIX%%/wlr/render/color.h
+include/wlroots%%SUFFIX%%/wlr/render/dmabuf.h
+include/wlroots%%SUFFIX%%/wlr/render/drm_format_set.h
+include/wlroots%%SUFFIX%%/wlr/render/drm_syncobj.h
+%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/egl.h
+%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/gles2.h
+include/wlroots%%SUFFIX%%/wlr/render/interface.h
+include/wlroots%%SUFFIX%%/wlr/render/pass.h
+include/wlroots%%SUFFIX%%/wlr/render/pixman.h
+include/wlroots%%SUFFIX%%/wlr/render/swapchain.h
+%%VULKAN%%include/wlroots%%SUFFIX%%/wlr/render/vulkan.h
+include/wlroots%%SUFFIX%%/wlr/render/wlr_renderer.h
+include/wlroots%%SUFFIX%%/wlr/render/wlr_texture.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_alpha_modifier_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_buffer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_color_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_compositor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_content_type_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor_shape_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_damage_ring.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_data_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_data_device.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_drm.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/types/wlr_drm_lease_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_export_dmabuf_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_ext_data_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_ext_foreign_toplevel_list_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_ext_image_capture_source_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_ext_image_copy_capture_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_foreign_toplevel_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_fractional_scale_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_gamma_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_inhibit_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_notify_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_input_device.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_input_method_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_group.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_layer_shell_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_linux_dmabuf_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_linux_drm_syncobj_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layout.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_power_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_swapchain_manager.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_constraints_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_gestures_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_presentation_time.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_relative_pointer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_scene.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_screencopy_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_seat.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_security_context_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_server_decoration.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_session_lock_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_shm.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_single_pixel_buffer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_subcompositor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_switch.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_pad.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_tool.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tearing_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_text_input_v3.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_touch.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_transient_seat_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_viewporter.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_keyboard_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_pointer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xcursor_manager.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_activation_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_decoration_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_dialog_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_registry.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_output_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_shell.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_system_bell_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_toplevel_icon_v1.h
+include/wlroots%%SUFFIX%%/wlr/util/addon.h
+include/wlroots%%SUFFIX%%/wlr/util/box.h
+include/wlroots%%SUFFIX%%/wlr/util/edges.h
+include/wlroots%%SUFFIX%%/wlr/util/log.h
+include/wlroots%%SUFFIX%%/wlr/util/region.h
+include/wlroots%%SUFFIX%%/wlr/util/transform.h
+include/wlroots%%SUFFIX%%/wlr/version.h
+include/wlroots%%SUFFIX%%/wlr/xcursor.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/server.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/shell.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/xwayland.h
+lib/libwlroots%%SUFFIX%%.so
+libdata/pkgconfig/wlroots%%SUFFIX%%.pc