commit:     d5f83d8dbeb289acfe130c1b83df3bea7704ae12
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 15 09:13:13 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 15 09:16:04 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5f83d8d

xfce-extra/xfce4-screensaver: Enable wayland support

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../xfce4-screensaver-4.20.0-r1.ebuild             | 114 +++++++++++++++++++++
 1 file changed, 114 insertions(+)

diff --git a/xfce-extra/xfce4-screensaver/xfce4-screensaver-4.20.0-r1.ebuild 
b/xfce-extra/xfce4-screensaver/xfce4-screensaver-4.20.0-r1.ebuild
new file mode 100644
index 000000000000..6627641d1f0d
--- /dev/null
+++ b/xfce-extra/xfce4-screensaver/xfce4-screensaver-4.20.0-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson xdg-utils
+
+DESCRIPTION="Screen saver and locker (port of MATE screensaver)"
+HOMEPAGE="
+       https://docs.xfce.org/apps/screensaver/start
+       https://gitlab.xfce.org/apps/xfce4-screensaver/
+"
+SRC_URI="
+       https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.xz
+"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="elogind +locking pam systemd wayland X"
+REQUIRED_USE="
+       || ( wayland X )
+       ?? ( elogind systemd )
+"
+
+DEPEND="
+       >=dev-libs/dbus-glib-0.30
+       >=dev-libs/glib-2.50.0:2
+       >=x11-libs/gtk+-3.24.0:3[wayland?,X?]
+       >=xfce-base/garcon-4.16.0:=
+       >=xfce-base/libxfce4ui-4.18.4:=
+       >=xfce-base/libxfce4util-4.16.0:=
+       >=xfce-base/xfconf-4.16.0:=
+       wayland? (
+               >=dev-libs/wayland-1.15
+               gui-libs/libwlembed:=[gtk]
+               >=xfce-base/libxfce4windowing-4.19.2:=
+       )
+       X? (
+               >=x11-libs/libwnck-3.20:3
+               >=x11-libs/libX11-1.6.7:=
+               >=x11-libs/libXScrnSaver-1.2.3:=
+               >=x11-libs/libXext-1.0.0:=
+               >=x11-libs/libxklavier-5.2:=
+       )
+       elogind? ( sys-auth/elogind )
+       locking? (
+               pam? ( sys-libs/pam )
+       )
+       systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="
+       ${DEPEND}
+"
+DEPEND+="
+       wayland? (
+               >=dev-libs/wayland-protocols-1.20
+       )
+"
+BDEPEND="
+       dev-util/glib-utils
+       sys-apps/dbus
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+"
+
+src_configure() {
+       local auth_scheme session_manager
+
+       # upstream has no "none" option, but pwent + !locking + !shadow
+       # disables all dependency checks
+       if use locking && use pam; then
+               auth_scheme=pam
+       else
+               auth_scheme=pwent
+       fi
+       if use systemd; then
+               session_manager=systemd
+       elif use elogind; then
+               session_manager=elogind
+       else
+               # not exactly the same as disabled but it has no deps
+               session_manager=consolekit
+       fi
+
+       local emesonargs=(
+               -Dauthentication-scheme=${auth_scheme}
+               -Dsession-manager=${session_manager}
+               $(meson_feature X x11)
+               $(meson_feature wayland)
+               
-Dxscreensaverhackdir="${EPREFIX}/usr/$(get_libdir)/misc/xscreensaver"
+               -Dkbd-layout-indicator=true
+               # disable docbook for now
+               -Ddocs=disabled
+               -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+               $(meson_use locking)
+               # used only with -Dauthentication-scheme=pam
+               -Dpam-auth-type=system
+               # used only with -Dauthentication-scheme=pwent
+               # locking + shadow = shadow-based locking
+               # !locking + !shadow = no locking and no dependencies
+               $(meson_use locking shadow)
+       )
+
+       meson_src_configure
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+}

Reply via email to