diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-04-06 14:16:01 -0400 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-04-06 14:16:01 -0400 |
commit | 7761a59e3e4995c132b0fd59c0e024eb89b9fc24 (patch) | |
tree | 84bd4990556b83266ee35c3b46cc3aab5df86242 /gnome-base/gnome-shell | |
parent | gnome-base/gnome-desktop: 3.3.92 → 3.4.0 (diff) | |
download | gnome-7761a59e3e4995c132b0fd59c0e024eb89b9fc24.tar.gz gnome-7761a59e3e4995c132b0fd59c0e024eb89b9fc24.tar.bz2 gnome-7761a59e3e4995c132b0fd59c0e024eb89b9fc24.zip |
gnome-base/gnome-shell: fix extension loading
Force /usr/bin/gnome-shell to link to libgnome-shell-js.so to fix
extensions; see https://bugzilla.gnome.org/show_bug.cgi?id=670477
Diffstat (limited to 'gnome-base/gnome-shell')
-rw-r--r-- | gnome-base/gnome-shell/Manifest | 4 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch | 30 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch | 43 | ||||
-rw-r--r-- | gnome-base/gnome-shell/gnome-shell-3.4.0-r1.ebuild (renamed from gnome-base/gnome-shell/gnome-shell-3.4.0.ebuild) | 4 |
4 files changed, 80 insertions, 1 deletions
diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest index 5fa107c5..20051a28 100644 --- a/gnome-base/gnome-shell/Manifest +++ b/gnome-base/gnome-shell/Manifest @@ -1,5 +1,7 @@ AUX gnome-shell-3.2.1-automagic-gnome-bluetooth.patch 1841 RMD160 4b57dfeb42f299ef74799409132778b60ddc7a09 SHA1 4acf93b0bda58660b6c7ed5c8fdb6b06df86c035 SHA256 df5f86858b8abc08225ffb7679e829250e05a419b439b2ecad0f02bd93b670b2 +AUX gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch 1137 RMD160 70ddaa8b6c08e78404b2325699ac309595a73bf5 SHA1 f21e78ba4fd2703c4e096ce2f63b2e9dba61b14a SHA256 ae1b5f47e29de890a9bec2bb425a29f66e965b5479a0dfe82a336149ef79bea7 +AUX gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch 1238 RMD160 0679b2b0aadbc00383890c1d739b7dc0c8549412 SHA1 1a89e077d956597e058c441f3df5646c5f950c97 SHA256 f5fd78df90bc3616765e5b9f04ab9aecc2436bdf124d23ea9d4498c483c0f3b3 AUX gnome-shell-3.4.0-optional-networkmanager.patch 8532 RMD160 6519f66a7b189f8e837e23a79d0904bb45a38f7e SHA1 897771c4038c19c4be62576f104d9a1fc7c6dacb SHA256 487bfd9772799cdd1969b252056af4934870de4704a0bea581876b966e9c754c DIST gnome-shell-3.4.0.tar.xz 1249520 RMD160 234d79c98b4288785c73d47dbab0f376688a0b25 SHA1 469547999cf4c7b605df1fb2f6cdd890c8fa89d1 SHA256 b6a706da199a99540a008a5fec609bbeff194b1a933e2fc73e51e667d4599a85 -EBUILD gnome-shell-3.4.0.ebuild 6461 RMD160 2335eab6114aa6eddb8bde24dfed1f2db16e0894 SHA1 dc49ebf51667ab0e27c594b410e24a12be5a9753 SHA256 bf7813ced67400ce78533eafaf35e78c039a1b6fcceee0b3c3f762f8ebc02d83 +EBUILD gnome-shell-3.4.0-r1.ebuild 6664 RMD160 f3306d1fafdf7373c1c13d6d6e8eac25bbdbcbf0 SHA1 a3495a3f6bc79580771448094dc3a4532c348de8 SHA256 2800a5fe52fca08e8f07969f142370827a3d291caa7bce48488096d294da6d82 EBUILD gnome-shell-9999.ebuild 6461 RMD160 2335eab6114aa6eddb8bde24dfed1f2db16e0894 SHA1 dc49ebf51667ab0e27c594b410e24a12be5a9753 SHA256 bf7813ced67400ce78533eafaf35e78c039a1b6fcceee0b3c3f762f8ebc02d83 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 00000000..9f07884a --- /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 00000000..718eb305 --- /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/gnome-shell-3.4.0.ebuild b/gnome-base/gnome-shell/gnome-shell-3.4.0-r1.ebuild index e6539983..666e6b7b 100644 --- a/gnome-base/gnome-shell/gnome-shell-3.4.0.ebuild +++ b/gnome-base/gnome-shell/gnome-shell-3.4.0-r1.ebuild @@ -135,6 +135,10 @@ src_prepare() { # Make networkmanager optional, bug #398593 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 + [[ ${PV} != 9999 ]] && eautoreconf gnome2_src_prepare |