diff options
author | 2019-05-23 21:56:41 -0600 | |
---|---|---|
committer | 2019-05-23 21:56:41 -0600 | |
commit | bc4bc9cdeb223250a0f74aff63a37d7d45e01aa3 (patch) | |
tree | 9bb55fcbdca63f279d0cbda657028db6c488b081 /x11-misc/light-locker/files | |
parent | eclass: add support to toolchain.eclass for musl (diff) | |
download | gentoo-bc4bc9cdeb223250a0f74aff63a37d7d45e01aa3.tar.gz gentoo-bc4bc9cdeb223250a0f74aff63a37d7d45e01aa3.tar.bz2 gentoo-bc4bc9cdeb223250a0f74aff63a37d7d45e01aa3.zip |
x11-misc/light-locker: bump to 1.9.0
Manually ported the elogind patch. Note that consolekit is no longer
supported.
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Denis Dupeyron <calchan@gentoo.org>
Diffstat (limited to 'x11-misc/light-locker/files')
-rw-r--r-- | x11-misc/light-locker/files/light-locker-1.9.0-elogind.patch | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/x11-misc/light-locker/files/light-locker-1.9.0-elogind.patch b/x11-misc/light-locker/files/light-locker-1.9.0-elogind.patch new file mode 100644 index 000000000000..298e75844c4b --- /dev/null +++ b/x11-misc/light-locker/files/light-locker-1.9.0-elogind.patch @@ -0,0 +1,257 @@ +From 76afbe0757d8846d76bfed350aa9c9e4242aef86 Mon Sep 17 00:00:00 2001 +From: Denis Dupeyron <calchan@gentoo.org> +Date: Thu, 23 May 2019 13:52:12 -0600 +Subject: [PATCH] Port light-locker-1.8.0-elogind.patch + +--- + README.md | 2 ++ + configure.ac.in | 37 +++++++++++++++++++++++++++++++++++++ + src/gs-listener-dbus.c | 34 +++++++++++++++++++--------------- + src/light-locker.c | 6 ++++++ + 4 files changed, 64 insertions(+), 15 deletions(-) + +diff --git a/README.md b/README.md +index 86b66d0..b093a4f 100644 +--- a/README.md ++++ b/README.md +@@ -38,6 +38,8 @@ Here is a list of the different dependencies and their configuration flags: + + --with-systemd: This adds the support for systemd logind. This option requires the development files to be installed. + ++ --with-elogind: This adds support for elogind, a standalone version of systemd's logind daemon. Requires the elogind development files be installed. This option cannot be enabled at the same time as the --with-systemd option above. ++ + --with-upower: This adds the support for UPower. + + --with-mit-ext: This enables the lock-after-screensaver feature. This options requires the X11 Screen Saver extension development files to be installed. +diff --git a/configure.ac.in b/configure.ac.in +index f95863a..5c92191 100644 +--- a/configure.ac.in ++++ b/configure.ac.in +@@ -421,6 +421,42 @@ fi + AC_SUBST(SYSTEMD_CFLAGS) + AC_SUBST(SYSTEMD_LIBS) + ++dnl --------------------------------------------------------------------------- ++dnl elogind ++dnl --------------------------------------------------------------------------- ++ ++AC_ARG_WITH(elogind, ++ AS_HELP_STRING([--with-elogind], ++ [Add elogind support]), ++ [with_elogind=$withval], [with_elogind=auto]) ++ ++if test "x$with_systemd" = "xyes" && test "x$with_elogind" = "xyes"; then ++ AC_MSG_ERROR([Conflicting options: --with-systemd and --with-elogind]) ++fi ++ ++PKG_CHECK_MODULES(ELOGIND, ++ [libelogind], ++ [have_elogind=yes], [have_elogind=no]) ++ ++if test "x$with_elogind" = "xauto" ; then ++ if test x$have_elogind = xno ; then ++ use_elogind=no ++ else ++ use_elogind=yes ++ fi ++else ++ use_elogind=$with_elogind ++fi ++ ++if test "x$use_elogind" = "xyes"; then ++ if test "x$have_elogind" = "xno"; then ++ AC_MSG_ERROR([Elogind support explicitly required, but elogind not found]) ++ fi ++ AC_DEFINE(WITH_ELOGIND, 1, [elogind support]) ++fi ++AC_SUBST(ELOGIND_CFLAGS) ++AC_SUBST(ELOGIND_LIBS) ++ + dnl --------------------------------------------------------------------------- + dnl UPower + dnl --------------------------------------------------------------------------- +@@ -640,6 +676,7 @@ echo " + Platform: + --------- + systemd: ${use_systemd} ++ elogind: ${use_elogind} + UPower: ${use_upower} + + Features: +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 044a2bf..164856f 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -43,6 +43,10 @@ + #include <systemd/sd-login.h> + #endif + ++#ifdef WITH_ELOGIND ++#include <elogind/systemd/sd-login.h> ++#endif ++ + #include "gs-listener-dbus.h" + #include "gs-marshal.h" + #include "gs-debug.h" +@@ -78,7 +82,7 @@ struct GSListenerPrivate + char *session_id; + char *seat_path; + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + gboolean have_systemd; + char *sd_session_id; + int delay_fd; +@@ -134,7 +138,7 @@ gs_listener_send_switch_greeter (GSListener *listener) + + gs_debug ("Send switch greeter"); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + /* Compare with 0. On failure this will return < 0. + * In the later case we probably aren't using systemd. + */ +@@ -175,7 +179,7 @@ gs_listener_send_lock_session (GSListener *listener) + + gs_debug ("Send lock session"); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + /* Compare with 0. On failure this will return < 0. + * In the later case we probably aren't using systemd. + */ +@@ -359,7 +363,7 @@ gs_listener_set_idle_hint (GSListener *listener, gboolean idle) + + gs_debug ("Send idle hint: %d", idle); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + if (listener->priv->have_systemd) { + + if (listener->priv->system_connection == NULL) { +@@ -400,7 +404,7 @@ gs_listener_set_idle_hint (GSListener *listener, gboolean idle) + void + gs_listener_delay_suspend (GSListener *listener) + { +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + DBusMessage *message; + DBusMessage *reply; + DBusError error; +@@ -473,7 +477,7 @@ gs_listener_delay_suspend (GSListener *listener) + void + gs_listener_resume_suspend (GSListener *listener) + { +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + gs_debug ("Resume suspend: fd=%d", listener->priv->delay_fd); + + if (listener->priv->delay_fd >= 0) { +@@ -1076,7 +1080,7 @@ _listener_message_path_is_our_session (GSListener *listener, + return FALSE; + } + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + static gboolean + query_session_active (GSListener *listener) + { +@@ -1212,7 +1216,7 @@ query_lid_closed (GSListener *listener) + #endif + #endif + +-#if defined(WITH_SYSTEMD) || (defined(WITH_UPOWER) && defined(WITH_LOCK_ON_LID)) ++#if defined(WITH_SYSTEMD) || defined(WITH_ELOGIND) || (defined(WITH_UPOWER) && defined(WITH_LOCK_ON_LID)) + static gboolean + properties_changed_match (DBusMessage *message, + const char *property) +@@ -1307,7 +1311,7 @@ listener_dbus_handle_system_message (DBusConnection *connection, + dbus_message_get_destination (message)); + #endif + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + + if (listener->priv->have_systemd) { + +@@ -1880,7 +1884,7 @@ gs_listener_acquire (GSListener *listener, + listener_dbus_system_filter_function, + listener, + NULL); +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + if (listener->priv->have_systemd) { + dbus_bus_add_match (listener->priv->system_connection, + "type='signal'" +@@ -1971,7 +1975,7 @@ query_session_id (GSListener *listener) + + dbus_error_init (&error); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + if (listener->priv->have_systemd) { + dbus_uint32_t pid = getpid(); + +@@ -2022,7 +2026,7 @@ query_session_id (GSListener *listener) + return NULL; + } + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + static char * + query_sd_session_id (GSListener *listener) + { +@@ -2053,7 +2057,7 @@ init_session_id (GSListener *listener) + else + gs_debug ("Got session-id: %s", listener->priv->session_id); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + g_free (listener->priv->sd_session_id); + listener->priv->sd_session_id = query_sd_session_id (listener); + if (listener->priv->sd_session_id == NULL) +@@ -2150,7 +2154,7 @@ gs_listener_init (GSListener *listener) + { + listener->priv = GS_LISTENER_GET_PRIVATE (listener); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + /* check if logind is running */ + listener->priv->have_systemd = (access("/run/systemd/seats/", F_OK) >= 0); + listener->priv->delay_fd = -1; +@@ -2179,7 +2183,7 @@ gs_listener_finalize (GObject *object) + g_free (listener->priv->session_id); + g_free (listener->priv->seat_path); + +-#ifdef WITH_SYSTEMD ++#ifdef WITH_SYSTEMD || defined(WITH_ELOGIND) + g_free (listener->priv->sd_session_id); + #endif + +diff --git a/src/light-locker.c b/src/light-locker.c +index aefc4c6..51ae519 100644 +--- a/src/light-locker.c ++++ b/src/light-locker.c +@@ -139,6 +139,7 @@ main (int argc, + gs_debug ("Platform:\n" + "gtk: %d\n" + "systemd: %s\n" ++ "elogind: %s" + "UPower: %s", + GTK_MAJOR_VERSION, + #ifdef WITH_SYSTEMD +@@ -146,6 +147,11 @@ main (int argc, + #else + "no", + #endif ++#ifdef WITH_ELOGIND ++ "yes" ++#else ++ "no" ++#endif + #ifdef WITH_UPOWER + "yes" + #else +-- +2.21.0 + |