summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Dupeyron <calchan@gentoo.org>2019-05-23 21:56:41 -0600
committerDenis Dupeyron <calchan@gentoo.org>2019-05-23 21:56:41 -0600
commitbc4bc9cdeb223250a0f74aff63a37d7d45e01aa3 (patch)
tree9bb55fcbdca63f279d0cbda657028db6c488b081 /x11-misc/light-locker/files
parenteclass: add support to toolchain.eclass for musl (diff)
downloadgentoo-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.patch257
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
+