diff options
author | Zurab Kvachadze <zurabid2016@gmail.com> | 2023-05-18 10:51:48 +0300 |
---|---|---|
committer | Matthew Thode <prometheanfire@gentoo.org> | 2023-05-21 14:58:47 -0500 |
commit | 3807e953a8eec7d5e64b2397b903400d98c9e21b (patch) | |
tree | 02ba62f01f2e0aea75b3743f11def0ce9006ab70 /gui-libs/wlroots | |
parent | kde-plasma/plasma-meta: Stabilize 5.27.5 arm64, #906216 (diff) | |
download | gentoo-3807e953a8eec7d5e64b2397b903400d98c9e21b.tar.gz gentoo-3807e953a8eec7d5e64b2397b903400d98c9e21b.tar.bz2 gentoo-3807e953a8eec7d5e64b2397b903400d98c9e21b.zip |
gui-libs/wlroots: fix building with seatd, revbump to wlroots-0.16.2-r1
Previous ebuild would conditionally, based on the USE flags, pull
mandatory dependencies (that is udev, hwdata, seatd), which in the
absense of such would result in a build failure. USE flags have been
removed, which does not affect users who managed to build the package
successfully, therefore keywords were not dropped.
It is possible to disable/enable certain backends including their
dependencies, so ability to control this behaviour was added in 0.16.1-r1
and 9999 versions.
Bug: https://bugs.gentoo.org/883781
Closes: https://bugs.gentoo.org/883781
Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
Diffstat (limited to 'gui-libs/wlroots')
-rw-r--r-- | gui-libs/wlroots/metadata.xml | 7 | ||||
-rw-r--r-- | gui-libs/wlroots/wlroots-0.16.2-r1.ebuild | 88 | ||||
-rw-r--r-- | gui-libs/wlroots/wlroots-0.16.2.ebuild | 8 | ||||
-rw-r--r-- | gui-libs/wlroots/wlroots-9999.ebuild | 33 |
4 files changed, 115 insertions, 21 deletions
diff --git a/gui-libs/wlroots/metadata.xml b/gui-libs/wlroots/metadata.xml index 69cb7d4fc088..10ac1444ba24 100644 --- a/gui-libs/wlroots/metadata.xml +++ b/gui-libs/wlroots/metadata.xml @@ -21,9 +21,10 @@ wlroots is developed under the direction of the <pkg>gui-wm/sway</pkg> project. </longdescription> <use> - <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="drm">Enable Direct Rendering Management</flag> + <flag name="liftoff">Enable support for libliftoff KMS plane backend</flag> + <flag name="libinput">Enable support for input devices via <pkg>dev-libs/libinput</pkg></flag> + <flag name="session">Enable session support (is required for DRM and libinput)</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> diff --git a/gui-libs/wlroots/wlroots-0.16.2-r1.ebuild b/gui-libs/wlroots/wlroots-0.16.2-r1.ebuild new file mode 100644 index 000000000000..f1999ee681bf --- /dev/null +++ b/gui-libs/wlroots/wlroots-0.16.2-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor" +HOMEPAGE="https://gitlab.freedesktop.org/wlroots/wlroots" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 + SLOT="0/9999" +else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + SLOT="0/$(ver_cut 2)" +fi + +LICENSE="MIT" +IUSE="+drm +libinput tinywl vulkan x11-backend X" + +DEPEND=" + >=dev-libs/wayland-1.21.0 + >=dev-libs/wayland-protocols-1.28 + drm? ( sys-apps/hwdata:= ) + libinput? ( >=dev-libs/libinput-1.14.0:0= ) + media-libs/mesa[egl(+),gles2] + sys-auth/seatd:= + virtual/libudev + vulkan? ( + dev-util/glslang:0= + dev-util/vulkan-headers:0= + media-libs/vulkan-loader:0= + ) + >=x11-libs/libdrm-2.4.114:0= + x11-libs/libxkbcommon + >=x11-libs/pixman-0.42.0:0= + x11-backend? ( x11-libs/libxcb:0= ) + X? ( + x11-base/xwayland + x11-libs/libxcb:0= + x11-libs/xcb-util-image + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=dev-libs/wayland-protocols-1.24 + >=dev-util/meson-0.60.0 + dev-util/wayland-scanner + virtual/pkgconfig +" + +src_configure() { + local backends="$(usex drm 'drm,' '')" + backends+="$(usex libinput 'libinput,' '')" + backends+="$(usex x11-backend 'x11,' '')" + # Get rid of a trailing comma + backends="${backends%,}" + # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?) + local emesonargs=( + "-Dxcb-errors=disabled" + $(meson_use tinywl examples) + -Drenderers=$(usex vulkan 'gles2,vulkan' gles2) + -Dxwayland=$(usex X enabled disabled) + -Dbackends="${backends}" + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + if use tinywl; then + dobin "${BUILD_DIR}"/tinywl/tinywl + fi +} + +pkg_postinst() { + elog "You must be in the input group to allow your compositor" + elog "to access input devices via libinput." +} diff --git a/gui-libs/wlroots/wlroots-0.16.2.ebuild b/gui-libs/wlroots/wlroots-0.16.2.ebuild index c6aa61b39f4b..0e57c5f6342e 100644 --- a/gui-libs/wlroots/wlroots-0.16.2.ebuild +++ b/gui-libs/wlroots/wlroots-0.16.2.ebuild @@ -19,16 +19,16 @@ else fi LICENSE="MIT" -IUSE="+hwdata +seatd tinywl +udev vulkan x11-backend X" +IUSE="tinywl vulkan x11-backend X" DEPEND=" >=dev-libs/libinput-1.14.0:0= >=dev-libs/wayland-1.21.0 >=dev-libs/wayland-protocols-1.28 media-libs/mesa[egl(+),gles2] - hwdata? ( sys-apps/hwdata:= ) - seatd? ( sys-auth/seatd:= ) - udev? ( virtual/libudev ) + sys-apps/hwdata:= + sys-auth/seatd:= + virtual/libudev vulkan? ( dev-util/glslang:0= dev-util/vulkan-headers:0= diff --git a/gui-libs/wlroots/wlroots-9999.ebuild b/gui-libs/wlroots/wlroots-9999.ebuild index ec3331b0dc80..23e9b35403bd 100644 --- a/gui-libs/wlroots/wlroots-9999.ebuild +++ b/gui-libs/wlroots/wlroots-9999.ebuild @@ -19,18 +19,23 @@ else fi LICENSE="MIT" -IUSE="+hwdata liftoff +seatd tinywl +udev vulkan x11-backend xcb-errors X" +IUSE="liftoff +libinput +drm +session tinywl vulkan x11-backend xcb-errors X" +REQUIRED_USE="drm? ( session ) libinput? ( session )" DEPEND=" - >=dev-libs/libinput-1.14.0:0= >=dev-libs/wayland-1.22.0 >=dev-libs/wayland-protocols-1.28 + drm? ( + liftoff? ( dev-libs/libliftoff ) + media-libs/libdisplay-info + sys-apps/hwdata:= + ) + libinput? ( >=dev-libs/libinput-1.14.0:0= ) media-libs/mesa[egl(+),gles2] - media-libs/libdisplay-info - hwdata? ( sys-apps/hwdata:= ) - liftoff? ( dev-libs/libliftoff ) - seatd? ( sys-auth/seatd:= ) - udev? ( virtual/libudev ) + session? ( + sys-auth/seatd:= + virtual/libudev + ) vulkan? ( dev-util/glslang:0= dev-util/vulkan-headers:0= @@ -60,20 +65,20 @@ BDEPEND=" " src_configure() { + local backends="$(usex drm 'drm,' '')" + backends+="$(usex libinput 'libinput,' '')" + backends+="$(usex x11-backend 'x11,' '')" + # Get rid of a trailing comma + backends="${backends%,}" # 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' '') + -Dbackends="${backends}" + -Dsession=$(usex session enabled disabled) ) - if use udev; then - emesonargs+=(-Dsession=$(usex seatd enabled disabled)) - else - emesonargs+=(-Dsession=disabled) - fi meson_src_configure } |