public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Pacho Ramos" <pacho@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-base/gnome-settings-daemon/, gnome-base/gnome-settings-daemon/files/
Date: Wed,  7 Aug 2024 10:50:12 +0000 (UTC)	[thread overview]
Message-ID: <1723027720.d10ec547b9c45bf708142de86ff9c9c357f5e50d.pacho@gentoo> (raw)

commit:     d10ec547b9c45bf708142de86ff9c9c357f5e50d
Author:     Guillermo Joandet <gjoandet <AT> gmail <DOT> com>
AuthorDate: Sun Aug  4 22:37:03 2024 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Wed Aug  7 10:48:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d10ec547

gnome-base/gnome-settings-daemon: Fix elogind support

Closes: https://bugs.gentoo.org/937244
Signed-off-by: Guillermo Joandet <gjoandet <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37960
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 ...-settings-daemon-46.0-add-elogind-support.patch |  98 ++++++++++++++
 .../gnome-settings-daemon-46.0-r1.ebuild           | 143 +++++++++++++++++++++
 2 files changed, 241 insertions(+)

diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-46.0-add-elogind-support.patch b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-46.0-add-elogind-support.patch
new file mode 100644
index 000000000000..6f6270234b9e
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-46.0-add-elogind-support.patch
@@ -0,0 +1,98 @@
+From 46f998d7308cb18832666bc34ee54b1d9c27739f Mon Sep 17 00:00:00 2001
+From: Nathaniel Russell <naterussell83@gmail.com>
+Date: Sat, 13 Jan 2024 00:29:49 +0000
+Subject: [PATCH] build: Add elogind support
+
+---
+ meson.build                           | 17 ++++++++++++-----
+ meson_options.txt                     |  2 +-
+ plugins/sharing/gsd-sharing-manager.c |  5 ++++-
+ plugins/sharing/meson.build           |  7 ++++++-
+ 4 files changed, 23 insertions(+), 8 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index deecd3f1e..e07fa841b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -111,13 +111,20 @@ x11_dep = dependency('x11')
+ xfixes_dep = dependency('xfixes', version: '>= 6.0')
+ 
+ enable_systemd = get_option('systemd')
+-systemd_dep = dependency('systemd', version: '>= 243', required: enable_systemd)
+-if systemd_dep.found()
+-  systemd_userunitdir = systemd_dep.get_variable(pkgconfig: 'systemduserunitdir',
+-                                                 pkgconfig_define: ['prefix', gsd_prefix])
++enable_elogind = get_option('elogind')
++
++if enable_systemd and enable_elogind
++  error('Only systemd or elogind support should be activated')
++elif enable_systemd
++  systemd_dep = dependency('systemd', version: '>= 243', required: true)
++  libsystemd_dep = dependency('libsystemd', version: '>= 243', required: true)
++  systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++                                                           define_variable: ['prefix', gsd_prefix])
++elif enable_elogind
++  elogind_dep = dependency('libelogind', version: '>= 209', required: true)
+ endif
+-libsystemd_dep = dependency('libsystemd', version: '>= 243', required: enable_systemd)
+ 
++config_h.set10('HAVE_SYSTEMD_LIB', enable_systemd or enable_elogind)
+ 
+ m_dep = cc.find_library('m')
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index 1d913b4d2..5e2cccab6 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,6 +1,6 @@
+ option('udev_dir', type: 'string', value: '', description: 'Absolute path of the udev base directory')
+ option('systemd', type: 'boolean', value: true, description: 'Enable systemd integration')
+-
++option('elogind', type: 'boolean', value: false, description: 'Use elogind')
+ option('alsa', type: 'boolean', value: true, description: 'build with ALSA support (not optional on Linux platforms)')
+ option('gudev', type: 'boolean', value: true, description: 'build with gudev device support (not optional on Linux platforms)')
+ option('cups', type: 'boolean', value: true, description: 'build with CUPS support')
+diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c
+index 2ab2cb054..c669e7bde 100644
+--- a/plugins/sharing/gsd-sharing-manager.c
++++ b/plugins/sharing/gsd-sharing-manager.c
+@@ -20,12 +20,15 @@
+ #include "config.h"
+ 
+ #include <locale.h>
+-#include <systemd/sd-login.h>
+ #include <glib.h>
+ #include <gio/gio.h>
+ #include <gio/gdesktopappinfo.h>
+ #include <glib/gstdio.h>
+ 
++#if HAVE_SYSTEMD_LIB
++#include <systemd/sd-login.h>
++#endif
++
+ #if HAVE_NETWORK_MANAGER
+ #include <NetworkManager.h>
+ #endif /* HAVE_NETWORK_MANAGER */
+diff --git a/plugins/sharing/meson.build b/plugins/sharing/meson.build
+index bda21608a..c65c4f9a5 100644
+--- a/plugins/sharing/meson.build
++++ b/plugins/sharing/meson.build
+@@ -6,9 +6,14 @@ sources = files(
+ deps = plugins_deps + [
+   gio_unix_dep,
+   libnotify_dep,
+-  libsystemd_dep
+ ]
+ 
++if enable_systemd
++  deps += libsystemd_dep
++elif enable_elogind
++  deps += elogind_dep
++endif
++
+ if enable_network_manager
+   deps += libnm_dep
+ endif
+-- 
+GitLab
+

diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-46.0-r1.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-46.0-r1.ebuild
new file mode 100644
index 000000000000..91938d6297ed
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-46.0-r1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit gnome.org gnome2-utils python-any-r1 meson udev virtualx xdg
+
+DESCRIPTION="Gnome Settings Daemon"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="+colord +cups debug elogind input_devices_wacom modemmanager networkmanager smartcard systemd test wayland"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="^^ ( elogind systemd )"
+
+COMMON_DEPEND="
+	>=sci-geosciences/geocode-glib-3.10:2
+	>=dev-libs/glib-2.70:2
+	>=gnome-base/gnome-desktop-3.37.1:3=
+	>=gnome-base/gsettings-desktop-schemas-46.0
+	>=x11-libs/gtk+-3.15.3:3[X,wayland?]
+	>=dev-libs/libgweather-4.2.0:4=
+	colord? ( >=x11-misc/colord-1.4.5:= )
+	media-libs/libcanberra[gtk3]
+	>=app-misc/geoclue-2.3.1:2.0
+	>=x11-libs/libnotify-0.7.3
+	>=media-libs/libpulse-16.1[glib]
+	>=sys-auth/polkit-0.114
+	>=sys-power/upower-0.99.12:=
+	x11-libs/libX11
+	>=x11-libs/libXfixes-6.0.0
+	dev-libs/libgudev:=
+	wayland? ( dev-libs/wayland )
+	input_devices_wacom? (
+		>=dev-libs/libwacom-0.7:=
+		>=x11-libs/pango-1.20.0
+		x11-libs/gdk-pixbuf:2
+	)
+	smartcard? ( app-crypt/gcr:4= )
+	cups? ( >=net-print/cups-1.4[dbus] )
+	modemmanager? (
+		>=app-crypt/gcr-3.90.0:4=
+		>=net-misc/modemmanager-1.0:=
+	)
+	networkmanager? ( >=net-misc/networkmanager-1.0 )
+	media-libs/alsa-lib
+	x11-libs/libXi
+	x11-libs/libXext
+	media-libs/fontconfig
+	elogind? ( >=sys-auth/elogind-209 )
+	systemd? ( >=sys-apps/systemd-243 )
+"
+DEPEND="${COMMON_DEPEND}
+	x11-base/xorg-proto
+"
+# logind needed for power and session management, bug #464944
+RDEPEND="${COMMON_DEPEND}
+	gnome-base/dconf
+"
+# rfkill requires linux/rfkill.h, thus linux-headers dep, not os-headers.
+# If this package wants to work on other kernels, we need to make rfkill conditional instead
+BDEPEND="
+	sys-kernel/linux-headers
+	dev-util/glib-utils
+	dev-util/gdbus-codegen
+	${PYTHON_DEPS}
+	test? (
+		dev-util/umockdev
+		$(python_gen_any_dep '
+			dev-python/pygobject:3[${PYTHON_USEDEP}]
+			dev-python/python-dbusmock[${PYTHON_USEDEP}]
+		')
+		gnome-base/gnome-session
+	)
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}"/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch
+	"${FILESDIR}"/${PN}-3.38.1-build-Allow-NM-optional-on-Linux.patch
+	# https://bugs.gentoo.org/937244 , is merged so it should not be needed since 46.1
+	"${FILESDIR}"/${P}-add-elogind-support.patch
+)
+
+python_check_deps() {
+	if use test; then
+		python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" &&
+		python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+	fi
+}
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	local emesonargs=(
+		-Dudev_dir="$(get_udevdir)"
+		$(meson_use systemd)
+		$(meson_use elogind)
+		-Dalsa=true
+		-Dgudev=true
+		-Dgcr3=false
+		$(meson_use colord)
+		$(meson_use cups)
+		$(meson_use networkmanager network_manager)
+		-Drfkill=true
+		$(meson_use smartcard)
+		$(meson_use input_devices_wacom wacom)
+		$(meson_use wayland)
+		$(meson_use modemmanager wwan)
+	)
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+	# Don't auto-suspend by default on AC power
+	insinto /usr/share/glib-2.0/schemas
+	doins "${FILESDIR}"/org.gnome.settings-daemon.plugins.power.gschema.override
+}
+
+src_test() {
+	virtx meson_src_test
+}
+
+pkg_postinst() {
+	udev_reload
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	udev_reload
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


             reply	other threads:[~2024-08-07 10:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-07 10:50 Pacho Ramos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-01-18 22:52 [gentoo-commits] repo/gentoo:master commit in: gnome-base/gnome-settings-daemon/, gnome-base/gnome-settings-daemon/files/ Sam James
2020-11-11  4:09 Matt Turner
2019-05-18 20:46 Mart Raudsepp
2019-03-26 14:42 Mart Raudsepp
2019-03-03 18:59 Mart Raudsepp
2018-12-25 15:51 Mart Raudsepp
2017-08-15 17:33 Gilles Dartiguelongue
2017-05-29  7:08 Mart Raudsepp
2017-03-21  0:23 Mart Raudsepp
2016-11-03  8:19 Gilles Dartiguelongue
2015-11-14 13:48 Pacho Ramos

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=1723027720.d10ec547b9c45bf708142de86ff9c9c357f5e50d.pacho@gentoo \
    --to=pacho@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