public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mart Raudsepp" <leio@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-base/gnome-session/, gnome-base/gnome-session/files/
Date: Tue, 19 Mar 2019 09:54:27 +0000 (UTC)	[thread overview]
Message-ID: <1552989230.1884b78144b57878b7e7497e6f7c62d5b4562b6a.leio@gentoo> (raw)

commit:     1884b78144b57878b7e7497e6f7c62d5b4562b6a
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 19 09:53:29 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Tue Mar 19 09:53:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1884b781

gnome-base/gnome-session: add elogind support

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 .../files/3.30.1-elogind-support.patch             | 67 ++++++++++++++++++++++
 ....30.1.ebuild => gnome-session-3.30.1-r1.ebuild} | 15 ++++-
 gnome-base/gnome-session/metadata.xml              |  1 +
 3 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/gnome-base/gnome-session/files/3.30.1-elogind-support.patch b/gnome-base/gnome-session/files/3.30.1-elogind-support.patch
new file mode 100644
index 00000000000..4f1c5dab9dd
--- /dev/null
+++ b/gnome-base/gnome-session/files/3.30.1-elogind-support.patch
@@ -0,0 +1,67 @@
+From 92072c73ab74ebe0654ac5bd4f9fd2182181ee9d Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Tue, 19 Mar 2019 11:00:21 +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 afc97457..7c32e3b9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -121,8 +121,10 @@ session_tracking = 'null backend'
+ 
+ enable_systemd = get_option('systemd')
+ 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
+@@ -145,6 +147,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
+@@ -154,14 +160,14 @@ 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'
+     endif
+   endif
+ endif
+-config_h.set('HAVE_SYSTEMD', enable_systemd)
++config_h.set('HAVE_SYSTEMD', enable_systemd or enable_elogind)
+ 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 05174fec..cd85eae8 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_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
+-- 
+2.17.0
+

diff --git a/gnome-base/gnome-session/gnome-session-3.30.1.ebuild b/gnome-base/gnome-session/gnome-session-3.30.1-r1.ebuild
similarity index 87%
rename from gnome-base/gnome-session/gnome-session-3.30.1.ebuild
rename to gnome-base/gnome-session/gnome-session-3.30.1-r1.ebuild
index 8674fec66da..f62cbf2858f 100644
--- a/gnome-base/gnome-session/gnome-session-3.30.1.ebuild
+++ b/gnome-base/gnome-session/gnome-session-3.30.1-r1.ebuild
@@ -10,7 +10,10 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-session"
 LICENSE="GPL-2+"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="consolekit doc systemd"
+IUSE="consolekit doc elogind systemd"
+# There is a null backend available, thus ?? not ^^
+# consolekit can be enabled alone, or together with a logind provider; in latter case CK is used as fallback
+REQUIRED_USE="?? ( elogind systemd )"
 
 COMMON_DEPEND="
 	>=dev-libs/glib-2.46.0:2
@@ -25,6 +28,7 @@ COMMON_DEPEND="
 	x11-libs/libXcomposite
 
 	systemd? ( >=sys-apps/systemd-183:0= )
+	elogind? ( >=sys-auth/elogind-239.4 )
 	consolekit? ( >=dev-libs/dbus-glib-0.76 )
 "
 
@@ -57,6 +61,10 @@ DEPEND="${COMMON_DEPEND}
 		app-text/docbook-xml-dtd:4.1.2 )
 "
 
+PATCHES=(
+	"${FILESDIR}"/${PV}-elogind-support.patch
+)
+
 src_prepare() {
 	xdg_src_prepare
 	# Install USE=doc in $PF if enabled
@@ -66,6 +74,7 @@ src_prepare() {
 src_configure() {
 	local emesonargs=(
 		-Ddeprecation_flags=false
+		$(meson_use elogind)
 		-Dsession_selector=true # gnome-custom-session
 		$(meson_use systemd)
 		$(meson_use systemd systemd_journal)
@@ -108,8 +117,8 @@ pkg_postinst() {
 		ewarn "make sure that the commands in the xinitrc.d scripts are run."
 	fi
 
-	if ! use systemd && ! use consolekit; then
-		ewarn "You are building without systemd and/or consolekit support."
+	if ! use systemd && ! use elogind && ! use consolekit; then
+		ewarn "You are building without systemd, elogind and/or consolekit support."
 		ewarn "gnome-session won't be able to correctly track and manage your session."
 	fi
 }

diff --git a/gnome-base/gnome-session/metadata.xml b/gnome-base/gnome-session/metadata.xml
index 506e4f9e5c5..0a5d0e69d17 100644
--- a/gnome-base/gnome-session/metadata.xml
+++ b/gnome-base/gnome-session/metadata.xml
@@ -7,5 +7,6 @@
 </maintainer>
 <use>
 	<flag name="consolekit">Support <pkg>sys-auth/consolekit</pkg> for session tracking</flag>
+	<flag name="elogind">Support <pkg>sys-auth/elogind</pkg> for session tracking</flag>
 </use>
 </pkgmetadata>


             reply	other threads:[~2019-03-19  9:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-19  9:54 Mart Raudsepp [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-01  8:34 [gentoo-commits] repo/gentoo:master commit in: gnome-base/gnome-session/, gnome-base/gnome-session/files/ Pacho Ramos
2023-12-26 21:43 Mart Raudsepp
2021-03-28  8:53 Pacho Ramos
2019-05-18 20:46 Mart Raudsepp
2019-03-02  9:25 Mart Raudsepp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1552989230.1884b78144b57878b7e7497e6f7c62d5b4562b6a.leio@gentoo \
    --to=leio@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox