summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnome-extra/cinnamon-session/Manifest1
-rw-r--r--gnome-extra/cinnamon-session/cinnamon-session-6.0.4.ebuild94
-rw-r--r--gnome-extra/cinnamon-session/files/0001-cs-presence.c-Fix-CsmPresence-idle-handling.patch303
-rw-r--r--gnome-extra/cinnamon-session/files/cinnamon-session-6.0.0-fix-optional-systemd.patch21
4 files changed, 0 insertions, 419 deletions
diff --git a/gnome-extra/cinnamon-session/Manifest b/gnome-extra/cinnamon-session/Manifest
index 9eef2a91b9e4..0e36ea5d0ff1 100644
--- a/gnome-extra/cinnamon-session/Manifest
+++ b/gnome-extra/cinnamon-session/Manifest
@@ -1,2 +1 @@
-DIST cinnamon-session-6.0.4.tar.gz 165520 BLAKE2B fa608de433a4d47db102b1f11c716da8afeabd5772b7e957449297629e39bc215124acd2f0f94afe91763590ab92b06a3bce8dd1a6bad3997b9496b4114a36fa SHA512 cd8ac8579f9311f5234dad17fb32d40a1c58da2292734e58c4832d94a8b0687e4909f5886c2db0dab1e0c396f12c3495a8d966e76373ac26f3bd9795efcd1f1f
DIST cinnamon-session-6.2.1.tar.gz 166106 BLAKE2B ef7bb345f6c32f5402d9ff5dca152455a861e41e4fc5a77d1184f75ef17b70ab78bd3cfc9f63265703153d86217b5cd0a679f50add722110c47f7246050ca68f SHA512 bc0e69b938920149c26e2470aab9c2290b3b7ecea8a6e8249683402eb07af0c3a88c42cb86723d422dd14442246e841469010a05e808e675ff0e7ff1cc834224
diff --git a/gnome-extra/cinnamon-session/cinnamon-session-6.0.4.ebuild b/gnome-extra/cinnamon-session/cinnamon-session-6.0.4.ebuild
deleted file mode 100644
index a970f6adc9ce..000000000000
--- a/gnome-extra/cinnamon-session/cinnamon-session-6.0.4.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit meson gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="Cinnamon session manager"
-HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/cinnamon-session"
-SRC_URI="https://github.com/linuxmint/cinnamon-session/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+ LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
-IUSE="systemd"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.37.3:2
- >=gnome-extra/cinnamon-desktop-6.0:0=
- media-libs/libcanberra[pulseaudio]
- virtual/opengl
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3:3[introspection]
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXau
- x11-libs/libXcomposite
- x11-libs/libXext
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/pango[X]
- >=x11-libs/xapp-2.8.1[introspection]
-
- systemd? (
- >=sys-apps/systemd-183
- )
- !systemd? (
- sys-auth/elogind[policykit]
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- x11-libs/xtrans
-"
-RDEPEND="
- ${COMMON_DEPEND}
- ${PYTHON_DEPS}
- dev-libs/gobject-introspection
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/setproctitle[${PYTHON_USEDEP}]
- ')
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/gdbus-codegen
- virtual/pkgconfig
-"
-
-PATCHES=(
- # Fix bad systemd include
- # https://github.com/linuxmint/cinnamon-session/pull/164
- "${FILESDIR}/${PN}-6.0.0-fix-optional-systemd.patch"
- # fix crash on idle
- "${FILESDIR}"/0001-cs-presence.c-Fix-CsmPresence-idle-handling.patch
-)
-
-src_prepare() {
- default
- python_fix_shebang data cinnamon-session-quit
-}
-
-src_configure() {
- local emesonargs=(
- -Dipv6=true
- -Dxtrans=true
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
diff --git a/gnome-extra/cinnamon-session/files/0001-cs-presence.c-Fix-CsmPresence-idle-handling.patch b/gnome-extra/cinnamon-session/files/0001-cs-presence.c-Fix-CsmPresence-idle-handling.patch
deleted file mode 100644
index 01a194f7cb7b..000000000000
--- a/gnome-extra/cinnamon-session/files/0001-cs-presence.c-Fix-CsmPresence-idle-handling.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-From 55e9291629cc028793e22b738214ecababe65c4b Mon Sep 17 00:00:00 2001
-From: Michael Webster <miketwebster@gmail.com>
-Date: Wed, 24 Jan 2024 09:14:01 -0500
-Subject: [PATCH] cs-presence.c: Fix CsmPresence idle handling.
-
-Idle detection was broken since 5.4, as gnome-idle-monitor (in
-libcinnamon-desktop) was looking for the wrong muffin interface
-names.
-
-This file was also adapted incompletely to the new idle-monitor
-API.
-
-requires:
-linuxmint/cinnamon-desktop@d0f8c74a7864786cf04
----
- cinnamon-session/csm-presence.c | 130 +++++++++++++++++++-------------
- cinnamon-session/csm-presence.h | 6 --
- 2 files changed, 77 insertions(+), 59 deletions(-)
-
-diff --git a/cinnamon-session/csm-presence.c b/cinnamon-session/csm-presence.c
-index 1fd3d7c..69da703 100644
---- a/cinnamon-session/csm-presence.c
-+++ b/cinnamon-session/csm-presence.c
-@@ -64,16 +64,12 @@ struct CsmPresencePrivate
-
- enum {
- PROP_0,
-- PROP_STATUS,
-- PROP_STATUS_TEXT,
- PROP_IDLE_ENABLED,
- PROP_IDLE_TIMEOUT,
- };
-
--
- enum {
- STATUS_CHANGED,
-- STATUS_TEXT_CHANGED,
- LAST_SIGNAL
- };
-
-@@ -99,6 +95,10 @@ csm_presence_error_quark (void)
- return quark_volatile;
- }
-
-+static void idle_became_active_cb (GnomeIdleMonitor *idle_monitor,
-+ guint id,
-+ gpointer user_data);
-+
- static gboolean
- csm_presence_set_status_text (CsmPresence *presence,
- const char *status_text,
-@@ -120,6 +120,8 @@ csm_presence_set_status_text (CsmPresence *presence,
-
- if (status_text != NULL) {
- presence->priv->status_text = g_strdup (status_text);
-+ } else {
-+ presence->priv->status_text = g_strdup ("");
- }
-
- csm_exported_presence_set_status_text (presence->priv->skeleton, presence->priv->status_text);
-@@ -128,11 +130,11 @@ csm_presence_set_status_text (CsmPresence *presence,
- return TRUE;
- }
-
--static gboolean
-+static void
- csm_presence_set_status (CsmPresence *presence,
- guint status)
- {
-- g_return_val_if_fail (CSM_IS_PRESENCE (presence), FALSE);
-+ g_return_if_fail (CSM_IS_PRESENCE (presence));
-
- if (status != presence->priv->status) {
- presence->priv->status = status;
-@@ -140,7 +142,6 @@ csm_presence_set_status (CsmPresence *presence,
- csm_exported_presence_emit_status_changed (presence->priv->skeleton, presence->priv->status);
- g_signal_emit (presence, signals[STATUS_CHANGED], 0, presence->priv->status);
- }
-- return TRUE;
- }
-
- static void
-@@ -158,6 +159,11 @@ set_session_idle (CsmPresence *presence,
- /* save current status */
- presence->priv->saved_status = presence->priv->status;
- csm_presence_set_status (presence, CSM_PRESENCE_STATUS_IDLE);
-+
-+ gnome_idle_monitor_add_user_active_watch (presence->priv->idle_monitor,
-+ idle_became_active_cb,
-+ presence,
-+ NULL);
- } else {
- if (presence->priv->status != CSM_PRESENCE_STATUS_IDLE) {
- g_debug ("CsmPresence: already not idle, ignoring");
-@@ -171,27 +177,27 @@ set_session_idle (CsmPresence *presence,
- }
- }
-
--static gboolean
--on_idle_timeout (GnomeIdleMonitor *monitor,
-- guint id,
-- gboolean condition,
-- CsmPresence *presence)
-+static void
-+idle_became_idle_cb (GnomeIdleMonitor *idle_monitor,
-+ guint id,
-+ gpointer user_data)
- {
-- gboolean handled;
--
-- handled = TRUE;
-- set_session_idle (presence, condition);
-+ CsmPresence *presence = user_data;
-+ set_session_idle (presence, TRUE);
-+}
-
-- return handled;
-+static void
-+idle_became_active_cb (GnomeIdleMonitor *idle_monitor,
-+ guint id,
-+ gpointer user_data)
-+{
-+ CsmPresence *presence = user_data;
-+ set_session_idle (presence, FALSE);
- }
-
- static void
- reset_idle_watch (CsmPresence *presence)
- {
-- if (presence->priv->idle_monitor == NULL) {
-- return;
-- }
--
- if (presence->priv->idle_watch_id > 0) {
- g_debug ("CsmPresence: removing idle watch (%i)", presence->priv->idle_watch_id);
- gnome_idle_monitor_remove_watch (presence->priv->idle_monitor,
-@@ -199,12 +205,11 @@ reset_idle_watch (CsmPresence *presence)
- presence->priv->idle_watch_id = 0;
- }
-
-- if (! presence->priv->screensaver_active
-- && presence->priv->idle_enabled
-+ if (presence->priv->idle_enabled
- && presence->priv->idle_timeout > 0) {
- presence->priv->idle_watch_id = gnome_idle_monitor_add_idle_watch (presence->priv->idle_monitor,
- presence->priv->idle_timeout,
-- (GnomeIdleMonitorWatchFunc) on_idle_timeout,
-+ idle_became_idle_cb,
- presence,
- NULL);
- g_debug ("CsmPresence: adding idle watch (%i) for %d secs",
-@@ -229,11 +234,36 @@ on_screensaver_g_signal (GDBusProxy *proxy,
- g_variant_get (parameters,
- "(b)", &is_active);
-
-- g_debug ("screensaver status changed: %d", is_active);
-+ if (presence->priv->screensaver_active != is_active) {
-+ presence->priv->screensaver_active = is_active;
-+ set_session_idle (presence, is_active);
-+ }
-+}
-+
-+static void
-+screensaver_get_active_cb (GDBusProxy *screensaver_proxy,
-+ GAsyncResult *res,
-+ CsmPresence *presence)
-+{
-+ g_autoptr(GVariant) data = NULL;
-+ g_autoptr(GError) error = NULL;
-+ gboolean is_active;
-
-+ data = g_dbus_proxy_call_finish (screensaver_proxy, res, &error);
-+ if (!data) {
-+ if (error) {
-+ g_warning ("Could not retrieve current screensaver active state: %s",
-+ error->message);
-+ } else {
-+ g_warning ("Could not retrieve current screensaver active state!");
-+ }
-+
-+ return;
-+ }
-+
-+ g_variant_get (data, "(b)", &is_active);
- if (presence->priv->screensaver_active != is_active) {
- presence->priv->screensaver_active = is_active;
-- reset_idle_watch (presence);
- set_session_idle (presence, is_active);
- }
- }
-@@ -248,14 +278,25 @@ on_screensaver_name_owner_changed (GDBusProxy *proxy,
-
- presence = CSM_PRESENCE (user_data);
- name_owner = g_dbus_proxy_get_name_owner (proxy);
-+ if (name_owner == NULL) {
-+ g_debug ("Detected that screensaver has left the bus");
-
-- if (name_owner && g_strcmp0 (name_owner, CS_NAME)) {
-- g_warning ("Detected that screensaver has appeared on the bus");
-- } else {
-- g_warning ("Detected that screensaver has left the bus");
-+ presence->priv->screensaver_active = FALSE;
- set_session_idle (presence, FALSE);
-- reset_idle_watch (presence);
-+ } else {
-+ g_debug ("Detected that screensaver has aquired the bus");
-+
-+ g_dbus_proxy_call (presence->priv->screensaver_proxy,
-+ "GetActive",
-+ NULL,
-+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
-+ 1000,
-+ NULL,
-+ (GAsyncReadyCallback) screensaver_get_active_cb,
-+ presence);
- }
-+
-+ g_free (name_owner);
- }
-
- static gboolean
-@@ -352,7 +393,8 @@ csm_presence_constructor (GType type,
- }
-
- presence->priv->screensaver_proxy = g_dbus_proxy_new_sync (presence->priv->connection,
-- G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
-+ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
-+ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
- NULL,
- CS_NAME,
- CS_PATH,
-@@ -424,12 +466,6 @@ csm_presence_set_property (GObject *object,
- self = CSM_PRESENCE (object);
-
- switch (prop_id) {
-- case PROP_STATUS:
-- csm_presence_set_status (self, g_value_get_uint (value));
-- break;
-- case PROP_STATUS_TEXT:
-- csm_presence_set_status_text (self, g_value_get_string (value), NULL);
-- break;
- case PROP_IDLE_ENABLED:
- csm_presence_set_idle_enabled (self, g_value_get_boolean (value));
- break;
-@@ -453,12 +489,6 @@ csm_presence_get_property (GObject *object,
- self = CSM_PRESENCE (object);
-
- switch (prop_id) {
-- case PROP_STATUS:
-- g_value_set_uint (value, self->priv->status);
-- break;
-- case PROP_STATUS_TEXT:
-- g_value_set_string (value, self->priv->status_text ? self->priv->status_text : "");
-- break;
- case PROP_IDLE_ENABLED:
- g_value_set_boolean (value, self->priv->idle_enabled);
- break;
-@@ -482,15 +512,9 @@ csm_presence_finalize (GObject *object)
- presence->priv->idle_watch_id = 0;
- }
-
-- if (presence->priv->status_text != NULL) {
-- g_free (presence->priv->status_text);
-- presence->priv->status_text = NULL;
-- }
--
-- if (presence->priv->idle_monitor != NULL) {
-- g_object_unref (presence->priv->idle_monitor);
-- presence->priv->idle_monitor = NULL;
-- }
-+ g_clear_pointer (&presence->priv->status_text, g_free);
-+ g_clear_object (&presence->priv->idle_monitor);
-+ g_clear_object (&presence->priv->screensaver_proxy);
-
- G_OBJECT_CLASS (csm_presence_parent_class)->finalize (object);
- }
-diff --git a/cinnamon-session/csm-presence.h b/cinnamon-session/csm-presence.h
-index 41de5aa..d2713ab 100644
---- a/cinnamon-session/csm-presence.h
-+++ b/cinnamon-session/csm-presence.h
-@@ -50,9 +50,6 @@ struct _CsmPresenceClass
-
- void (* status_changed) (CsmPresence *presence,
- guint status);
-- void (* status_text_changed) (CsmPresence *presence,
-- const char *status_text);
--
- };
-
- typedef enum {
-@@ -69,9 +66,6 @@ typedef enum
- } CsmPresenceError;
-
- #define CSM_PRESENCE_ERROR csm_presence_error_quark ()
--GType csm_presence_error_get_type (void);
--#define CSM_PRESENCE_TYPE_ERROR (csm_presence_error_get_type ())
--
- GQuark csm_presence_error_quark (void);
-
- GType csm_presence_get_type (void) G_GNUC_CONST;
---
-2.44.2
-
diff --git a/gnome-extra/cinnamon-session/files/cinnamon-session-6.0.0-fix-optional-systemd.patch b/gnome-extra/cinnamon-session/files/cinnamon-session-6.0.0-fix-optional-systemd.patch
deleted file mode 100644
index cee6e14b8fe1..000000000000
--- a/gnome-extra/cinnamon-session/files/cinnamon-session-6.0.0-fix-optional-systemd.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 44ac74ea7e771a35a41235b4e7d2539d4521b626 Mon Sep 17 00:00:00 2001
-From: Sparky Bluefang <sparky@bluefang-logic.com>
-Date: Tue, 2 Jan 2024 23:26:20 -0500
-Subject: [PATCH] Remove orphaned include
-
----
- cinnamon-session/main.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/cinnamon-session/main.c b/cinnamon-session/main.c
-index 49d1e32..802a1ae 100644
---- a/cinnamon-session/main.c
-+++ b/cinnamon-session/main.c
-@@ -40,7 +40,6 @@
- #include "csm-session-fill.h"
- #include "csm-store.h"
- #include "csm-system.h"
--#include <systemd/sd-journal.h>
-
- #define CSM_DBUS_NAME "org.gnome.SessionManager"
-