summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZurab Kvachadze <zurabid2016@gmail.com>2023-05-18 10:51:48 +0300
committerMatthew Thode <prometheanfire@gentoo.org>2023-05-21 14:58:47 -0500
commit3807e953a8eec7d5e64b2397b903400d98c9e21b (patch)
tree02ba62f01f2e0aea75b3743f11def0ce9006ab70 /gui-libs/wlroots
parentkde-plasma/plasma-meta: Stabilize 5.27.5 arm64, #906216 (diff)
downloadgentoo-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.xml7
-rw-r--r--gui-libs/wlroots/wlroots-0.16.2-r1.ebuild88
-rw-r--r--gui-libs/wlroots/wlroots-0.16.2.ebuild8
-rw-r--r--gui-libs/wlroots/wlroots-9999.ebuild33
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
}