1 |
commit: 7761a59e3e4995c132b0fd59c0e024eb89b9fc24 |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Apr 6 18:16:01 2012 +0000 |
4 |
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com> |
5 |
CommitDate: Fri Apr 6 18:16:01 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=7761a59e |
7 |
|
8 |
gnome-base/gnome-shell: fix extension loading |
9 |
|
10 |
Force /usr/bin/gnome-shell to link to libgnome-shell-js.so to fix |
11 |
extensions; see https://bugzilla.gnome.org/show_bug.cgi?id=670477 |
12 |
|
13 |
--- |
14 |
...e-shell-3.4.0-libgnome-shell-js.so-link-1.patch | 30 ++++++++++++++ |
15 |
...e-shell-3.4.0-libgnome-shell-js.so-link-2.patch | 43 ++++++++++++++++++++ |
16 |
...ll-3.4.0.ebuild => gnome-shell-3.4.0-r1.ebuild} | 4 ++ |
17 |
3 files changed, 77 insertions(+), 0 deletions(-) |
18 |
|
19 |
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 |
20 |
new file mode 100644 |
21 |
index 0000000..9f07884 |
22 |
--- /dev/null |
23 |
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-1.patch |
24 |
@@ -0,0 +1,30 @@ |
25 |
+From 73f565d27166420bbf4a7bb49a30ea5bf5d98566 Mon Sep 17 00:00:00 2001 |
26 |
+From: "Owen W. Taylor" <otaylor@××××××××.net> |
27 |
+Date: Wed, 4 Apr 2012 17:48:47 -0400 |
28 |
+Subject: [PATCH] Link the gnome-shell binary to libgnome-shell-js.so |
29 |
+ |
30 |
+Depending on the exact linker options and versions, rpath's written |
31 |
+into the binary may, or may not, be honored by dlopen(). Work around |
32 |
+this by simply linking the gnome-shell binary to gnome-shell-js, since |
33 |
+then dlopen() doesn't need to search paths. |
34 |
+ |
35 |
+https://bugzilla.gnome.org/show_bug.cgi?id=670477 |
36 |
+--- |
37 |
+ src/Makefile.am | 2 +- |
38 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
39 |
+ |
40 |
+diff --git a/src/Makefile.am b/src/Makefile.am |
41 |
+index 95f1a41..7bafb6a 100644 |
42 |
+--- a/src/Makefile.am |
43 |
++++ b/src/Makefile.am |
44 |
+@@ -187,7 +187,7 @@ libgnome_shell_la_gir_sources = \ |
45 |
+ gnome_shell_real_SOURCES = \ |
46 |
+ main.c |
47 |
+ gnome_shell_real_CPPFLAGS = $(gnome_shell_cflags) |
48 |
+-gnome_shell_real_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD) |
49 |
++gnome_shell_real_LDADD = libgnome-shell.la libgnome-shell-js.la $(libgnome_shell_la_LIBADD) |
50 |
+ gnome_shell_real_DEPENDENCIES = libgnome-shell.la |
51 |
+ |
52 |
+ EXTRA_DIST += test-gapplication.js |
53 |
+-- |
54 |
+1.7.9.3 |
55 |
\ No newline at end of file |
56 |
|
57 |
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 |
58 |
new file mode 100644 |
59 |
index 0000000..718eb30 |
60 |
--- /dev/null |
61 |
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.4.0-libgnome-shell-js.so-link-2.patch |
62 |
@@ -0,0 +1,43 @@ |
63 |
+From 6fa762baaee77c9d1a8aacc758ab5c3c3c33df43 Mon Sep 17 00:00:00 2001 |
64 |
+From: Alexandre Rostovtsev <tetromino@g.o> |
65 |
+Date: Fri, 6 Apr 2012 14:00:48 -0400 |
66 |
+Subject: [PATCH] Prevent the link to libgnome-shell-js.so from being removed |
67 |
+ |
68 |
+Add a dummy call to shell_js_add_extension_importer() to ensure that the |
69 |
+link to libgnome-shell-js.so is not removed when using -Wl,--as-needed, |
70 |
+which is the default on many distros. |
71 |
+--- |
72 |
+ src/main.c | 13 +++++++++++++ |
73 |
+ 1 files changed, 13 insertions(+), 0 deletions(-) |
74 |
+ |
75 |
+diff --git a/src/main.c b/src/main.c |
76 |
+index bac9524..c11c8d7 100644 |
77 |
+--- a/src/main.c |
78 |
++++ b/src/main.c |
79 |
+@@ -24,6 +24,7 @@ |
80 |
+ #include "shell-a11y.h" |
81 |
+ #include "shell-global.h" |
82 |
+ #include "shell-global-private.h" |
83 |
++#include "shell-js.h" |
84 |
+ #include "shell-perf-log.h" |
85 |
+ #include "st.h" |
86 |
+ |
87 |
+@@ -342,3 +343,15 @@ main (int argc, char **argv) |
88 |
+ |
89 |
+ return ecode; |
90 |
+ } |
91 |
++ |
92 |
++/* HACK: |
93 |
++ Add a dummy function that calls into libgnome-shell-js.so to ensure it's |
94 |
++ linked to /usr/bin/gnome-shell even when linking with --as-needed. |
95 |
++ This function is never actually called. |
96 |
++ https://bugzilla.gnome.org/show_bug.cgi?id=670477 |
97 |
++*/ |
98 |
++ |
99 |
++void _shell_link_to_shell_js(void) { |
100 |
++ shell_js_add_extension_importer (NULL, NULL, NULL, NULL); |
101 |
++} |
102 |
++ |
103 |
+-- |
104 |
+1.7.8.5 |
105 |
+ |
106 |
|
107 |
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 |
108 |
similarity index 96% |
109 |
rename from gnome-base/gnome-shell/gnome-shell-3.4.0.ebuild |
110 |
rename to gnome-base/gnome-shell/gnome-shell-3.4.0-r1.ebuild |
111 |
index e653998..666e6b7 100644 |
112 |
--- a/gnome-base/gnome-shell/gnome-shell-3.4.0.ebuild |
113 |
+++ b/gnome-base/gnome-shell/gnome-shell-3.4.0-r1.ebuild |
114 |
@@ -135,6 +135,10 @@ src_prepare() { |
115 |
# Make networkmanager optional, bug #398593 |
116 |
epatch "${FILESDIR}/${PN}-3.4.0-optional-networkmanager.patch" |
117 |
|
118 |
+ # Force /usr/bin/gnome-shell to link to libgnome-shell-js; fixes extensions |
119 |
+ # https://bugzilla.gnome.org/show_bug.cgi?id=670477 |
120 |
+ epatch "${FILESDIR}/${PN}-3.4.0-libgnome-shell-js.so-link"-{1,2}.patch |
121 |
+ |
122 |
[[ ${PV} != 9999 ]] && eautoreconf |
123 |
gnome2_src_prepare |