BSD Ports

x11-toolkits/wlroots 0.14.1_2 MidnightBSD

Modular Wayland compositor library

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
License
mit
Categories
x11-toolkits

Description

Pluggable, composable, unopinionated modules for building a Wayland 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 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.

Install

Binary package:

mport install wlroots

From mports:

cd /usr/mports/x11-toolkits/wlroots && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	wlroots>0:x11-toolkits/wlroots
LIB_DEPENDS=	libwlroots.so:x11-toolkits/wlroots

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

As this port's Makefile names them.

Build 3

Library 6

Runtime 1

Build dependencies 8
Run dependencies 6

No port depends on this one.

Configuration

Options name: x11-toolkits_wlroots

OptionDefaultDescription
NVIDIAoffEGLStreams support for DRM backend (experimental)
OPENGLon
VULKANonVulkan renderer (experimental)
X11on
USES
compiler:c11 gl meson pkgconfig xorg
Service scripts
none

Files

pkg-plist 92
  • 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/wayland.h
  • include/wlr/backend/x11.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/pixman.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_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_keyboard_shortcuts_inhibit_v1.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_output_power_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_viewporter.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_activation_v1.h
  • include/wlr/types/wlr_xdg_decoration_v1.h
  • include/wlr/types/wlr_xdg_foreign_registry.h
  • include/wlr/types/wlr_xdg_foreign_v1.h
  • include/wlr/types/wlr_xdg_foreign_v2.h
  • include/wlr/types/wlr_xdg_output_v1.h
  • include/wlr/types/wlr_xdg_shell.h
  • include/wlr/util/edges.h
  • include/wlr/util/log.h
  • include/wlr/util/region.h
  • include/wlr/version.h
  • include/wlr/xcursor.h
  • include/wlr/xwayland.h
  • lib/libwlroots.so
  • lib/libwlroots.so.9
  • libdata/pkgconfig/wlroots.pc
distinfo 34
FileSizeSHA256
swaywm-wlroots-0.14.1_GH0.tar.gz505840448a83d579ac280357c8a4e902b9477bacbab81cc4d9c140e443642d458869db
7c0e2a271a4c.patch57292b92d3dde7640061ed85ab1690031f7627bebc2366e8c4da217017188ba7195e
55a8d225cf8c.patch4209f9df98540fdabe35c61ed828f6d64633aab72edf0ba1c7ad0849594f10383ce7
d9acdb6b21ec.patch91660b78414c89ebf93b4af02d955f9345d886d05ea0865d48f5c05e1e415adf3c45e
8c700c534556.patch49189d004493cde08be574d81e3e6024491cd1c4312ddadbdc0f5ea818327a558165a
0464af8573f9.patch110532f4870fb2a232885513ab18594ff97463483e132ebbac09f367f3017c510d3823
e3e9250ea6d8.patch11220d5f2764df5b99c57b106a87af160ffa955a0afe1de33bd90131eced1c39f44a1
1af1d1694195.patch205616d705e33b0939a8b11ea3d0f9355ddcb7c0cb85f8d7f668f4c016370be80c11
93319aa2b633.patch353760bbbb871aefacdf8b85b72a7bcafcfe9757e48653b345d1e1a96988f88680753
0028938735d1.patch39808d110d2fd139497f04ba7c8c0d649d03d28224ba6b33aaab95f4d233077234db9
6885b636508c.patch694b7c8d57224db108cc40420ba06aa7c227d2a48a8418f9430f2d0381447c68e62
76534695a8d3.patch9670084e97edd02f5ffd5d0181f9f9d0eea0f76bebe2b55b20f0dd78b182b0fe58cf
445142e6a1f9.patch2876e6b88f71a7e2b4ba340e53dc356748bc8d280a295e2188fde834aa0e45608f63
f029ae1dac4b.patch835f87e1128f3f8f34dc250bc2d4948275ee35b6def3026667758952dd74c0829e7
ad1fab0b3704.patch15431aa049ea5b83e8148d44e5c8b18b2a17188bb027220201e25d957181dc48f953
4407b8e5a3a7.patch7109e882f50f0c06224e44c34f06dc9321aba84630c6e5146bdf3289f8c9fac67c96
e021c068d02f.patch1365bfe830161b0946187107f3eaba5c1eacc7118011a02375991f951124dc969f89
2cc710bda83c.patch8937b8c6b3d354fc531bc7042312c006770c78b6ab61628a6d83d3417761372e478f
f0888604d6ce.patch216804d354bd7324d308ec5fc9ce211cdf81e6fdcee2bbc62dc4fff41a34a5f77c00a
4fdd5efc9260.patch562896d8e057c8b0d987e78d34ea5fdb6ec35ed3878eb5d1ee83319dcb29af198bd8