diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2011-04-04 14:52:08 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2011-04-04 14:52:08 +0000 |
commit | 3ec13cb9a8cc1fab7c3ee9a1f5485af83dc1ea62 (patch) | |
tree | 0c83d85bda762e53ee2990892d58c1f5e306d282 /gnome-base | |
parent | Bump to the final release, d'oh. (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | gnome-base/gnome-session/Manifest | 10 | ||||
-rw-r--r-- | gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch | 107 | ||||
-rw-r--r-- | gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild | 83 |
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 +} |