From c717faa5c764af20fbd12ec544b9b81dc4f97b56 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 23 Mar 2022 13:08:41 +0000 Subject: x11-toolkits/wlroots: fork 0.15 into a pinned port Some consumers are ready for 0.16 API but many are not. For smooth transition use non-default PREFIX, so both can be installed together. --- x11-toolkits/wlroots015/Makefile | 84 ++++++++++++++++++++++++++++++++ x11-toolkits/wlroots015/distinfo | 11 +++++ x11-toolkits/wlroots015/override.mk | 8 +++ x11-toolkits/wlroots015/pkg-descr | 28 +++++++++++ x11-toolkits/wlroots015/pkg-message | 9 ++++ x11-toolkits/wlroots015/pkg-plist | 97 +++++++++++++++++++++++++++++++++++++ 6 files changed, 237 insertions(+) create mode 100644 x11-toolkits/wlroots015/Makefile create mode 100644 x11-toolkits/wlroots015/distinfo create mode 100644 x11-toolkits/wlroots015/override.mk create mode 100644 x11-toolkits/wlroots015/pkg-descr create mode 100644 x11-toolkits/wlroots015/pkg-message create mode 100644 x11-toolkits/wlroots015/pkg-plist (limited to 'x11-toolkits/wlroots015') diff --git a/x11-toolkits/wlroots015/Makefile b/x11-toolkits/wlroots015/Makefile new file mode 100644 index 000000000000..c625c7f399eb --- /dev/null +++ b/x11-toolkits/wlroots015/Makefile @@ -0,0 +1,84 @@ +PORTNAME= wlroots +DISTVERSION= 0.15.1 +DISTVERSIONSUFFIX= -g${GL_COMMIT:C/(.{12}).*/\1/} +CATEGORIES= x11-toolkits +PKGNAMESUFFIX= 015 + +PATCH_SITES+= https://github.com/swaywm/${GL_PROJECT}/commit/:github +PATCHFILES+= 7c0e2a271a4c.patch:-p1:github # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064 +PATCHFILES+= 55a8d225cf8c.patch:-p1:github # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064 +PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/ +PATCHFILES+= 347b32642fb6.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3318 + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Modular Wayland compositor library (deprecated 0.15.* series) +WWW= https://gitlab.freedesktop.org/wlroots/wlroots + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= wayland-protocols>=1.24:graphics/wayland-protocols +LIB_DEPENDS= libudev.so:devel/libudev-devd \ + libdrm.so:graphics/libdrm \ + libwayland-server.so:graphics/wayland \ + libseat.so:sysutils/seatd \ + 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 +GL_COMMIT= 29938b74251e826f3778f6bf9c54974a30488cc1 +MESON_ARGS= -Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,} + +.ifdef PKGNAMESUFFIX +PORTSCOUT= limit:^0\.15\. +PREFIX= ${LOCALBASE}/${PKGBASE} # avoid conflict with the default +MESON_ARGS+= -Ddatadir="${LOCALBASE}/share" +.endif + +OPTIONS_DEFINE= DRM NVIDIA OPENGL VULKAN X11 +OPTIONS_DEFAULT=DRM OPENGL VULKAN X11 +OPTIONS_SUB= yes + +DRM_DESC= KMS console support +DRM_LIB_DEPENDS= libinput.so:x11/libinput +DRM_VARS= BACKENDS+="drm libinput" + +NVIDIA_DESC= EGLStreams support for DRM backend (experimental) +NVIDIA_PATCH_SITES= https://github.com/danvd/${GL_PROJECT}-eglstreams/commit/:nvidia +NVIDIA_PATCHFILES= c0fc017207f0.patch:-p1:nvidia # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2769 +NVIDIA_IMPLIES= DRM OPENGL X11 +.if make(makesum) +.MAKEFLAGS: WITH+=NVIDIA +.endif + +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-devel>0:x11-servers/xwayland-devel +X11_RUN_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel +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 diff --git a/x11-toolkits/wlroots015/distinfo b/x11-toolkits/wlroots015/distinfo new file mode 100644 index 000000000000..de04adb00a97 --- /dev/null +++ b/x11-toolkits/wlroots015/distinfo @@ -0,0 +1,11 @@ +TIMESTAMP = 1643923194 +SHA256 (wlroots-wlroots-29938b74251e826f3778f6bf9c54974a30488cc1_GL0.tar.gz) = 7d3bc1ee9851354a76632de5d0428a3b9583f43ee3e3194f7be616f404f8eae1 +SIZE (wlroots-wlroots-29938b74251e826f3778f6bf9c54974a30488cc1_GL0.tar.gz) = 566013 +SHA256 (7c0e2a271a4c.patch) = 2b92d3dde7640061ed85ab1690031f7627bebc2366e8c4da217017188ba7195e +SIZE (7c0e2a271a4c.patch) = 5729 +SHA256 (55a8d225cf8c.patch) = f9df98540fdabe35c61ed828f6d64633aab72edf0ba1c7ad0849594f10383ce7 +SIZE (55a8d225cf8c.patch) = 4209 +SHA256 (347b32642fb6.patch) = 56804ce34cd02cb3b2b11a0dbf27c2820c2c0d112f351cdaed5d160e0536d418 +SIZE (347b32642fb6.patch) = 3810 +SHA256 (c0fc017207f0.patch) = bdafef91a067cc95d9b47f5a837e400b641d9479393136818c34f5eb6b846d71 +SIZE (c0fc017207f0.patch) = 108229 diff --git a/x11-toolkits/wlroots015/override.mk b/x11-toolkits/wlroots015/override.mk new file mode 100644 index 000000000000..556e497fa9e2 --- /dev/null +++ b/x11-toolkits/wlroots015/override.mk @@ -0,0 +1,8 @@ +WLR_SUFFIX= 015 + +BUILD_DEPENDS:= ${BUILD_DEPENDS:S/wlroots/&${WLR_SUFFIX}/g} +LIB_DEPENDS:= ${LIB_DEPENDS:S/wlroots$/&${WLR_SUFFIX}/} + +USES+= localbase # -isystem +CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/wlroots${WLR_SUFFIX}/libdata/pkgconfig" +MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/wlroots${WLR_SUFFIX}/libdata/pkgconfig" diff --git a/x11-toolkits/wlroots015/pkg-descr b/x11-toolkits/wlroots015/pkg-descr new file mode 100644 index 000000000000..6daf6a788b68 --- /dev/null +++ b/x11-toolkits/wlroots015/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/wlroots015/pkg-message b/x11-toolkits/wlroots015/pkg-message new file mode 100644 index 000000000000..59db8a7fadd8 --- /dev/null +++ b/x11-toolkits/wlroots015/pkg-message @@ -0,0 +1,9 @@ +[ +{ type: install + message: <