changeset 471:31b4a03cced1

mate/mate-session-manager: initial import, closes #1464
author David Demelier <markand@malikania.fr>
date Sat, 06 Apr 2019 13:24:26 +0200
parents bf45d0fd8127
children 001517a322fa
files mate/mate-session-manager/mate-session-manager-post.sh mate/mate-session-manager/mate-session-manager.sh mate/mate-session-manager/systemd-dependency.patch
diffstat 3 files changed, 162 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mate/mate-session-manager/mate-session-manager-post.sh	Sat Apr 06 13:24:26 2019 +0200
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+if [ "$1" = "install" ]; then
+	chroot $DESTDIR /usr/bin/gtk-update-icon-cache -fqt /usr/share/icons/hicolor
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mate/mate-session-manager/mate-session-manager.sh	Sat Apr 06 13:24:26 2019 +0200
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=mate-session-manager
+PKGVERSION=1.22.0
+PKGREVISION=1
+PKGLICENSE="GPLv2"
+PKGSUMMARY="MATE session manager"
+PKGDOWNLOAD="https://pub.mate-desktop.org/releases/1.22/$PKGNAME-$PKGVERSION.tar.xz"
+PKGDEPENDS="graphics/gtk
+            lib/dbus-glib
+            lib/glib
+            perl/perl:build
+            x11/libice
+            x11/libsm
+            x11/libx11
+            x11/libxau
+            x11/libxext
+            x11/libxrender
+            x11/libxtst
+            x11/xtrans"
+PKGOPTIONS="IPV6"
+
+: ${CHOST:=$(uname -m)-linux-musl}
+: ${CBUILD:=$(uname -m)-linux-musl}
+: ${CC:=gcc}
+: ${CFLAGS:=-O2}
+: ${LDFLAGS:=}
+: ${LIBS:=}
+: ${IPV6:=yes}
+
+if [ "$IPV6" = "yes" ]; then
+	with_ipv6="--enable-ipv6"
+else
+	with_ipv6="--disable-ipv6"
+fi
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvaf $PKGNAME-$PKGVERSION.tar.xz
+	pushd $PKGNAME-$PKGVERSION
+
+	# https://git.alpinelinux.org/aports/plain/community/mate-session-manager/systemd-dependency.patch
+	patch -p1 < ../systemd-dependency.patch
+	CC="$CC" \
+	CFLAGS="$CFLAGS" \
+	LDFLAGS="$LDFLAGS" \
+	LIBS="$LIBS" \
+	./configure \
+		--build=$CBUILD \
+		--host=$CHOST \
+		--prefix=/usr \
+		--without-systemd \
+		$with_ipv6
+	make
+	make install DESTDIR=$DESTDIR
+
+	popd
+	rm -rf $PKGNAME-$PKGVERSION
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mate/mate-session-manager/systemd-dependency.patch	Sat Apr 06 13:24:26 2019 +0200
@@ -0,0 +1,67 @@
+From https://github.com/mate-desktop/mate-session-manager/commit/254a091b31517a25bc037b31daff27fbb74ac90d
+
+From 254a091b31517a25bc037b31daff27fbb74ac90d Mon Sep 17 00:00:00 2001
+From: Victor Kareh <vkareh@redhat.com>
+Date: Wed, 6 Mar 2019 09:20:36 -0500
+Subject: [PATCH] Guard against missing systemd
+
+---
+ mate-session/gsm-systemd.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c
+index da3f23b..d03cafd 100644
+--- a/mate-session/gsm-systemd.c
++++ b/mate-session/gsm-systemd.c
+@@ -429,16 +429,31 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+         gboolean is_last_session;
+         int ret, i;
+ 
++#ifdef HAVE_SYSTEMD
+         ret = sd_pid_get_session (getpid (), &session);
++#endif
++
++        if (session == NULL) {
++                return FALSE;
++        }
+ 
+         if (ret != 0) {
++                free (session);
+                 return FALSE;
+         }
+ 
++#ifdef HAVE_SYSTEMD
+         ret = sd_uid_get_sessions (getuid (), FALSE, &sessions);
++#endif
++
++        if (sessions == NULL) {
++                free (session);
++                return FALSE;
++        }
+ 
+         if (ret <= 0) {
+                 free (session);
++                free (sessions);
+                 return FALSE;
+         }
+ 
+@@ -450,7 +465,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+                 if (g_strcmp0 (sessions[i], session) == 0)
+                         continue;
+ 
++#ifdef HAVE_SYSTEMD
+                 ret = sd_session_get_state (sessions[i], &state);
++#endif
+ 
+                 if (ret != 0)
+                         continue;
+@@ -461,7 +478,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+                 }
+                 free (state);
+ 
++#ifdef HAVE_SYSTEMD
+                 ret = sd_session_get_type (sessions[i], &type);
++#endif
+ 
+                 if (ret != 0)
+                         continue;