summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2011-04-04 14:52:08 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2011-04-04 14:52:08 +0000
commit3ec13cb9a8cc1fab7c3ee9a1f5485af83dc1ea62 (patch)
tree0c83d85bda762e53ee2990892d58c1f5e306d282 /gnome-base
parentBump to the final release, d'oh. (diff)
downloadhistorical-3ec13cb9a8cc1fab7c3ee9a1f5485af83dc1ea62.tar.gz
historical-3ec13cb9a8cc1fab7c3ee9a1f5485af83dc1ea62.tar.bz2
historical-3ec13cb9a8cc1fab7c3ee9a1f5485af83dc1ea62.zip
Add support for GNOME 3 conditions, thanks to Nirbheek, bug #361025.
Package-Manager: portage-2.2.0_alpha29/cvs/Linux x86_64 RepoMan-Options: --force
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/gnome-session/ChangeLog9
-rw-r--r--gnome-base/gnome-session/Manifest10
-rw-r--r--gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch107
-rw-r--r--gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild83
4 files changed, 204 insertions, 5 deletions
diff --git a/gnome-base/gnome-session/ChangeLog b/gnome-base/gnome-session/ChangeLog
index 5bf816b668b5..77ce00b061da 100644
--- a/gnome-base/gnome-session/ChangeLog
+++ b/gnome-base/gnome-session/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for gnome-base/gnome-session
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/ChangeLog,v 1.286 2011/03/27 12:37:51 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/ChangeLog,v 1.287 2011/04/04 14:52:08 eva Exp $
+
+*gnome-session-2.32.1-r2 (04 Apr 2011)
+
+ 04 Apr 2011; Gilles Dartiguelongue <eva@gentoo.org>
+ +gnome-session-2.32.1-r2.ebuild,
+ +files/gnome-session-2.32.1-gnome3-conditions.patch:
+ Add support for GNOME 3 conditions, thanks to Nirbheek, bug #361025.
*gnome-session-2.32.1-r1 (27 Mar 2011)
diff --git a/gnome-base/gnome-session/Manifest b/gnome-base/gnome-session/Manifest
index 7c28f5d96980..5dad569d26e1 100644
--- a/gnome-base/gnome-session/Manifest
+++ b/gnome-base/gnome-session/Manifest
@@ -5,15 +5,17 @@ AUX 15-xdg-data-gnome 227 RMD160 b42bf6342d18a00fe38b49264ef8a43c8ce87af9 SHA1 a
AUX Gnome 2404 RMD160 48ab5c98ac1cda3593c99f6996f72a61b63b87c7 SHA1 eb7422e38600214911075bffae52fbb348a1ba44 SHA256 259c067c3293fccb587daba38fae888119250330a624687674e140e31c75d297
AUX defaults.list 13263 RMD160 81b3363fda693c78fef1c5c1bb305708def50869 SHA1 f611c41ed4ca535981603bd4532c49504f41dd18 SHA256 fde125337da70f9af2f15c17a0111248a2a59d14ae23e0e1900cb8885946ff97
AUX gnome-session-2.32.0-session-saving-button.patch 21424 RMD160 11c4db9951859c2749473a7969693469c9d9e277 SHA1 f7c2f8d98c6deac63ca9448977bdcfa29ae80d52 SHA256 7a2dd8771180bc460fdc034ad95d61ed83b14952b16b17c3cb9a10aade8a1a97
+AUX gnome-session-2.32.1-gnome3-conditions.patch 4552 RMD160 429b39d3338fb26eb96c94d4087579c5620393b3 SHA1 d96cd45515d484c6d82fe135b5b678349850490b SHA256 88482711f19399b766ed562c43511d8a6db1e1df2790945cd1819d7f616af42e
DIST gnome-session-2.32.1.tar.bz2 774842 RMD160 c579bf197b38c8df7df14c751c056be86695a287 SHA1 7d4c7652247606a972a2f1e50a6a6339809a5b9e SHA256 22d93ce433fcf9c7ce6b5f36dd81f64e692ea0e41faaa0f61159ddac28c3686a
EBUILD gnome-session-2.32.1-r1.ebuild 2077 RMD160 1cc444486b575182b8e9185401f2b73c28d3504c SHA1 c96fc1dc43aa9a2a6bb1e4a685b4370f45b0bd70 SHA256 852bd0ae87d6e6630e79e0d2243c7ea612fc5802a2d5a9b2106fe048c96c10e1
+EBUILD gnome-session-2.32.1-r2.ebuild 2185 RMD160 b91a1f60467ba112d005cb154c9e7c07b08719b6 SHA1 7f0d04cbb9caec060fc677f850278ea5299067fa SHA256 2b358a254fd445227bd00c120bdffcca7b18eb3fde167e209f25fed2b6dc6f45
EBUILD gnome-session-2.32.1.ebuild 1818 RMD160 801e7c83e5964ca0fd1f377a2df4f65964c726e4 SHA1 dc5dfce1084b891237b290608d5f81551b139cbf SHA256 65381314484779e4b4391a72f896ab49a35396048f641bab49ea8b99f5aef459
-MISC ChangeLog 41191 RMD160 8824318785fa3d21619d60a11044ea5406c0fa99 SHA1 a054cb5cf70fe6b1b4ac266697588af32ced0656 SHA256 cdaa30dab0a4bdee520cb65ac539d730a5c820ee197c9a4a20c3b4181540a394
+MISC ChangeLog 41445 RMD160 ddc55b7658c462600a4ec8c86cdd050c62e80252 SHA1 c1f4033b178b17a92f6dd882f06762f72fa5384e SHA256 b0b4ef960faaa074f567df0805d3cc1c783b20cde9cf8f38f2d13d68a8577bc6
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk2PL6UACgkQCaWpQKGI+9TqqACcDIrncxg5BOvW3hgQScuOQMcF
-N/8Anjs+qzww1Xj3ixteOmG3XjiGtIey
-=wXWC
+iEYEARECAAYFAk2Z2ycACgkQ1fmVwcYIWAb9dQCfRbR2tl+4QpByH5JVZgcDY8rD
+gFIAnjzvHiXfLm6qBqIMoQT3mMQ9vkaf
+=HRxq
-----END PGP SIGNATURE-----
diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch
new file mode 100644
index 000000000000..a4c220732503
--- /dev/null
+++ b/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch
@@ -0,0 +1,107 @@
+From d27c9dfb07e0d69ff37d029e5647bd68e7db7e95 Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek@gentoo.org>
+Date: Mon, 4 Apr 2011 18:07:09 +0530
+Subject: [PATCH] Don't reject GNOME 3 session autostart conditions
+
+gnome-session-3.0 introduced a new AutostartCondition=GNOME3 directive.
+See commit 58ebdfac for details on that.
+
+This commit adds detection for that directive instead of disabling .desktop
+files with that. Now, apps are autostarted if they contain:
+
+ AutostartCondition=GNOME3 is-session gnome-fallback
+or
+ AutostartCondition=GNOME3 unless-session [something other than gnome-fallback]
+
+And are disabled for all other cases.
+---
+ gnome-session/gsm-autostart-app.c | 45 +++++++++++++++++++++++++++++++-----
+ 1 files changed, 38 insertions(+), 7 deletions(-)
+
+diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
+index 529a346..abc918f 100644
+--- a/gnome-session/gsm-autostart-app.c
++++ b/gnome-session/gsm-autostart-app.c
+@@ -40,11 +40,14 @@ enum {
+ };
+
+ enum {
+- GSM_CONDITION_NONE = 0,
+- GSM_CONDITION_IF_EXISTS = 1,
+- GSM_CONDITION_UNLESS_EXISTS = 2,
+- GSM_CONDITION_GNOME = 3,
+- GSM_CONDITION_UNKNOWN = 4
++ GSM_CONDITION_NONE = 0,
++ GSM_CONDITION_IF_EXISTS = 1,
++ GSM_CONDITION_UNLESS_EXISTS = 2,
++ GSM_CONDITION_GNOME = 3,
++ GSM_CONDITION_GSETTINGS = 4,
++ GSM_CONDITION_IF_SESSION = 5,
++ GSM_CONDITION_UNLESS_SESSION = 6,
++ GSM_CONDITION_UNKNOWN = 7
+ };
+
+ #define GSM_SESSION_CLIENT_DBUS_INTERFACE "org.gnome.SessionClient"
+@@ -153,15 +156,31 @@ parse_condition_string (const char *condition_string,
+ key++;
+ }
+
++ kind = GSM_CONDITION_UNKNOWN;
++
+ if (!g_ascii_strncasecmp (condition_string, "if-exists", len) && key) {
+ kind = GSM_CONDITION_IF_EXISTS;
+ } else if (!g_ascii_strncasecmp (condition_string, "unless-exists", len) && key) {
+ kind = GSM_CONDITION_UNLESS_EXISTS;
+ } else if (!g_ascii_strncasecmp (condition_string, "GNOME", len)) {
+ kind = GSM_CONDITION_GNOME;
+- } else {
++ } else if (!g_ascii_strncasecmp (condition_string, "GNOME3", len)) {
++ condition_string = key;
++ space = condition_string + strcspn (condition_string, " ");
++ len = space - condition_string;
++ key = space;
++ while (isspace ((unsigned char)*key)) {
++ key++;
++ }
++ if (!g_ascii_strncasecmp (condition_string, "if-session", len) && key) {
++ kind = GSM_CONDITION_IF_SESSION;
++ } else if (!g_ascii_strncasecmp (condition_string, "unless-session", len) && key) {
++ kind = GSM_CONDITION_UNLESS_SESSION;
++ }
++ }
++
++ if (kind == GSM_CONDITION_UNKNOWN) {
+ key = NULL;
+- kind = GSM_CONDITION_UNKNOWN;
+ }
+
+ if (keyp != NULL) {
+@@ -364,6 +383,12 @@ setup_condition_monitor (GsmAutostartApp *app)
+ gconf_condition_cb,
+ app, NULL, NULL);
+ g_object_unref (client);
++ } else if (kind == GSM_CONDITION_IF_SESSION) {
++ /* We treat GNOME 2.32 as the same as gnome-fallback */
++ disabled = strcmp ("gnome-fallback", key) != 0;
++ } else if (kind == GSM_CONDITION_UNLESS_SESSION) {
++ /* We treat GNOME 2.32 as the same as gnome-fallback */
++ disabled = strcmp ("gnome-fallback", key) == 0;
+ } else {
+ disabled = TRUE;
+ }
+@@ -647,6 +672,12 @@ is_conditionally_disabled (GsmApp *app)
+ g_assert (GCONF_IS_CLIENT (client));
+ disabled = !gconf_client_get_bool (client, key, NULL);
+ g_object_unref (client);
++ } else if (kind == GSM_CONDITION_IF_SESSION) {
++ /* We treat GNOME 2.32 as the same as gnome-fallback */
++ disabled = strcmp ("gnome-fallback", key) != 0;
++ } else if (kind == GSM_CONDITION_UNLESS_SESSION) {
++ /* We treat GNOME 2.32 as the same as gnome-fallback */
++ disabled = strcmp ("gnome-fallback", key) == 0;
+ } else {
+ disabled = TRUE;
+ }
+--
+1.7.3.4
+
diff --git a/gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild b/gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild
new file mode 100644
index 000000000000..3a32f2ee038a
--- /dev/null
+++ b/gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild,v 1.1 2011/04/04 14:52:08 eva Exp $
+
+EAPI="3"
+GCONF_DEBUG="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="Gnome session manager"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="GPL-2 LGPL-2 FDL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+IUSE="doc ipv6 elibc_FreeBSD"
+
+RDEPEND=">=dev-libs/glib-2.16:2
+ >=x11-libs/gtk+-2.22.0:2
+ >=dev-libs/dbus-glib-0.76
+ >=gnome-base/gconf-2:2
+ >=sys-power/upower-0.9.0
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+
+ x11-libs/libSM
+ x11-libs/libICE
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXtst
+ x11-apps/xdpyinfo"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5
+ >=sys-devel/gettext-0.10.40
+ >=dev-util/pkgconfig-0.17
+ >=dev-util/intltool-0.40
+ gnome-base/gnome-common
+ !<gnome-base/gdm-2.20.4
+ doc? (
+ app-text/xmlto
+ dev-libs/libxslt )"
+# gnome-common needed for eautoreconf
+# gnome-base/gdm does not provide gnome.desktop anymore
+
+pkg_setup() {
+ # TODO: convert libnotify to a configure option
+ G2CONF="${G2CONF}
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --with-default-wm=gnome-wm
+ --with-gtk=2.0
+ $(use_enable doc docbook-docs)
+ $(use_enable ipv6)"
+ DOCS="AUTHORS ChangeLog NEWS README"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Add "session saving" button back, upstream bug #575544
+ epatch "${FILESDIR}/${PN}-2.32.0-session-saving-button.patch"
+
+ # Fix support for GNOME3 conditions, bug #XXXXXX
+ epatch "${FILESDIR}/${PN}-2.32.1-gnome3-conditions.patch"
+
+ intltoolize --force --copy --automake || die "intltoolize failed"
+ eautoreconf
+}
+
+src_install() {
+ gnome2_src_install
+
+ dodir /etc/X11/Sessions || die "dodir failed"
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}/Gnome" || die "doexe failed"
+
+ dodir /usr/share/gnome/applications/ || die
+ insinto /usr/share/gnome/applications/
+ doins "${FILESDIR}/defaults.list" || die
+
+ dodir /etc/X11/xinit/xinitrc.d/ || die
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}/15-xdg-data-gnome" || die
+}