Gentoo Archives: gentoo-commits

From: Stephen Klimaszewski <steev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/steev:master commit in: gnome-base/gnome-shell/, gnome-base/gnome-shell/files/
Date: Mon, 02 Apr 2012 04:09:23
Message-Id: 1333172342.b7bee4969aacb3345e73cffe176f5fff1b784031.steev@gentoo
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 +}