summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-01-02 05:59:47 +0000
committerSam James <sam@gentoo.org>2024-01-02 05:59:47 +0000
commit763d1a19a12b0d2dba941a00ab4c5bd2ac3b8496 (patch)
tree3b299416306b609bb6a7de2111028f0fd06d1db6 /x11-base/xwayland
parentmedia-video/ffmpeg: add 6.1.1 (diff)
downloadgentoo-763d1a19a12b0d2dba941a00ab4c5bd2ac3b8496.tar.gz
gentoo-763d1a19a12b0d2dba941a00ab4c5bd2ac3b8496.tar.bz2
gentoo-763d1a19a12b0d2dba941a00ab4c5bd2ac3b8496.zip
x11-base/xwayland: fix systemd automagic
Closes: https://bugs.gentoo.org/908254 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-base/xwayland')
-rw-r--r--x11-base/xwayland/files/xwayland-23.2.3-systemd-automagic.patch52
-rw-r--r--x11-base/xwayland/xwayland-23.2.3-r1.ebuild112
-rw-r--r--x11-base/xwayland/xwayland-9999.ebuild6
3 files changed, 168 insertions, 2 deletions
diff --git a/x11-base/xwayland/files/xwayland-23.2.3-systemd-automagic.patch b/x11-base/xwayland/files/xwayland-23.2.3-systemd-automagic.patch
new file mode 100644
index 000000000000..9af034c46fd5
--- /dev/null
+++ b/x11-base/xwayland/files/xwayland-23.2.3-systemd-automagic.patch
@@ -0,0 +1,52 @@
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1230
+
+From 010f6e751e86207a7e88f3504191bcae2d77b458 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 31 Dec 2023 23:37:19 +0000
+Subject: [PATCH] meson: add option for systemd
+
+Without this, systemd will be used if installed on the system automagically,
+which is a problem if the built e.g. Xwayland is going to be used on a non-systemd
+machine.
+
+Bug: https://bugs.gentoo.org/908254
+Signed-off-by: Sam James <sam@gentoo.org>
+
+diff --git a/include/meson.build b/include/meson.build
+index e6e3d553f..ddc18407e 100644
+--- a/include/meson.build
++++ b/include/meson.build
+@@ -91,7 +91,7 @@ endif
+
+ conf_data.set('HAVE_LIBBSD', libbsd_dep.found() ? '1' : false)
+ # Note: this symbol is used by libXtrans.
+-conf_data.set('HAVE_SYSTEMD_DAEMON', libsystemd_daemon_dep.found() ? '1' : false)
++conf_data.set('HAVE_SYSTEMD_DAEMON', build_systemd ? '1' : false)
+ conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found() ? '1' : false)
+ conf_data.set('WITH_LIBDRM', libdrm_required ? '1' : false)
+ conf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF',
+diff --git a/meson.build b/meson.build
+index 60164d73b..de984760c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -99,6 +99,7 @@ xkbcomp_dep = dependency('xkbcomp', required: false)
+ xkbfile_dep = dependency('xkbfile')
+ xfont2_dep = dependency('xfont2', version: '>= 2.0')
+
++build_systemd = get_option('systemd') == 'true'
+ # libsystemd-daemon was moved into libsystemd in version 209
+ libsystemd_daemon_dep = dependency('libsystemd', version: '>= 209', required: false)
+ if not libsystemd_daemon_dep.found()
+diff --git a/meson_options.txt b/meson_options.txt
+index af094df70..62c539fbd 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -47,6 +47,8 @@ option('listen_unix', type: 'boolean', value: true,
+ option('listen_local', type: 'boolean', value: true,
+ description: 'Listen on local by default')
+
++option('systemd', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',
++ description: 'Enable systemd-notify support')
+ option('dpms', type: 'boolean', value: true,
+ description: 'Xorg DPMS extension')
+ option('xf86bigfont', type: 'boolean', value: false,
diff --git a/x11-base/xwayland/xwayland-23.2.3-r1.ebuild b/x11-base/xwayland/xwayland-23.2.3-r1.ebuild
new file mode 100644
index 000000000000..7cf66e28583c
--- /dev/null
+++ b/x11-base/xwayland/xwayland-23.2.3-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git"
+ inherit git-r3
+else
+ SRC_URI="https://xorg.freedesktop.org/archive/individual/xserver/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Standalone X server running under Wayland"
+HOMEPAGE="https://wayland.freedesktop.org/xserver.html"
+
+IUSE="libei selinux systemd video_cards_nvidia unwind xcsecurity"
+
+LICENSE="MIT"
+SLOT="0"
+
+COMMON_DEPEND="
+ dev-libs/libbsd
+ dev-libs/openssl:=
+ >=dev-libs/wayland-1.21.0
+ >=dev-libs/wayland-protocols-1.30
+ media-fonts/font-util
+ >=media-libs/libepoxy-1.5.4[X,egl(+)]
+ media-libs/libglvnd[X]
+ >=media-libs/mesa-21.1[X(+),egl(+),gbm(+)]
+ >=x11-libs/libdrm-2.4.109
+ >=x11-libs/libXau-1.0.4
+ x11-libs/libxcvt
+ >=x11-libs/libXdmcp-1.0.2
+ >=x11-libs/libXfont2-2.0.1
+ x11-libs/libxkbfile
+ >=x11-libs/libxshmfence-1.1
+ >=x11-libs/pixman-0.27.2
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+
+ libei? ( dev-libs/libei )
+ systemd? ( sys-apps/systemd )
+ unwind? ( sys-libs/libunwind )
+ video_cards_nvidia? ( gui-libs/egl-wayland )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ >=x11-base/xorg-proto-2022.2
+ >=x11-libs/xtrans-1.3.5
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ x11-apps/xkbcomp
+
+ libei? ( >=sys-apps/xdg-desktop-portal-1.18.0 )
+ selinux? ( sec-policy/selinux-xserver )
+"
+BDEPEND="
+ sys-devel/flex
+ dev-util/wayland-scanner
+"
+
+PATCHES=(
+ "${FILESDIR}"/xwayland-drop-redundantly-installed-files.patch
+ "${FILESDIR}"/xwayland-23.2.3-systemd-automagic.patch
+)
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use selinux xselinux)
+ $(meson_use systemd)
+ $(meson_use unwind libunwind)
+ $(meson_use xcsecurity)
+ $(meson_use video_cards_nvidia xwayland_eglstream)
+ -Ddpms=true
+ -Ddri3=true
+ -Ddrm=true
+ -Ddtrace=false
+ -Dglamor=true
+ -Dglx=true
+ -Dipv6=true
+ -Dsecure-rpc=false
+ -Dscreensaver=true
+ -Dsha1=libcrypto
+ -Dxace=true
+ -Dxdmcp=true
+ -Dxinerama=true
+ -Dxvfb=true
+ -Dxv=true
+ -Dxwayland-path="${EPREFIX}"/usr/bin
+ -Dlibdecor=false
+ -Ddocs=false
+ -Ddevel-docs=false
+ -Ddocs-pdf=false
+ )
+
+ if use libei; then
+ emesonargs+=( -Dxwayland_ei=portal )
+ else
+ emesonargs+=( -Dxwayland_ei=false )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ dosym ../bin/Xwayland /usr/libexec/Xwayland
+
+ meson_src_install
+}
diff --git a/x11-base/xwayland/xwayland-9999.ebuild b/x11-base/xwayland/xwayland-9999.ebuild
index 915fd9a08bb3..6d2b4301bc42 100644
--- a/x11-base/xwayland/xwayland-9999.ebuild
+++ b/x11-base/xwayland/xwayland-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ fi
DESCRIPTION="Standalone X server running under Wayland"
HOMEPAGE="https://wayland.freedesktop.org/xserver.html"
-IUSE="libei selinux video_cards_nvidia unwind xcsecurity"
+IUSE="libei selinux systemd video_cards_nvidia unwind xcsecurity"
LICENSE="MIT"
SLOT="0"
@@ -41,6 +41,7 @@ COMMON_DEPEND="
>=x11-misc/xkeyboard-config-2.4.1-r3
libei? ( dev-libs/libei )
+ systemd? ( sys-apps/systemd )
unwind? ( sys-libs/libunwind )
video_cards_nvidia? ( gui-libs/egl-wayland )
"
@@ -68,6 +69,7 @@ PATCHES=(
src_configure() {
local emesonargs=(
$(meson_use selinux xselinux)
+ $(meson_use systemd)
$(meson_use unwind libunwind)
$(meson_use xcsecurity)
$(meson_use video_cards_nvidia xwayland_eglstream)