summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-05-14 00:04:36 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-05-14 00:04:36 +0000
commite11d7ac85c662a23f217c22409652b1e0a91b735 (patch)
treeb51f7e432efe9c50fba550c7de876d26753b4230 /gnome-base/gnome-shell
parentVersion bump for gnome-3.4; now uses gsettings instead of gconf. Drop old. (diff)
downloadgentoo-2-e11d7ac85c662a23f217c22409652b1e0a91b735.tar.gz
gentoo-2-e11d7ac85c662a23f217c22409652b1e0a91b735.tar.bz2
gentoo-2-e11d7ac85c662a23f217c22409652b1e0a91b735.zip
Version bump for gnome-3.4 with lots of changes. Drop old.
(Portage version: 2.2.0_alpha104/cvs/Linux x86_64)
Diffstat (limited to 'gnome-base/gnome-shell')
-rw-r--r--gnome-base/gnome-shell/ChangeLog12
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch30
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch43
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch220
-rw-r--r--gnome-base/gnome-shell/gnome-shell-3.4.1.ebuild (renamed from gnome-base/gnome-shell/gnome-shell-3.2.1-r3.ebuild)76
-rw-r--r--gnome-base/gnome-shell/metadata.xml4
6 files changed, 349 insertions, 36 deletions
diff --git a/gnome-base/gnome-shell/ChangeLog b/gnome-base/gnome-shell/ChangeLog
index 1af244de1b22..bf445875ac9a 100644
--- a/gnome-base/gnome-shell/ChangeLog
+++ b/gnome-base/gnome-shell/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for gnome-base/gnome-shell
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.12 2012/05/05 05:38:12 jdhore Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.13 2012/05/14 00:04:36 tetromino Exp $
+
+*gnome-shell-3.4.1 (14 May 2012)
+
+ 14 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ -gnome-shell-3.2.1-r3.ebuild,
+ +files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch,
+ +files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch,
+ +files/gnome-shell-3.4.0-optional-networkmanager.patch,
+ +gnome-shell-3.4.1.ebuild, metadata.xml:
+ Version bump for gnome-3.4 with lots of changes. Drop old.
05 May 2012; Jeff Horelick <jdhore@gentoo.org> gnome-shell-3.2.1-r3.ebuild,
gnome-shell-3.2.2.1.ebuild:
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
new file mode 100644
index 000000000000..9f07884a351f
--- /dev/null
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
@@ -0,0 +1,30 @@
+From 73f565d27166420bbf4a7bb49a30ea5bf5d98566 Mon Sep 17 00:00:00 2001
+From: "Owen W. Taylor" <otaylor@fishsoup.net>
+Date: Wed, 4 Apr 2012 17:48:47 -0400
+Subject: [PATCH] Link the gnome-shell binary to libgnome-shell-js.so
+
+Depending on the exact linker options and versions, rpath's written
+into the binary may, or may not, be honored by dlopen(). Work around
+this by simply linking the gnome-shell binary to gnome-shell-js, since
+then dlopen() doesn't need to search paths.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=670477
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 95f1a41..7bafb6a 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -187,7 +187,7 @@ libgnome_shell_la_gir_sources = \
+ gnome_shell_real_SOURCES = \
+ main.c
+ gnome_shell_real_CPPFLAGS = $(gnome_shell_cflags)
+-gnome_shell_real_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD)
++gnome_shell_real_LDADD = libgnome-shell.la libgnome-shell-js.la $(libgnome_shell_la_LIBADD)
+ gnome_shell_real_DEPENDENCIES = libgnome-shell.la
+
+ EXTRA_DIST += test-gapplication.js
+--
+1.7.9.3 \ No newline at end of file
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch
new file mode 100644
index 000000000000..718eb3055a88
--- /dev/null
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch
@@ -0,0 +1,43 @@
+From 6fa762baaee77c9d1a8aacc758ab5c3c3c33df43 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Fri, 6 Apr 2012 14:00:48 -0400
+Subject: [PATCH] Prevent the link to libgnome-shell-js.so from being removed
+
+Add a dummy call to shell_js_add_extension_importer() to ensure that the
+link to libgnome-shell-js.so is not removed when using -Wl,--as-needed,
+which is the default on many distros.
+---
+ src/main.c | 13 +++++++++++++
+ 1 files changed, 13 insertions(+), 0 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index bac9524..c11c8d7 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -24,6 +24,7 @@
+ #include "shell-a11y.h"
+ #include "shell-global.h"
+ #include "shell-global-private.h"
++#include "shell-js.h"
+ #include "shell-perf-log.h"
+ #include "st.h"
+
+@@ -342,3 +343,15 @@ main (int argc, char **argv)
+
+ return ecode;
+ }
++
++/* HACK:
++ Add a dummy function that calls into libgnome-shell-js.so to ensure it's
++ linked to /usr/bin/gnome-shell even when linking with --as-needed.
++ This function is never actually called.
++ https://bugzilla.gnome.org/show_bug.cgi?id=670477
++*/
++
++void _shell_link_to_shell_js(void) {
++ shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
++}
++
+--
+1.7.8.5
+
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch
new file mode 100644
index 000000000000..ee9d0af7d249
--- /dev/null
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch
@@ -0,0 +1,220 @@
+From 411d751935c9bdc485b113678284edf0cc9e545e Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Thu, 22 Dec 2011 22:04:12 +0100
+Subject: [PATCH] Make NM optional
+
+[ Alexandre Rostovtsev <tetromino@gentoo.org> :
+ * use config.js (and AC_SUBST HAVE_NETWORKMANAGER appropriately);
+ * take care to not import ui.status.network if nm is disabled;
+ * do not try to reassign to const variables;
+ * no point really in fiddling with the list of installed js files;
+ * don't build shell-mobile-providers if nm is disabled;
+ * use "networkmanager" instead of "network_manager" because THE
+ BIKESHED SHOULD BE BLUE, also because the upstream package name is
+ NetworkManager, not Network_Manager. ]
+---
+ configure.ac | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ js/Makefile.am | 1 +
+ js/misc/config.js.in | 2 ++
+ js/ui/main.js | 8 ++++++--
+ js/ui/panel.js | 3 ++-
+ src/Makefile.am | 17 ++++++++++++-----
+ 6 files changed, 69 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c6ad636..f228ebd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -94,9 +94,42 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
+ telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION
+ telepathy-logger-0.2 >= $TELEPATHY_LOGGER_MIN_VERSION
+ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
+- libnm-glib libnm-util gnome-keyring-1
++ gnome-keyring-1
+ gcr-3 >= $GCR_MIN_VERSION)
+
++##########################
++# Check for NetworkManager
++##########################
++NM_MIN_VERSION=0.9
++AC_ARG_ENABLE(networkmanager,
++ AS_HELP_STRING([--disable-networkmanager],
++ [disable NetworkManager support @<:@default=auto@:>@]),,
++ [enable_networkmanager=auto])
++
++if test "x$enable_networkmanager" != "xno"; then
++ PKG_CHECK_MODULES(NETWORKMANAGER,
++ [libnm-glib libnm-util gnome-keyring-1],
++ [have_networkmanager=yes],
++ [have_networkmanager=no])
++
++ GNOME_SHELL_CFLAGS="$GNOME_SHELL_CFLAGS $NETWORKMANAGER_CFLAGS"
++ GNOME_SHELL_LIBS="$GNOME_SHELL_LIBS $NETWORKMANAGER_LIBS"
++else
++ have_networkmanager="no (disabled)"
++fi
++
++if test "x$have_networkmanager" = "xyes"; then
++ AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager])
++ AC_SUBST([HAVE_NETWORKMANAGER], [1])
++else
++ if test "x$enable_networkmanager" = "xyes"; then
++ AC_MSG_ERROR([Couldn't find NetworkManager.])
++ fi
++ AC_SUBST([HAVE_NETWORKMANAGER], [0])
++fi
++
++AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes")
++
+ PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
+
+ PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
+@@ -289,3 +322,15 @@ AC_CONFIG_FILES([
+ man/Makefile
+ ])
+ AC_OUTPUT
++
++echo "
++Build configuration:
++
++ Prefix: ${prefix}
++ Source code location: ${srcdir}
++ Compiler: ${CC}
++ Compiler Warnings: $enable_compile_warnings
++
++ Support for NetworkManager: $have_networkmanager
++ Support for GStreamer recording: $build_recorder
++"
+diff --git a/js/Makefile.am b/js/Makefile.am
+index e7751cc..5eb4c18 100644
+--- a/js/Makefile.am
++++ b/js/Makefile.am
+@@ -8,6 +8,7 @@ misc/config.js: misc/config.js.in Makefile
+ -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \
+ -e "s|[@]GJS_VERSION@|$(GJS_VERSION)|g" \
+ -e "s|[@]HAVE_BLUETOOTH@|$(HAVE_BLUETOOTH)|g" \
++ -e "s|[@]HAVE_NETWORKMANAGER@|$(HAVE_NETWORKMANAGER)|g" \
+ -e "s|[@]SHELL_SYSTEM_CA_FILE@|$(SHELL_SYSTEM_CA_FILE)|g" \
+ -e "s|[@]GETTEXT_PACKAGE@|$(GETTEXT_PACKAGE)|g" \
+ -e "s|[@]datadir@|$(datadir)|g" \
+diff --git a/js/misc/config.js.in b/js/misc/config.js.in
+index 4a0db16..3df3394 100644
+--- a/js/misc/config.js.in
++++ b/js/misc/config.js.in
+@@ -8,6 +8,8 @@ const PACKAGE_VERSION = '@PACKAGE_VERSION@';
+ const GJS_VERSION = '@GJS_VERSION@';
+ /* 1 if gnome-bluetooth is available, 0 otherwise */
+ const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
++/* 1 if networkmanager is available, 0 otherwise */
++const HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
+ /* The system TLS CA list */
+ const SHELL_SYSTEM_CA_FILE = '@SHELL_SYSTEM_CA_FILE@';
+ /* gettext package */
+diff --git a/js/ui/main.js b/js/ui/main.js
+index ac9330c..7ca91ee 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -12,6 +12,7 @@ const St = imports.gi.St;
+
+ const AutomountManager = imports.ui.automountManager;
+ const AutorunManager = imports.ui.autorunManager;
++const Config = imports.misc.config;
+ const CtrlAltTab = imports.ui.ctrlAltTab;
+ const EndSessionDialog = imports.ui.endSessionDialog;
+ const PolkitAuthenticationAgent = imports.ui.polkitAuthenticationAgent;
+@@ -26,7 +27,7 @@ const PlaceDisplay = imports.ui.placeDisplay;
+ const RunDialog = imports.ui.runDialog;
+ const Layout = imports.ui.layout;
+ const LookingGlass = imports.ui.lookingGlass;
+-const NetworkAgent = imports.ui.networkAgent;
++const NetworkAgent = Config.HAVE_NETWORKMANAGER ? imports.ui.networkAgent : null;
+ const NotificationDaemon = imports.ui.notificationDaemon;
+ const WindowAttentionHandler = imports.ui.windowAttentionHandler;
+ const Scripting = imports.ui.scripting;
+@@ -85,7 +86,10 @@ function _createUserSession() {
+ telepathyClient = new TelepathyClient.Client();
+ automountManager = new AutomountManager.AutomountManager();
+ autorunManager = new AutorunManager.AutorunManager();
+- networkAgent = new NetworkAgent.NetworkAgent();
++ if (Config.HAVE_NETWORKMANAGER) {
++ networkAgent = new NetworkAgent.NetworkAgent();
++ }
++
+ }
+
+ function _createGDMSession() {
+diff --git a/js/ui/panel.js b/js/ui/panel.js
+index 329f118..865ce05 100644
+--- a/js/ui/panel.js
++++ b/js/ui/panel.js
+@@ -45,7 +45,8 @@ if (Config.HAVE_BLUETOOTH)
+ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
+
+ try {
+- STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet;
++ if (Config.HAVE_NETWORKMANAGER)
++ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet;
+ } catch(e) {
+ log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
+ }
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 95f1a41..637455e 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -110,9 +110,7 @@ shell_public_headers_h = \
+ shell-gtk-embed.h \
+ shell-global.h \
+ shell-idle-monitor.h \
+- shell-mobile-providers.h \
+ shell-mount-operation.h \
+- shell-network-agent.h \
+ shell-perf-log.h \
+ shell-screenshot.h \
+ shell-screen-grabber.h \
+@@ -134,6 +132,10 @@ shell_private_sources = \
+ gactionobserver.h \
+ gactionobserver.c
+
++if HAVE_NETWORKMANAGER
++shell_public_headers_h += shell-mobile-providers.h shell-network-agent.h
++endif
++
+ libgnome_shell_la_SOURCES = \
+ $(shell_built_sources) \
+ $(shell_public_headers_h) \
+@@ -159,9 +161,7 @@ libgnome_shell_la_SOURCES = \
+ shell-idle-monitor.c \
+ shell-keyring-prompt.h \
+ shell-keyring-prompt.c \
+- shell-mobile-providers.c \
+ shell-mount-operation.c \
+- shell-network-agent.c \
+ shell-perf-log.c \
+ shell-polkit-authentication-agent.h \
+ shell-polkit-authentication-agent.c \
+@@ -181,6 +181,10 @@ libgnome_shell_la_SOURCES = \
+ $(NULL)
+
+
++if HAVE_NETWORKMANAGER
++libgnome_shell_la_SOURCES += shell-mobile-providers.c shell-network-agent.c
++endif
++
+ libgnome_shell_la_gir_sources = \
+ $(filter-out %-private.h $(shell_private_sources), $(shell_public_headers_h) $(libgnome_shell_la_SOURCES))
+
+@@ -296,7 +300,10 @@ libgnome_shell_la_LIBADD = \
+ libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags)
+
+ Shell-0.1.gir: libgnome-shell.la St-1.0.gir
+-Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 TelepathyLogger-0.2 Soup-2.4 GMenu-3.0 NetworkManager-1.0 NMClient-1.0 Folks-0.6
++Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 TelepathyLogger-0.2 Soup-2.4 GMenu-3.0 Folks-0.6
++if HAVE_NETWORKMANAGER
++Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
++endif
+ Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
+ Shell_0_1_gir_LIBS = libgnome-shell.la
+ Shell_0_1_gir_FILES = $(libgnome_shell_la_gir_sources)
+--
+1.7.8.5
+
diff --git a/gnome-base/gnome-shell/gnome-shell-3.2.1-r3.ebuild b/gnome-base/gnome-shell/gnome-shell-3.4.1.ebuild
index bff6bf927363..8f6a90d56efa 100644
--- a/gnome-base/gnome-shell/gnome-shell-3.2.1-r3.ebuild
+++ b/gnome-base/gnome-shell/gnome-shell-3.4.1.ebuild
@@ -1,69 +1,66 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.2.1-r3.ebuild,v 1.4 2012/05/05 05:38:12 jdhore Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.4.1.ebuild,v 1.1 2012/05/14 00:04:36 tetromino Exp $
EAPI="4"
GCONF_DEBUG="no"
GNOME2_LA_PUNT="yes"
PYTHON_DEPEND="2:2.5"
-inherit autotools eutils gnome2 multilib python
+inherit autotools eutils gnome2 multilib pax-utils python
DESCRIPTION="Provides core UI functions for the GNOME 3 desktop"
HOMEPAGE="http://live.gnome.org/GnomeShell"
-SRC_URI="${SRC_URI}
- http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-patches-1.tar.xz"
-
LICENSE="GPL-2"
SLOT="0"
-IUSE="+bluetooth +networkmanager"
+IUSE="+bluetooth +networkmanager systemd"
KEYWORDS="~amd64 ~x86"
# gnome-desktop-2.91.2 is needed due to header changes, db82a33 in gnome-desktop
-# latest gsettings-desktop-schemas is needed due to commit 602fa1c6
# latest g-c-c is needed due to https://bugs.gentoo.org/show_bug.cgi?id=360057
# libXfixes-5.0 needed for pointer barriers
-COMMON_DEPEND=">=dev-libs/glib-2.25.9:2
- >=dev-libs/gjs-1.29.18
+COMMON_DEPEND=">=app-crypt/gcr-3.3.90[introspection]
+ >=dev-libs/glib-2.31.6:2
+ >=dev-libs/gjs-1.31.22
>=dev-libs/gobject-introspection-0.10.1
- x11-libs/gdk-pixbuf:2[introspection]
- >=x11-libs/gtk+-3.0.0:3[introspection]
- >=media-libs/clutter-1.7.5:1.0[introspection]
- app-misc/ca-certificates
+ >=x11-libs/gtk+-3.3.9:3[introspection]
+ >=media-libs/clutter-1.9.16:1.0[introspection]
>=dev-libs/folks-0.5.2
>=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
>=gnome-base/gnome-desktop-2.91.2:3
>=gnome-base/gsettings-desktop-schemas-2.91.91
+ >=gnome-base/gnome-keyring-3.3.90
+ >=gnome-base/gnome-menus-2.29.10:3[introspection]
+ gnome-base/libgnome-keyring
>=gnome-extra/evolution-data-server-2.91.6
>=media-libs/gstreamer-0.10.16:0.10
>=media-libs/gst-plugins-base-0.10.16:0.10
>=net-im/telepathy-logger-0.2.4[introspection]
- net-libs/libsoup:2.4[introspection]
- >=net-libs/telepathy-glib-0.15.5[introspection]
+ >=net-libs/telepathy-glib-0.17.5[introspection]
>=sys-auth/polkit-0.100[introspection]
- >=x11-wm/mutter-3.2.1[introspection]
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/mutter-3.4.1[introspection]
+ >=x11-libs/startup-notification-0.11
+ app-misc/ca-certificates
dev-libs/dbus-glib
dev-libs/libxml2:2
- x11-libs/pango[introspection]
- >=dev-libs/libcroco-0.6.2:0.6
-
- gnome-base/gconf:2[introspection]
- >=gnome-base/gnome-menus-2.29.10:3[introspection]
gnome-base/librsvg
media-libs/libcanberra
+ media-libs/mesa
media-sound/pulseaudio
-
- >=x11-libs/startup-notification-0.11
+ net-libs/libsoup:2.4[introspection]
x11-libs/libX11
- >=x11-libs/libXfixes-5.0
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/pango[introspection]
x11-apps/mesa-progs
bluetooth? ( >=net-wireless/gnome-bluetooth-3.1.0[introspection] )
- networkmanager? (
- gnome-base/libgnome-keyring
- >=net-misc/networkmanager-0.8.999[introspection] )"
+ networkmanager? ( >=net-misc/networkmanager-0.8.999[introspection] )
+ systemd? ( >=sys-apps/systemd-31 )
+"
# Runtime-only deps are probably incomplete and approximate.
# Each block:
# 1. Pull in polkit-0.101 for pretty authorization dialogs
@@ -86,7 +83,7 @@ RDEPEND="${COMMON_DEPEND}
>=gnome-base/gnome-session-2.91.91
>=gnome-base/gnome-settings-daemon-2.91
- >=gnome-base/gnome-control-center-2.91.92-r1
+ >=gnome-base/gnome-control-center-2.91.92-r1[bluetooth(+)?]
>=sys-apps/accountsservice-0.6.14[introspection]
@@ -98,12 +95,15 @@ RDEPEND="${COMMON_DEPEND}
networkmanager? (
net-misc/mobile-broadband-provider-info
- sys-libs/timezone-data )"
+ sys-libs/timezone-data )
+
+ !systemd? ( sys-auth/consolekit )
+"
DEPEND="${COMMON_DEPEND}
>=sys-devel/gettext-0.17
- virtual/pkgconfig
>=dev-util/intltool-0.40
gnome-base/gnome-common
+ virtual/pkgconfig
!!=dev-lang/spidermonkey-1.8.2*"
# libmozjs.so is picked up from /usr/lib while compiling, so block at build-time
# https://bugs.gentoo.org/show_bug.cgi?id=360413
@@ -117,6 +117,7 @@ pkg_setup() {
--disable-jhbuild-wrapper-script
$(use_with bluetooth)
$(use_enable networkmanager)
+ $(use_with systemd)
--with-ca-certificates=${EPREFIX}/etc/ssl/certs/ca-certificates.crt
BROWSER_PLUGIN_DIR=${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins"
python_set_active_version 2
@@ -124,14 +125,15 @@ pkg_setup() {
}
src_prepare() {
- # Useful patches from git master (not in gnome-3-2 branch yet)
- epatch ../patch/*.patch
-
# Fix automagic gnome-bluetooth dep, bug #398145
epatch "${FILESDIR}/${PN}-3.2.1-automagic-gnome-bluetooth.patch"
# Make networkmanager optional, bug #398593
- epatch "${FILESDIR}/${PN}-3.2.1-optional-networkmanager.patch"
+ epatch "${FILESDIR}/${PN}-3.4.0-optional-networkmanager.patch"
+
+ # Force /usr/bin/gnome-shell to link to libgnome-shell-js; fixes extensions
+ # https://bugzilla.gnome.org/show_bug.cgi?id=670477
+ epatch "${FILESDIR}/${PN}-3.4.0-libgnome-shell-js.so-link"-{1,2}.patch
eautoreconf
gnome2_src_prepare
@@ -144,11 +146,15 @@ src_prepare() {
src_install() {
gnome2_src_install
- python_convert_shebangs 2 "${D}"/usr/bin/gnome-shell-extension-tool
+ python_convert_shebangs 2 "${ED}/usr/bin/gnome-shell-extension-tool"
+
+ # Required for gnome-shell on hardened/PaX, bug #398941
+ pax-mark mr "${ED}usr/bin/gnome-shell"
}
pkg_postinst() {
gnome2_pkg_postinst
+
if ! has_version '>=media-libs/gst-plugins-good-0.10.23' || \
! has_version 'media-plugins/gst-plugins-vp8'; then
ewarn "To make use of GNOME Shell's built-in screen recording utility,"
diff --git a/gnome-base/gnome-shell/metadata.xml b/gnome-base/gnome-shell/metadata.xml
index da6fd63d0085..ce772740cdd1 100644
--- a/gnome-base/gnome-shell/metadata.xml
+++ b/gnome-base/gnome-shell/metadata.xml
@@ -2,4 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>gnome</herd>
+<use>
+ <flag name="systemd">Use <pkg>sys-apps/systemd</pkg> instead of
+ <pkg>sys-auth/consolekit</pkg> for session tracking</flag>
+</use>
</pkgmetadata>