From 404c7eedfe73673af8f590315fb85f5a725461b3 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 19 Nov 2021 23:19:40 -0500 Subject: gnu: gnome-session: Restore elogind support. * gnu/packages/patches/gnome-session-support-elogind.patch: New file. * gnu/local.mk: Add it. * gnu/packages/gnome.scm (gnome-session)[source]: Use it. [arguments]: Add "-Delogind=true" to #:configure-flags; remove phases that patch in old-style elogind support. Signed-off-by: Maxim Cournoyer --- .../patches/gnome-session-support-elogind.patch | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 gnu/packages/patches/gnome-session-support-elogind.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/gnome-session-support-elogind.patch b/gnu/packages/patches/gnome-session-support-elogind.patch new file mode 100644 index 0000000000..b52b4c6855 --- /dev/null +++ b/gnu/packages/patches/gnome-session-support-elogind.patch @@ -0,0 +1,73 @@ +This patch, borrowed from Gentoo, allows configuring gnome-sesssion with +elogind support. + +https://gitweb.gentoo.org/repo/gentoo.git/plain/gnome-base/gnome-session/files/gnome-session-3.38.0-meson-Support-elogind.patch?id=5f7fe88af5f888aff58fa0c069c3fe07973c7cd2 + +From 4454f2a63394b69fba2c900151165ad8b5742f31 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Sun, 15 Mar 2020 14:34:39 +0200 +Subject: [PATCH] meson: Support elogind + +--- + meson.build | 12 +++++++++--- + meson_options.txt | 1 + + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index ef5132c6..7f68aaae 100644 +--- a/meson.build ++++ b/meson.build +@@ -124,8 +124,10 @@ enable_systemd = get_option('systemd') + enable_systemd_session = get_option('systemd_session') != 'disable' + use_systemd_session = get_option('systemd_session') == 'default' + enable_systemd_journal = get_option('systemd_journal') ++enable_elogind = get_option('elogind') + enable_consolekit = get_option('consolekit') +-if enable_systemd or enable_consolekit ++assert(not (enable_systemd and enable_elogind), 'Can not support systemd and elogind at once') ++if enable_systemd or enable_elogind or enable_consolekit + session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version) + + # Check for systemd +@@ -152,6 +154,10 @@ if enable_systemd or enable_consolekit + endif + + session_tracking = 'systemd' ++ elif enable_elogind ++ libelogind_dep = dependency('libelogind', version: '>= 239.4') ++ session_bin_deps += libelogind_dep ++ session_tracking = 'elogind' + endif + + # Check for ConsoleKit +@@ -161,7 +167,7 @@ if enable_systemd or enable_consolekit + + session_bin_deps += dbus_glib_dep + +- if enable_systemd ++ if enable_systemd or enable_elogind + session_tracking += ' (with fallback to ConsoleKit)' + else + session_tracking = 'ConsoleKit' +@@ -171,7 +177,7 @@ endif + if enable_systemd_session + assert(enable_systemd, 'Systemd support must be enabled when using systemd session management') + endif +-config_h.set('HAVE_SYSTEMD', enable_systemd) ++config_h.set('HAVE_SYSTEMD', enable_systemd or enable_elogind) + config_h.set('ENABLE_SYSTEMD_SESSION', enable_systemd_session) + config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal) + config_h.set('HAVE_CONSOLEKIT', enable_consolekit) +diff --git a/meson_options.txt b/meson_options.txt +index 4c05dc6e..512d1528 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,4 +1,5 @@ + option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags') ++option('elogind', type: 'boolean', value: true, description: 'Use elogind') + option('session_selector', type: 'boolean', value: false, description: 'enable building a custom session selector dialog') + option('systemd', type: 'boolean', value: true, description: 'Use systemd') + option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default') +-- +2.26.2 + -- cgit v1.2.3