commit:     01a4fe8c96efd9fd4ce1114b9a5f86f1ce6adc87
Author:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 16:09:17 2023 +0000
Commit:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Sat May 13 16:59:32 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01a4fe8c

gui-libs/wlroots: make session support optional based on libseat support

currently libseat is the only supported session backend
https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/10dd41669492f7582c26bd3989536a66278df75d/backend/session/meson.build

also adds optional support for libliftoff display-info and xcb-errors

Bug: https://bugs.gentoo.org/883781

Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>

 gui-libs/wlroots/metadata.xml        |  3 +++
 gui-libs/wlroots/wlroots-9999.ebuild | 12 ++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/gui-libs/wlroots/metadata.xml b/gui-libs/wlroots/metadata.xml
index 09e9bbf14315..3d959b74fcc6 100644
--- a/gui-libs/wlroots/metadata.xml
+++ b/gui-libs/wlroots/metadata.xml
@@ -21,11 +21,14 @@
                wlroots is developed under the direction of the 
<pkg>gui-wm/sway</pkg> project.
        </longdescription>
        <use>
+               <flag name="display-info">Enable support for EDID and 
DisplayID</flag>
                <flag name="hwdata">Use system hwdata</flag>
+               <flag name="liftoff">Enable support for libliftoff kms plane 
backend</flag>
                <flag name="seatd">Enable libseatd session support</flag>
                <flag name="tinywl">Install the minimal wayland client, 
tinywl</flag>
                <flag name="vulkan">Enable support for the vulkan backend 
renderer</flag>
                <flag name="x11-backend">Enable support for handling 
input/output devices through <pkg>x11-libs/libxcb</pkg></flag>
+               <flag name="xcb-errors">Better error reporting when using 
xwayland</flag>
                <flag name="X">Enable support for X11 applications 
(XWayland)</flag>
        </use>
        <upstream>

diff --git a/gui-libs/wlroots/wlroots-9999.ebuild 
b/gui-libs/wlroots/wlroots-9999.ebuild
index 465c324cb3b1..ad439b8816b3 100644
--- a/gui-libs/wlroots/wlroots-9999.ebuild
+++ b/gui-libs/wlroots/wlroots-9999.ebuild
@@ -19,15 +19,16 @@ else
 fi
 
 LICENSE="MIT"
-IUSE="+hwdata +seatd tinywl +udev vulkan x11-backend X"
+IUSE="display-info +hwdata liftoff +seatd tinywl +udev vulkan x11-backend 
xcb-errors X"
 
 DEPEND="
        >=dev-libs/libinput-1.14.0:0=
        >=dev-libs/wayland-1.22.0
        >=dev-libs/wayland-protocols-1.28
        media-libs/mesa[egl(+),gles2]
-       media-libs/libdisplay-info:=
+       display-info? ( media-libs/libdisplay-info )
        hwdata? ( sys-apps/hwdata:= )
+       liftoff? ( dev-libs/libliftoff )
        seatd? ( sys-auth/seatd:= )
        udev? ( virtual/libudev )
        vulkan? (
@@ -45,6 +46,7 @@ DEPEND="
                x11-libs/xcb-util-image
                x11-libs/xcb-util-renderutil
                x11-libs/xcb-util-wm
+               xcb-errors? ( x11-libs/xcb-util-errors )
        )
 "
 RDEPEND="
@@ -61,11 +63,17 @@ src_configure() {
        # xcb-util-errors is not on Gentoo Repository (and upstream seems 
inactive?)
        local emesonargs=(
                "-Dxcb-errors=disabled"
+               -Dxcb-errors=$(usex xcb-errors enabled disabled)
                $(meson_use tinywl examples)
                -Drenderers=$(usex vulkan 'gles2,vulkan' gles2)
                -Dxwayland=$(usex X enabled disabled)
                -Dbackends=drm,libinput$(usex x11-backend ',x11' '')
        )
+       if use udev; then
+               emesonargs+=(-Dsession=$(usex seatd enabled disabled))
+       else
+               emesonargs+=(-Dsession=disabled)
+       fi
 
        meson_src_configure
 }

Reply via email to