* [gentoo-commits] gentoo-x86 commit in gnome-base/gnome-shell/files: gnome-shell-3.4.0-optional-networkmanager.patch gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
@ 2012-05-14 0:04 Alexandre Rostovtsev (tetromino)
0 siblings, 0 replies; only message in thread
From: Alexandre Rostovtsev (tetromino) @ 2012-05-14 0:04 UTC (permalink / raw
To: gentoo-commits
tetromino 12/05/14 00:04:36
Added: gnome-shell-3.4.0-optional-networkmanager.patch
gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch
gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
Log:
Version bump for gnome-3.4 with lots of changes. Drop old.
(Portage version: 2.2.0_alpha104/cvs/Linux x86_64)
Revision Changes Path
1.1 gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-optional-networkmanager.patch?rev=1.1&content-type=text/plain
Index: gnome-shell-3.4.0-optional-networkmanager.patch
===================================================================
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
1.1 gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch?rev=1.1&content-type=text/plain
Index: gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch
===================================================================
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
1.1 gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch?rev=1.1&content-type=text/plain
Index: gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch
===================================================================
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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-14 0:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-14 0:04 [gentoo-commits] gentoo-x86 commit in gnome-base/gnome-shell/files: gnome-shell-3.4.0-optional-networkmanager.patch gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch Alexandre Rostovtsev (tetromino)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox