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
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')
-rw-r--r--x11-misc/light-locker/Manifest1
-rw-r--r--x11-misc/light-locker/files/light-locker-1.9.0-elogind.patch257
-rw-r--r--x11-misc/light-locker/light-locker-1.9.0.ebuild72
3 files changed, 330 insertions, 0 deletions
diff --git a/x11-misc/light-locker/Manifest b/x11-misc/light-locker/Manifest
index e9775ab77494..9350ca782995 100644
--- a/x11-misc/light-locker/Manifest
+++ b/x11-misc/light-locker/Manifest
@@ -1 +1,2 @@
DIST light-locker-1.8.0.tar.bz2 449898 BLAKE2B d5ff454958138ec535b94492a9646dd5a4fc8196095ef3ae933d661e44eb62960ca49fe070fd88a794e2a9c5a6586317845b0d55d8cfd65107e49e31206a727a SHA512 bbad73c0b82a50ddca240d5e1bd325a99d0c60364d136fe6d9d52f196319953373c9d03cf38ebd75d4498d080e96702e09fc97c35b4b69cbe963f065719549d5
+DIST v1.9.0.tar.gz 124753 BLAKE2B 510447a5fa107988a06e92cc99d7750bc0df526356630694c5dc718460bd437879bbdcb69e0778bdb58d399aafdbea762bfda53d2e2205a1c4bade27dbff78c5 SHA512 c6f84b38affa20cf0bd7d2341f5a8eff36891ed55401955715a68a011c84c7f2300db670abb95a320eb40aee90885fe044ddf0a721e418ee4724af3e4f6a61a4
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
+
diff --git a/x11-misc/light-locker/light-locker-1.9.0.ebuild b/x11-misc/light-locker/light-locker-1.9.0.ebuild
new file mode 100644
index 000000000000..d46f9cdaf373
--- /dev/null
+++ b/x11-misc/light-locker/light-locker-1.9.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools gnome2-utils
+
+DESCRIPTION="A simple locker using lightdm"
+HOMEPAGE="https://github.com/the-cavalry/light-locker"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dpms elogind +screensaver systemd +upower"
+
+BDEPEND="dev-lang/perl
+ dev-perl/XML-Parser
+ dev-util/intltool
+ sys-devel/gettext"
+DEPEND="dev-libs/dbus-glib
+ dev-libs/glib
+ sys-apps/dbus
+ x11-libs/cairo
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
+ x11-libs/libXxf86vm
+ dpms? ( x11-libs/libXext )
+ elogind? ( sys-auth/elogind )
+ screensaver? ( x11-libs/libXScrnSaver )
+ systemd? ( sys-apps/systemd )
+ upower? ( sys-power/upower )"
+RDEPEND="${DEPEND}
+ x11-misc/lightdm"
+
+REQUIRED_USE="?? ( elogind systemd )"
+
+DOCS=( AUTHORS HACKING NEWS README )
+
+PATCHES=(
+ "${FILESDIR}/${P}-elogind.patch"
+)
+
+src_prepare() {
+ default
+ # Fixed upstream right after the release, remove this next time you bump
+ ln -sf README.md README || die
+ # remove xdt-autogen specific macro (just like upstream do) as we need to autoreconf
+ sed -e "/XDT_I18N/d" configure.ac.in > configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with dpms dpms-ext)
+ $(use_with screensaver x)
+ $(use_with screensaver mit-ext)
+ $(use_with systemd)
+ $(use_with elogind)
+ $(use_with upower)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+}