1 |
commit: b7bee4969aacb3345e73cffe176f5fff1b784031 |
2 |
Author: Steev Klimaszewski <steev <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Mar 31 05:39:02 2012 +0000 |
4 |
Commit: Stephen Klimaszewski <steev <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Mar 31 05:39:02 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/steev.git;a=commit;h=b7bee496 |
7 |
|
8 |
gnome-shell: use nm-connection-editor |
9 |
|
10 |
By default, the Network Settings uses some shitty control panel version which |
11 |
sucks more ass than a porn star. Let's change this back to the much better |
12 |
nm-connection-editor. Requires a patch tarball from me, or to be re-done so |
13 |
that the patch is in FILESDIR instead of the patch tarball. |
14 |
|
15 |
Signed-off-by: Steev Klimaszewski <steev <AT> gentoo.org> |
16 |
|
17 |
--- |
18 |
gnome-base/gnome-shell/Manifest | 5 + |
19 |
...ome-shell-3.2.1-automagic-gnome-bluetooth.patch | 44 ++++ |
20 |
...gnome-shell-3.2.1-optional-networkmanager.patch | 207 ++++++++++++++++++++ |
21 |
gnome-base/gnome-shell/gnome-shell-3.2.2.1.ebuild | 193 ++++++++++++++++++ |
22 |
4 files changed, 449 insertions(+), 0 deletions(-) |
23 |
|
24 |
diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest |
25 |
new file mode 100644 |
26 |
index 0000000..8a7900c |
27 |
--- /dev/null |
28 |
+++ b/gnome-base/gnome-shell/Manifest |
29 |
@@ -0,0 +1,5 @@ |
30 |
+AUX gnome-shell-3.2.1-automagic-gnome-bluetooth.patch 1841 RMD160 4b57dfeb42f299ef74799409132778b60ddc7a09 SHA1 4acf93b0bda58660b6c7ed5c8fdb6b06df86c035 SHA256 df5f86858b8abc08225ffb7679e829250e05a419b439b2ecad0f02bd93b670b2 |
31 |
+AUX gnome-shell-3.2.1-optional-networkmanager.patch 7873 RMD160 d0dd3e5ae9b6d0ac12b23e0fe8e2845e79ea13a5 SHA1 00350c0484d25e0f62b3e1fadef43f46333f9b63 SHA256 c7b67f665b42d8a21e2a4f51bca121aba48af676d30e35eb6d6ac7939775b70b |
32 |
+DIST gnome-shell-3.2.2.1-patches-2.tar.xz 9428 RMD160 24a9b4f581eb74d4f4d633b5ee6f343d60c5eb55 SHA1 69c1c2a908ce812e51a59901112978919d5c79af SHA256 67833b66abc1784305afbd95560797deff60a162b51da7d678338ad4af593cb0 |
33 |
+DIST gnome-shell-3.2.2.1.tar.xz 1119984 RMD160 2a3d3360ce630e2644ccd82a7b58801a97ee01ff SHA1 46bbfa5f575fcdd8ff7c653123ce249e7ce93537 SHA256 209363084ef2d58777d70d8430e4659b058cf854c4b9766f3019d69ffea34d6f |
34 |
+EBUILD gnome-shell-3.2.2.1.ebuild 6657 RMD160 26a4f209eafdd1223ba1ee0cb888ae25ea4a9243 SHA1 9c8915fbd3f43d343da735618b82a1d02dc469b9 SHA256 958277d3e7bc95ba3d6f25147a6debd9ba59f2f8802660028f0400df64139083 |
35 |
|
36 |
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch |
37 |
new file mode 100644 |
38 |
index 0000000..ae23a6c |
39 |
--- /dev/null |
40 |
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch |
41 |
@@ -0,0 +1,44 @@ |
42 |
+From 84568fa9454f279ff519a2a11174e112786e46db Mon Sep 17 00:00:00 2001 |
43 |
+From: root <admin@×××××××××.uk> |
44 |
+Date: Sun, 8 Jan 2012 13:55:05 +0000 |
45 |
+Subject: [PATCH] Fix automagic gnome-bluetooth dependency |
46 |
+ |
47 |
+https://bugs.gentoo.org/show_bug.cgi?id=398145 |
48 |
+ |
49 |
+Ed Catmur 2012-01-08 13:46:22 UTC |
50 |
+libgnome-bluetooth-applet is a private library so they shouldn't be linking |
51 |
+against it anyway. I tried to work out how to tell libtool to add it to rpath |
52 |
+but got totally lost. |
53 |
+ |
54 |
+I'll see if I can work out how to fix the automagic gnome-bluetooth dependency |
55 |
+so I can at least merge USE=-bluetooth. |
56 |
+--- |
57 |
+ configure.ac | 5 +++++ |
58 |
+ 1 files changed, 5 insertions(+), 0 deletions(-) |
59 |
+ |
60 |
+diff --git a/configure.ac b/configure.ac |
61 |
+index 1c64122..a699838 100644 |
62 |
+--- a/configure.ac |
63 |
++++ b/configure.ac |
64 |
+@@ -127,6 +127,8 @@ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0) |
65 |
+ PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 0.1.7) |
66 |
+ |
67 |
+ AC_MSG_CHECKING([for bluetooth support]) |
68 |
++AC_ARG_WITH([bluetooth], AS_HELP_STRING([--without-bluetooth], [Build without gnome-bluetooth library (default: auto)])) |
69 |
++AS_IF([test "x$with_bluetooth" != "xno"], [ |
70 |
+ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], |
71 |
+ [BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0` |
72 |
+ BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0` |
73 |
+@@ -138,6 +140,9 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], |
74 |
+ [AC_DEFINE([HAVE_BLUETOOTH],[0]) |
75 |
+ AC_SUBST([HAVE_BLUETOOTH],[0]) |
76 |
+ AC_MSG_RESULT([no])]) |
77 |
++], [AC_DEFINE([HAVE_BLUETOOTH],[0]) |
78 |
++ AC_SUBST([HAVE_BLUETOOTH],[0]) |
79 |
++ AC_MSG_RESULT([no])]) |
80 |
+ |
81 |
+ PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION libedataserverui-3.0 >= $LIBEDATASERVERUI_MIN_VERSION gio-2.0) |
82 |
+ AC_SUBST(CALENDAR_SERVER_CFLAGS) |
83 |
+-- |
84 |
+1.7.8.2 |
85 |
+ |
86 |
|
87 |
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.2.1-optional-networkmanager.patch b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-optional-networkmanager.patch |
88 |
new file mode 100644 |
89 |
index 0000000..ba304c1 |
90 |
--- /dev/null |
91 |
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-optional-networkmanager.patch |
92 |
@@ -0,0 +1,207 @@ |
93 |
+From df21e761fc02cf1269a7bbee073b8a129cba1dcd Mon Sep 17 00:00:00 2001 |
94 |
+From: Michael Biebl <biebl@××××××.org> |
95 |
+Date: Thu, 22 Dec 2011 22:04:12 +0100 |
96 |
+Subject: [PATCH] Make NM optional |
97 |
+ |
98 |
+[ Alexandre Rostovtsev <tetromino@g.o> : |
99 |
+ * use config.js (and AC_SUBST HAVE_NETWORKMANAGER appropriately); |
100 |
+ * take care to not import ui.status.network if nm is disabled; |
101 |
+ * do not try to reassign to const variables; |
102 |
+ * no point really in fiddling with the list of installed js files; |
103 |
+ * don't build shell-mobile-providers if nm is disabled; |
104 |
+ * use "networkmanager" instead of "network_manager" because THE |
105 |
+ BIKESHED SHOULD BE BLUE, also because the upstream package name is |
106 |
+ NetworkManager, not Network_Manager. ] |
107 |
+--- |
108 |
+ configure.ac | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- |
109 |
+ js/misc/config.js.in | 2 ++ |
110 |
+ js/ui/main.js | 8 ++++++-- |
111 |
+ js/ui/panel.js | 3 ++- |
112 |
+ src/Makefile.am | 18 +++++++++++++----- |
113 |
+ 5 files changed, 70 insertions(+), 10 deletions(-) |
114 |
+ |
115 |
+diff --git a/configure.ac b/configure.ac |
116 |
+index d1bea62..b972127 100644 |
117 |
+--- a/configure.ac |
118 |
++++ b/configure.ac |
119 |
+@@ -95,8 +95,41 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-2.0 >= $GIO_MIN_VERSION |
120 |
+ libcanberra |
121 |
+ telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION |
122 |
+ telepathy-logger-0.2 >= $TELEPATHY_LOGGER_MIN_VERSION |
123 |
+- polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes |
124 |
+- libnm-glib libnm-util gnome-keyring-1) |
125 |
++ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes) |
126 |
++ |
127 |
++########################## |
128 |
++# Check for NetworkManager |
129 |
++########################## |
130 |
++NM_MIN_VERSION=0.9 |
131 |
++AC_ARG_ENABLE(networkmanager, |
132 |
++ AS_HELP_STRING([--disable-networkmanager], |
133 |
++ [disable NetworkManager support @<:@default=auto@:>@]),, |
134 |
++ [enable_networkmanager=auto]) |
135 |
++ |
136 |
++if test "x$enable_networkmanager" != "xno"; then |
137 |
++ PKG_CHECK_MODULES(NETWORKMANAGER, |
138 |
++ [libnm-glib libnm-util gnome-keyring-1], |
139 |
++ [have_networkmanager=yes], |
140 |
++ [have_networkmanager=no]) |
141 |
++ |
142 |
++ GNOME_SHELL_CFLAGS="$GNOME_SHELL_CFLAGS $NETWORKMANAGER_CFLAGS" |
143 |
++ GNOME_SHELL_LIBS="$GNOME_SHELL_LIBS $NETWORKMANAGER_LIBS" |
144 |
++else |
145 |
++ have_networkmanager="no (disabled)" |
146 |
++fi |
147 |
++ |
148 |
++if test "x$have_networkmanager" = "xyes"; then |
149 |
++ AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager]) |
150 |
++ AC_SUBST([HAVE_NETWORKMANAGER], [1]) |
151 |
++else |
152 |
++ if test "x$enable_networkmanager" = "xyes"; then |
153 |
++ AC_MSG_ERROR([Couldn't find NetworkManager.]) |
154 |
++ fi |
155 |
++ AC_SUBST([HAVE_NETWORKMANAGER], [0]) |
156 |
++fi |
157 |
++ |
158 |
++AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes") |
159 |
++ |
160 |
+ |
161 |
+ PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0) |
162 |
+ |
163 |
+@@ -256,3 +289,15 @@ AC_CONFIG_FILES([ |
164 |
+ man/Makefile |
165 |
+ ]) |
166 |
+ AC_OUTPUT |
167 |
++ |
168 |
++echo " |
169 |
++Build configuration: |
170 |
++ |
171 |
++ Prefix: ${prefix} |
172 |
++ Source code location: ${srcdir} |
173 |
++ Compiler: ${CC} |
174 |
++ Compiler Warnings: $enable_compile_warnings |
175 |
++ |
176 |
++ Support for NetworkManager: $have_networkmanager |
177 |
++ Support for GStreamer recording: $build_recorder |
178 |
++" |
179 |
+diff --git a/js/misc/config.js.in b/js/misc/config.js.in |
180 |
+index a35fe28..4a09df6 100644 |
181 |
+--- a/js/misc/config.js.in |
182 |
++++ b/js/misc/config.js.in |
183 |
+@@ -8,5 +8,7 @@ const PACKAGE_VERSION = '@PACKAGE_VERSION@'; |
184 |
+ const GJS_VERSION = '@GJS_VERSION@'; |
185 |
+ /* 1 if gnome-bluetooth is available, 0 otherwise */ |
186 |
+ const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@; |
187 |
++/* 1 if networkmanager is available, 0 otherwise */ |
188 |
++const HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@; |
189 |
+ /* The system TLS CA list */ |
190 |
+ const SHELL_SYSTEM_CA_FILE = '@SHELL_SYSTEM_CA_FILE@'; |
191 |
+diff --git a/js/ui/main.js b/js/ui/main.js |
192 |
+index 4c97440..828911b 100644 |
193 |
+--- a/js/ui/main.js |
194 |
++++ b/js/ui/main.js |
195 |
+@@ -14,6 +14,7 @@ const St = imports.gi.St; |
196 |
+ |
197 |
+ const AutomountManager = imports.ui.automountManager; |
198 |
+ const AutorunManager = imports.ui.autorunManager; |
199 |
++const Config = imports.misc.config; |
200 |
+ const CtrlAltTab = imports.ui.ctrlAltTab; |
201 |
+ const EndSessionDialog = imports.ui.endSessionDialog; |
202 |
+ const PolkitAuthenticationAgent = imports.ui.polkitAuthenticationAgent; |
203 |
+@@ -27,7 +28,7 @@ const PlaceDisplay = imports.ui.placeDisplay; |
204 |
+ const RunDialog = imports.ui.runDialog; |
205 |
+ const Layout = imports.ui.layout; |
206 |
+ const LookingGlass = imports.ui.lookingGlass; |
207 |
+-const NetworkAgent = imports.ui.networkAgent; |
208 |
++const NetworkAgent = Config.HAVE_NETWORKMANAGER ? imports.ui.networkAgent : null; |
209 |
+ const NotificationDaemon = imports.ui.notificationDaemon; |
210 |
+ const WindowAttentionHandler = imports.ui.windowAttentionHandler; |
211 |
+ const Scripting = imports.ui.scripting; |
212 |
+@@ -84,7 +85,10 @@ function _createUserSession() { |
213 |
+ telepathyClient = new TelepathyClient.Client(); |
214 |
+ automountManager = new AutomountManager.AutomountManager(); |
215 |
+ autorunManager = new AutorunManager.AutorunManager(); |
216 |
+- networkAgent = new NetworkAgent.NetworkAgent(); |
217 |
++ if (Config.HAVE_NETWORKMANAGER) { |
218 |
++ networkAgent = new NetworkAgent.NetworkAgent(); |
219 |
++ } |
220 |
++ |
221 |
+ } |
222 |
+ |
223 |
+ function _createGDMSession() { |
224 |
+diff --git a/js/ui/panel.js b/js/ui/panel.js |
225 |
+index 2f78db9..63e472c 100644 |
226 |
+--- a/js/ui/panel.js |
227 |
++++ b/js/ui/panel.js |
228 |
+@@ -40,7 +40,8 @@ if (Config.HAVE_BLUETOOTH) |
229 |
+ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator; |
230 |
+ |
231 |
+ try { |
232 |
+- STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet; |
233 |
++ if (Config.HAVE_NETWORKMANAGER) |
234 |
++ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet; |
235 |
+ } catch(e) { |
236 |
+ log('NMApplet is not supported. It is possible that your NetworkManager version is too old'); |
237 |
+ } |
238 |
+diff --git a/src/Makefile.am b/src/Makefile.am |
239 |
+index 4f8a1da..ecf4d13 100644 |
240 |
+--- a/src/Makefile.am |
241 |
++++ b/src/Makefile.am |
242 |
+@@ -108,9 +108,7 @@ shell_public_headers_h = \ |
243 |
+ shell-generic-container.h \ |
244 |
+ shell-gtk-embed.h \ |
245 |
+ shell-global.h \ |
246 |
+- shell-mobile-providers.h \ |
247 |
+ shell-mount-operation.h \ |
248 |
+- shell-network-agent.h \ |
249 |
+ shell-perf-log.h \ |
250 |
+ shell-slicer.h \ |
251 |
+ shell-stack.h \ |
252 |
+@@ -122,6 +120,11 @@ shell_public_headers_h = \ |
253 |
+ shell-wm.h \ |
254 |
+ shell-xfixes-cursor.h |
255 |
+ |
256 |
++if HAVE_NETWORKMANAGER |
257 |
++shell_public_headers_h += shell-mobile-providers.h shell-network-agent.h |
258 |
++endif |
259 |
++ |
260 |
++ |
261 |
+ libgnome_shell_la_SOURCES = \ |
262 |
+ $(shell_built_sources) \ |
263 |
+ $(shell_public_headers_h) \ |
264 |
+@@ -145,9 +148,7 @@ libgnome_shell_la_SOURCES = \ |
265 |
+ shell-generic-container.c \ |
266 |
+ shell-gtk-embed.c \ |
267 |
+ shell-global.c \ |
268 |
+- shell-mobile-providers.c \ |
269 |
+ shell-mount-operation.c \ |
270 |
+- shell-network-agent.c \ |
271 |
+ shell-perf-log.c \ |
272 |
+ shell-polkit-authentication-agent.h \ |
273 |
+ shell-polkit-authentication-agent.c \ |
274 |
+@@ -161,6 +162,10 @@ libgnome_shell_la_SOURCES = \ |
275 |
+ shell-wm.c \ |
276 |
+ shell-xfixes-cursor.c |
277 |
+ |
278 |
++if HAVE_NETWORKMANAGER |
279 |
++libgnome_shell_la_SOURCES += shell-mobile-providers.c shell-network-agent.c |
280 |
++endif |
281 |
++ |
282 |
+ libgnome_shell_la_gir_sources = \ |
283 |
+ $(filter-out %-private.h $(shell_recorder_non_gir_sources), $(shell_public_headers_h) $(libgnome_shell_la_SOURCES)) |
284 |
+ |
285 |
+@@ -272,7 +277,10 @@ libgnome_shell_la_LIBADD = \ |
286 |
+ libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags) |
287 |
+ |
288 |
+ Shell-0.1.gir: libgnome-shell.la St-1.0.gir |
289 |
+-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 |
290 |
++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 |
291 |
++if HAVE_NETWORKMANAGER |
292 |
++Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0 |
293 |
++endif |
294 |
+ Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir) |
295 |
+ Shell_0_1_gir_LIBS = libgnome-shell.la |
296 |
+ Shell_0_1_gir_FILES = $(libgnome_shell_la_gir_sources) |
297 |
+-- |
298 |
+1.7.8.3 |
299 |
+ |
300 |
|
301 |
diff --git a/gnome-base/gnome-shell/gnome-shell-3.2.2.1.ebuild b/gnome-base/gnome-shell/gnome-shell-3.2.2.1.ebuild |
302 |
new file mode 100644 |
303 |
index 0000000..fb05e89 |
304 |
--- /dev/null |
305 |
+++ b/gnome-base/gnome-shell/gnome-shell-3.2.2.1.ebuild |
306 |
@@ -0,0 +1,193 @@ |
307 |
+# Copyright 1999-2012 Gentoo Foundation |
308 |
+# Distributed under the terms of the GNU General Public License v2 |
309 |
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.2.2.1.ebuild,v 1.3 2012/02/14 04:35:48 tetromino Exp $ |
310 |
+ |
311 |
+EAPI="4" |
312 |
+GCONF_DEBUG="no" |
313 |
+GNOME2_LA_PUNT="yes" |
314 |
+PYTHON_DEPEND="2:2.5" |
315 |
+ |
316 |
+inherit autotools eutils gnome2 multilib pax-utils python |
317 |
+ |
318 |
+DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" |
319 |
+HOMEPAGE="http://live.gnome.org/GnomeShell" |
320 |
+ |
321 |
+SRC_URI="${SRC_URI} |
322 |
+ http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-patches-2.tar.xz" |
323 |
+ |
324 |
+LICENSE="GPL-2" |
325 |
+SLOT="0" |
326 |
+IUSE="+bluetooth +networkmanager" |
327 |
+KEYWORDS="~amd64 ~x86" |
328 |
+ |
329 |
+# gnome-desktop-2.91.2 is needed due to header changes, db82a33 in gnome-desktop |
330 |
+# latest gsettings-desktop-schemas is needed due to commit 602fa1c6 |
331 |
+# latest g-c-c is needed due to https://bugs.gentoo.org/show_bug.cgi?id=360057 |
332 |
+# libXfixes-5.0 needed for pointer barriers |
333 |
+COMMON_DEPEND=">=dev-libs/glib-2.25.9:2 |
334 |
+ >=dev-libs/gjs-1.29.18 |
335 |
+ >=dev-libs/gobject-introspection-0.10.1 |
336 |
+ x11-libs/gdk-pixbuf:2[introspection] |
337 |
+ >=x11-libs/gtk+-3.0.0:3[introspection] |
338 |
+ >=media-libs/clutter-1.7.5:1.0[introspection] |
339 |
+ app-misc/ca-certificates |
340 |
+ >=dev-libs/folks-0.5.2 |
341 |
+ >=dev-libs/json-glib-0.13.2 |
342 |
+ >=gnome-base/gnome-desktop-2.91.2:3 |
343 |
+ >=gnome-base/gsettings-desktop-schemas-2.91.91 |
344 |
+ >=gnome-extra/evolution-data-server-2.91.6 |
345 |
+ >=media-libs/gstreamer-0.10.16:0.10 |
346 |
+ >=media-libs/gst-plugins-base-0.10.16:0.10 |
347 |
+ >=net-im/telepathy-logger-0.2.4[introspection] |
348 |
+ net-libs/libsoup:2.4[introspection] |
349 |
+ >=net-libs/telepathy-glib-0.15.5[introspection] |
350 |
+ >=sys-auth/polkit-0.100[introspection] |
351 |
+ >=x11-wm/mutter-3.2.1[introspection] |
352 |
+ |
353 |
+ dev-libs/dbus-glib |
354 |
+ dev-libs/libxml2:2 |
355 |
+ x11-libs/pango[introspection] |
356 |
+ >=dev-libs/libcroco-0.6.2:0.6 |
357 |
+ |
358 |
+ gnome-base/gconf:2[introspection] |
359 |
+ >=gnome-base/gnome-menus-2.29.10:3[introspection] |
360 |
+ gnome-base/librsvg |
361 |
+ media-libs/libcanberra |
362 |
+ media-sound/pulseaudio |
363 |
+ |
364 |
+ >=x11-libs/startup-notification-0.11 |
365 |
+ x11-libs/libX11 |
366 |
+ >=x11-libs/libXfixes-5.0 |
367 |
+ x11-apps/mesa-progs |
368 |
+ |
369 |
+ bluetooth? ( >=net-wireless/gnome-bluetooth-3.1.0[introspection] ) |
370 |
+ networkmanager? ( |
371 |
+ gnome-base/libgnome-keyring |
372 |
+ >=net-misc/networkmanager-0.8.999[introspection] )" |
373 |
+# Runtime-only deps are probably incomplete and approximate. |
374 |
+# Each block: |
375 |
+# 1. Pull in polkit-0.101 for pretty authorization dialogs |
376 |
+# 2. Introspection stuff + dconf needed via imports.gi.* |
377 |
+# 3. gnome-session is needed for gnome-session-quit |
378 |
+# 4. Control shell settings |
379 |
+# 5. accountsservice is needed for GdmUserManager (0.6.14 needed for fast |
380 |
+# user switching with gdm-3.1.x) |
381 |
+# 6. caribou needed for on-screen keyboard |
382 |
+# 7. xdg-utils needed for xdg-open, used by extension tool |
383 |
+# 8. gnome-icon-theme-symbolic neeed for various icons |
384 |
+# 9. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c |
385 |
+RDEPEND="${COMMON_DEPEND} |
386 |
+ >=sys-auth/polkit-0.101[introspection] |
387 |
+ |
388 |
+ >=gnome-base/dconf-0.4.1 |
389 |
+ >=gnome-base/libgnomekbd-2.91.4[introspection] |
390 |
+ sys-power/upower[introspection] |
391 |
+ |
392 |
+ >=gnome-base/gnome-session-2.91.91 |
393 |
+ |
394 |
+ >=gnome-base/gnome-settings-daemon-2.91 |
395 |
+ >=gnome-base/gnome-control-center-2.91.92-r1 |
396 |
+ |
397 |
+ >=sys-apps/accountsservice-0.6.14[introspection] |
398 |
+ |
399 |
+ >=app-accessibility/caribou-0.3 |
400 |
+ |
401 |
+ x11-misc/xdg-utils |
402 |
+ |
403 |
+ x11-themes/gnome-icon-theme-symbolic |
404 |
+ |
405 |
+ networkmanager? ( |
406 |
+ net-misc/mobile-broadband-provider-info |
407 |
+ sys-libs/timezone-data )" |
408 |
+DEPEND="${COMMON_DEPEND} |
409 |
+ >=sys-devel/gettext-0.17 |
410 |
+ >=dev-util/pkgconfig-0.22 |
411 |
+ >=dev-util/intltool-0.40 |
412 |
+ gnome-base/gnome-common |
413 |
+ !!=dev-lang/spidermonkey-1.8.2*" |
414 |
+# libmozjs.so is picked up from /usr/lib while compiling, so block at build-time |
415 |
+# https://bugs.gentoo.org/show_bug.cgi?id=360413 |
416 |
+ |
417 |
+pkg_setup() { |
418 |
+ DOCS="AUTHORS NEWS README" |
419 |
+ # Don't error out on warnings |
420 |
+ G2CONF="${G2CONF} |
421 |
+ --enable-compile-warnings=maximum |
422 |
+ --disable-schemas-compile |
423 |
+ --disable-jhbuild-wrapper-script |
424 |
+ $(use_with bluetooth) |
425 |
+ $(use_enable networkmanager) |
426 |
+ --with-ca-certificates=${EPREFIX}/etc/ssl/certs/ca-certificates.crt |
427 |
+ BROWSER_PLUGIN_DIR=${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" |
428 |
+ python_set_active_version 2 |
429 |
+ python_pkg_setup |
430 |
+} |
431 |
+ |
432 |
+src_prepare() { |
433 |
+ # Useful patches from git master (not in gnome-3-2 branch yet) |
434 |
+ epatch ../patch/*.patch |
435 |
+ |
436 |
+ # Fix automagic gnome-bluetooth dep, bug #398145 |
437 |
+ epatch "${FILESDIR}/${PN}-3.2.1-automagic-gnome-bluetooth.patch" |
438 |
+ |
439 |
+ # Make networkmanager optional, bug #398593 |
440 |
+ epatch "${FILESDIR}/${PN}-3.2.1-optional-networkmanager.patch" |
441 |
+ |
442 |
+ eautoreconf |
443 |
+ gnome2_src_prepare |
444 |
+ |
445 |
+ # Drop G_DISABLE_DEPRECATED for sanity on glib upgrades; bug #384765 |
446 |
+ # Note: sed Makefile.in because it is generated from several Makefile.ams |
447 |
+ sed -e 's/-DG_DISABLE_DEPRECATED//g' \ |
448 |
+ -i src/Makefile.in browser-plugin/Makefile.in || die "sed failed" |
449 |
+} |
450 |
+ |
451 |
+src_install() { |
452 |
+ gnome2_src_install |
453 |
+ python_convert_shebangs 2 "${ED}/usr/bin/gnome-shell-extension-tool" |
454 |
+ |
455 |
+ # Required for gnome-shell on hardened/PaX, bug #398941 |
456 |
+ pax-mark mr "${ED}usr/bin/gnome-shell" |
457 |
+} |
458 |
+ |
459 |
+pkg_postinst() { |
460 |
+ gnome2_pkg_postinst |
461 |
+ |
462 |
+ if ! has_version '>=media-libs/gst-plugins-good-0.10.23' || \ |
463 |
+ ! has_version 'media-plugins/gst-plugins-vp8'; then |
464 |
+ ewarn "To make use of GNOME Shell's built-in screen recording utility," |
465 |
+ ewarn "you need to either install >=media-libs/gst-plugins-good-0.10.23" |
466 |
+ ewarn "and media-plugins/gst-plugins-vp8, or use dconf-editor to change" |
467 |
+ ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." |
468 |
+ fi |
469 |
+ |
470 |
+ if ! has_version ">=x11-base/xorg-server-1.11"; then |
471 |
+ ewarn "If you use multiple screens, it is highly recommended that you" |
472 |
+ ewarn "upgrade to >=x11-base/xorg-server-1.11 to be able to make use of" |
473 |
+ ewarn "pointer barriers which will make it easier to use hot corners." |
474 |
+ fi |
475 |
+ |
476 |
+ if has_version "<x11-drivers/ati-drivers-12"; then |
477 |
+ ewarn "GNOME Shell has been reported to show graphical corruption under" |
478 |
+ ewarn "x11-drivers/ati-drivers-11.*; you may want to use GNOME in" |
479 |
+ ewarn "fallback mode, or switch to open-source drivers." |
480 |
+ fi |
481 |
+ |
482 |
+ if has_version "media-libs/mesa[video_cards_radeon]"; then |
483 |
+ elog "GNOME Shell is unstable under classic-mode r300/r600 mesa drivers." |
484 |
+ elog "Make sure that gallium architecture for r300 and r600 drivers is" |
485 |
+ elog "selected using 'eselect mesa'." |
486 |
+ if ! has_version "media-libs/mesa[gallium]"; then |
487 |
+ ewarn "You will need to emerge media-libs/mesa with USE=gallium." |
488 |
+ fi |
489 |
+ fi |
490 |
+ |
491 |
+ if has_version "media-libs/mesa[video_cards_intel]"; then |
492 |
+ elog "GNOME Shell is unstable under gallium-mode i915/i965 mesa drivers." |
493 |
+ elog "Make sure that classic architecture for i915 and i965 drivers is" |
494 |
+ elog "selected using 'eselect mesa'." |
495 |
+ if ! has_version "media-libs/mesa[classic]"; then |
496 |
+ ewarn "You will need to emerge media-libs/mesa with USE=classic." |
497 |
+ fi |
498 |
+ fi |
499 |
+} |