diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2013-12-03 00:56:46 +0100 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2013-12-11 00:30:33 +0100 |
commit | 87f1430f36606631d915cccccb2ef6cff34edf03 (patch) | |
tree | 971d4ce58748761348a4b77543881b99dfcf4b37 | |
parent | x11-wm/mutter: 3.8.4 → 3.10.2 (diff) | |
download | gnome-87f1430f36606631d915cccccb2ef6cff34edf03.tar.gz gnome-87f1430f36606631d915cccccb2ef6cff34edf03.tar.bz2 gnome-87f1430f36606631d915cccccb2ef6cff34edf03.zip |
gnome-base/gnome-shell: 3.8.4-r1 → 3.10.2.1
-rw-r--r-- | gnome-base/gnome-shell/Manifest | 11 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-3.10-bluetooth-flag.patch (renamed from gnome-base/gnome-shell/files/gnome-shell-3.5.x-bluetooth-flag.patch) | 30 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-3.10-networkmanager-flag.patch | 228 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch | 222 | ||||
-rw-r--r-- | gnome-base/gnome-shell/files/gnome-shell-defaults.patch | 25 | ||||
-rw-r--r-- | gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild | 221 | ||||
-rw-r--r-- | gnome-base/gnome-shell/gnome-shell-9999.ebuild | 133 | ||||
-rw-r--r-- | gnome-base/gnome-shell/metadata.xml | 8 |
8 files changed, 584 insertions, 294 deletions
diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest new file mode 100644 index 00000000..15549445 --- /dev/null +++ b/gnome-base/gnome-shell/Manifest @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +DIST gnome-shell-3.10.2.1.tar.xz 1518504 SHA256 d28cedc4f7dbcbd979ef2a0b80f722ff507989fce193fe59351b1d048d17c44c SHA512 1440675fd7935d8173318420abd1986eac0d0d3da522a28d99aaf7c32df3fbd0be0356a6b9153ba3132ce15087513c96573cf27a72b34fd3a1af35fbb3792f2c WHIRLPOOL 64f564acc24e70c5691f1816f0a2f860a868782a7b8bb41ff09a3d7e41b6d563fb04cf998dee70583f12c800398836dc930685cede4a0aa32485e7c75178c8a8 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.21 (GNU/Linux) + +iEYEAREKAAYFAlKdHj4ACgkQ1fmVwcYIWAYHxwCgjGaLj1i6V1naHynrQ9xPpP/T +FF8AoLrESGHuUgwKiTF+Ydph1cOOyltk +=tVbA +-----END PGP SIGNATURE----- diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.5.x-bluetooth-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10-bluetooth-flag.patch index b5717548..e74e18f6 100644 --- a/gnome-base/gnome-shell/files/gnome-shell-3.5.x-bluetooth-flag.patch +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10-bluetooth-flag.patch @@ -1,7 +1,7 @@ -From fbc509635dd60d548945636bb4f1cfec5dc7fb49 Mon Sep 17 00:00:00 2001 -From: root <admin@catmur.co.uk> -Date: Sun, 8 Jan 2012 13:55:05 +0000 -Subject: [PATCH 1/2] Fix automagic gnome-bluetooth dependency +From d15e9df8903c05fa0e355b3b1b133171c706d3ac Mon Sep 17 00:00:00 2001 +From: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr> +Date: Thu, 28 Feb 2013 18:48:32 +0330 +Subject: [PATCH 2/3] Make bluetooth support optional https://bugs.gentoo.org/show_bug.cgi?id=398145 @@ -13,23 +13,25 @@ but got totally lost. I'll see if I can work out how to fix the automagic gnome-bluetooth dependency so I can at least merge USE=-bluetooth. --- - configure.ac | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) + configure.ac | 7 +++++++ + 1 file changed, 7 insertions(+) diff --git a/configure.ac b/configure.ac -index 7ab5c59..f3dbdcc 100644 +index 334323a..e749ca6 100644 --- a/configure.ac +++ b/configure.ac -@@ -123,6 +123,8 @@ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0) - PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.5.4) +@@ -116,6 +116,10 @@ PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.4) + PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8) AC_MSG_CHECKING([for bluetooth support]) -+AC_ARG_WITH([bluetooth], AS_HELP_STRING([--without-bluetooth], [Build without gnome-bluetooth library (default: auto)])) ++AC_ARG_WITH([bluetooth], ++ AS_HELP_STRING([--without-bluetooth], ++ [Build without gnome-bluetooth library (default: auto)])) +AS_IF([test "x$with_bluetooth" != "xno"], [ - PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], + PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.9.0], [BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0` BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0` -@@ -135,6 +137,9 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], +@@ -128,6 +132,9 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.9.0], [AC_DEFINE([HAVE_BLUETOOTH],[0]) AC_SUBST([HAVE_BLUETOOTH],[0]) AC_MSG_RESULT([no])]) @@ -37,8 +39,8 @@ index 7ab5c59..f3dbdcc 100644 + AC_SUBST([HAVE_BLUETOOTH],[0]) + AC_MSG_RESULT([no])]) - 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) + PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION gio-2.0) AC_SUBST(CALENDAR_SERVER_CFLAGS) -- -1.7.8.6 +1.8.5.1 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10-networkmanager-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10-networkmanager-flag.patch new file mode 100644 index 00000000..4e28835f --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10-networkmanager-flag.patch @@ -0,0 +1,228 @@ +From 2ca59eb6e8ca9ba76757ede04e734c743aa21769 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Tue, 10 Dec 2013 23:37:08 +0100 +Subject: [PATCH 3/3] Make networkmanager support optional + + * 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 | 46 ++++++++++++++++++++++++++++++++++++++++++++-- + js/Makefile.am | 1 + + js/misc/config.js.in | 2 ++ + js/ui/panel.js | 15 ++++++++++++--- + js/ui/sessionMode.js | 7 ++++++- + src/Makefile.am | 12 +++++++++--- + 6 files changed, 74 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e749ca6..5044302 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -91,8 +91,6 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION + libcanberra libcanberra-gtk3 + telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION + polkit-agent-1 >= $POLKIT_MIN_VERSION +- libnm-glib libnm-util >= $NETWORKMANAGER_MIN_VERSION +- libnm-gtk >= $NETWORKMANAGER_MIN_VERSION + libsecret-unstable gcr-base-3 >= $GCR_MIN_VERSION" + + PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) +@@ -169,6 +167,38 @@ if test "$langinfo_ok" = "yes"; then + [Define if _NL_TIME_FIRST_WEEKDAY is available]) + fi + ++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 >= $NETWORKMANAGER_MIN_VERSION ++ libnm-gtk >= $NETWORKMANAGER_MIN_VERSION ++ 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") ++ + # Sets GLIB_GENMARSHAL and GLIB_MKENUMS + AM_PATH_GLIB_2_0() + +@@ -210,3 +240,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 d614f4f..88a3887 100644 +--- a/js/Makefile.am ++++ b/js/Makefile.am +@@ -8,6 +8,7 @@ misc/config.js: misc/config.js.in Makefile + sed -e "s|[@]PACKAGE_NAME@|$(PACKAGE_NAME)|g" \ + -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ + -e "s|[@]HAVE_BLUETOOTH@|$(HAVE_BLUETOOTH)|g" \ ++ -e "s|[@]HAVE_NETWORKMANAGER@|$(HAVE_NETWORKMANAGER)|g" \ + -e "s|[@]GETTEXT_PACKAGE@|$(GETTEXT_PACKAGE)|g" \ + -e "s|[@]datadir@|$(datadir)|g" \ + -e "s|[@]libexecdir@|$(libexecdir)|g" \ +diff --git a/js/misc/config.js.in b/js/misc/config.js.in +index 9769104..9c4795d 100644 +--- a/js/misc/config.js.in ++++ b/js/misc/config.js.in +@@ -6,6 +6,8 @@ const PACKAGE_NAME = '@PACKAGE_NAME@'; + const PACKAGE_VERSION = '@PACKAGE_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@; + /* gettext package */ + const GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@'; + /* locale dir */ +diff --git a/js/ui/panel.js b/js/ui/panel.js +index 2337a63..17e4f10 100644 +--- a/js/ui/panel.js ++++ b/js/ui/panel.js +@@ -809,7 +809,12 @@ const AggregateMenu = new Lang.Class({ + this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' }); + this.actor.add_child(this._indicators); + +- this._network = new imports.ui.status.network.NMApplet(); ++ if (Config.HAVE_NETWORKMANAGER) { ++ this._network = new imports.ui.status.network.NMApplet(); ++ } else { ++ this._network = null; ++ } ++ + if (Config.HAVE_BLUETOOTH) { + this._bluetooth = new imports.ui.status.bluetooth.Indicator(); + } else { +@@ -824,7 +829,9 @@ const AggregateMenu = new Lang.Class({ + this._screencast = new imports.ui.status.screencast.Indicator(); + + this._indicators.add_child(this._screencast.indicators); +- this._indicators.add_child(this._network.indicators); ++ if (this._network) { ++ this._indicators.add_child(this._network.indicators); ++ } + if (this._bluetooth) { + this._indicators.add_child(this._bluetooth.indicators); + } +@@ -836,7 +843,9 @@ const AggregateMenu = new Lang.Class({ + this.menu.addMenuItem(this._volume.menu); + this.menu.addMenuItem(this._brightness.menu); + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); +- this.menu.addMenuItem(this._network.menu); ++ if (this._network) { ++ this.menu.addMenuItem(this._network.menu); ++ } + if (this._bluetooth) { + this.menu.addMenuItem(this._bluetooth.menu); + } +diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js +index eb04c62..b882364 100644 +--- a/js/ui/sessionMode.js ++++ b/js/ui/sessionMode.js +@@ -10,6 +10,8 @@ const FileUtils = imports.misc.fileUtils; + const Main = imports.ui.main; + const Params = imports.misc.params; + ++const Config = imports.misc.config; ++ + const DEFAULT_MODE = 'restrictive'; + + const _modes = { +@@ -92,7 +94,10 @@ const _modes = { + isLocked: false, + isPrimary: true, + unlockDialog: imports.ui.unlockDialog.UnlockDialog, +- components: ['networkAgent', 'polkitAgent', 'telepathyClient', ++ components: Config.HAVE_NETWORKMANAGER ? ++ ['networkAgent', 'polkitAgent', 'telepathyClient', ++ 'keyring', 'autorunManager', 'automountManager'] : ++ ['polkitAgent', 'telepathyClient', + 'keyring', 'autorunManager', 'automountManager'], + panel: { + left: ['activities', 'appMenu'], +diff --git a/src/Makefile.am b/src/Makefile.am +index 8041052..b5da6aa 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -103,7 +103,6 @@ shell_public_headers_h = \ + shell-invert-lightness-effect.h \ + shell-keybinding-modes.h \ + shell-mount-operation.h \ +- shell-network-agent.h \ + shell-perf-log.h \ + shell-screenshot.h \ + shell-slicer.h \ +@@ -140,7 +139,6 @@ libgnome_shell_base_la_SOURCES = \ + shell-menu-tracker.c \ + shell-menu-tracker.h \ + shell-mount-operation.c \ +- shell-network-agent.c \ + shell-perf-log.c \ + shell-polkit-authentication-agent.h \ + shell-polkit-authentication-agent.c \ +@@ -175,6 +173,11 @@ libgnome_shell_sources = \ + + libgnome_shell_la_SOURCES = $(libgnome_shell_sources) + ++if HAVE_NETWORKMANAGER ++libgnome_shell_la_SOURCES += shell-network-agent.c ++shell_public_headers_h += shell-network-agent.h ++endif ++ + libgnome_shell_la_gir_sources = \ + $(filter-out %-private.h $(shell_private_sources), $(shell_public_headers_h) $(libgnome_shell_base_la_SOURCES) $(libgnome_shell_sources)) + +@@ -331,7 +334,10 @@ INTROSPECTION_GIRS += ShellMenu-0.1.gir + CLEANFILES += ShellMenu-0.1.gir + + Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir +-Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 Soup-2.4 GMenu-3.0 NetworkManager-1.0 NMClient-1.0 ++Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 Soup-2.4 GMenu-3.0 ++if HAVE_NETWORKMANAGER ++Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0 ++endif HAVE_NETWORKMANAGER + Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir) + # Hack! we use PROGRAM instead of LIBS so that the soname is not included + # in the typelib. This way the symbols will be resolved with the libgnome-shell +-- +1.8.5.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch deleted file mode 100644 index c996cc00..00000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch +++ /dev/null @@ -1,222 +0,0 @@ -From da0912a522f80a72db5b73504dc82941067880b2 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/panel.js | 12 +++++++----- - js/ui/sessionMode.js | 7 ++++++- - src/Makefile.am | 17 ++++++++++++----- - 6 files changed, 74 insertions(+), 12 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e6ac88c..3ff8777 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -96,10 +96,43 @@ 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 - gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_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) -@@ -260,3 +293,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 a3e4917..4b00193 100644 ---- a/js/Makefile.am -+++ b/js/Makefile.am -@@ -8,6 +8,7 @@ misc/config.js: misc/config.js.in Makefile - sed -e "s|[@]PACKAGE_NAME@|$(PACKAGE_NAME)|g" \ - -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ - -e "s|[@]HAVE_BLUETOOTH@|$(HAVE_BLUETOOTH)|g" \ -+ -e "s|[@]HAVE_NETWORKMANAGER@|$(HAVE_NETWORKMANAGER)|g" \ - -e "s|[@]GETTEXT_PACKAGE@|$(GETTEXT_PACKAGE)|g" \ - -e "s|[@]datadir@|$(datadir)|g" \ - -e "s|[@]libexecdir@|$(libexecdir)|g" \ -diff --git a/js/misc/config.js.in b/js/misc/config.js.in -index 9769104..9c4795d 100644 ---- a/js/misc/config.js.in -+++ b/js/misc/config.js.in -@@ -6,6 +6,8 @@ const PACKAGE_NAME = '@PACKAGE_NAME@'; - const PACKAGE_VERSION = '@PACKAGE_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@; - /* gettext package */ - const GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@'; - /* locale dir */ -diff --git a/js/ui/panel.js b/js/ui/panel.js -index bcbaafb..40c6ff9 100644 ---- a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -910,11 +910,13 @@ if (Config.HAVE_BLUETOOTH) - PANEL_ITEM_IMPLEMENTATIONS['bluetooth'] = - imports.ui.status.bluetooth.Indicator; - --try { -- PANEL_ITEM_IMPLEMENTATIONS['network'] = -- imports.ui.status.network.NMApplet; --} catch(e) { -- log('NMApplet is not supported. It is possible that your NetworkManager version is too old'); -+if (Config.HAVE_NETWORKMANAGER) { -+ try { -+ PANEL_ITEM_IMPLEMENTATIONS['network'] = -+ imports.ui.status.network.NMApplet; -+ } catch(e) { -+ log('NMApplet is not supported. It is possible that your NetworkManager version is too old'); -+ } - } - - const Panel = new Lang.Class({ -diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js -index 808109a..7ee6b1e 100644 ---- a/js/ui/sessionMode.js -+++ b/js/ui/sessionMode.js -@@ -6,6 +6,8 @@ const Signals = imports.signals; - const Main = imports.ui.main; - const Params = imports.misc.params; - -+const Config = imports.misc.config; -+ - const DEFAULT_MODE = 'restrictive'; - - const _modes = { -@@ -91,7 +93,10 @@ const _modes = { - isLocked: false, - isPrimary: true, - unlockDialog: imports.ui.unlockDialog.UnlockDialog, -- components: ['networkAgent', 'polkitAgent', 'telepathyClient', -+ components: Config.HAVE_NETWORKMANAGER ? -+ ['networkAgent', 'polkitAgent', 'telepathyClient', -+ 'keyring', 'recorder', 'autorunManager', 'automountManager'] : -+ ['polkitAgent', 'telepathyClient', - 'keyring', 'recorder', 'autorunManager', 'automountManager'], - panel: { - left: ['activities', 'appMenu'], -diff --git a/src/Makefile.am b/src/Makefile.am -index a390691..552b640 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -115,9 +115,7 @@ shell_public_headers_h = \ - shell-global.h \ - shell-idle-monitor.h \ - shell-invert-lightness-effect.h \ -- shell-mobile-providers.h \ - shell-mount-operation.h \ -- shell-network-agent.h \ - shell-perf-log.h \ - shell-screenshot.h \ - shell-screen-grabber.h \ -@@ -131,6 +129,10 @@ shell_public_headers_h = \ - shell-wm.h \ - shell-xfixes-cursor.h - -+if HAVE_NETWORKMANAGER -+shell_public_headers_h += shell-mobile-providers.h shell-network-agent.h -+endif -+ - shell_private_sources = \ - gactionmuxer.h \ - gactionmuxer.c \ -@@ -162,9 +164,7 @@ libgnome_shell_la_SOURCES = \ - shell-invert-lightness-effect.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 \ -@@ -183,6 +183,10 @@ libgnome_shell_la_SOURCES = \ - shell-xfixes-cursor.c \ - $(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 -+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 -+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.12 - diff --git a/gnome-base/gnome-shell/files/gnome-shell-defaults.patch b/gnome-base/gnome-shell/files/gnome-shell-defaults.patch new file mode 100644 index 00000000..80634c10 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-defaults.patch @@ -0,0 +1,25 @@ +From 4fd7696fc9f392a11b91fa3fc7fe14ac7734ee62 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Tue, 10 Dec 2013 23:33:51 +0100 +Subject: [PATCH 1/3] Alter list of default applications + +--- + data/org.gnome.shell.gschema.xml.in.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/org.gnome.shell.gschema.xml.in.in b/data/org.gnome.shell.gschema.xml.in.in +index dc27e47..e8de0ed 100644 +--- a/data/org.gnome.shell.gschema.xml.in.in ++++ b/data/org.gnome.shell.gschema.xml.in.in +@@ -22,7 +22,7 @@ + </_description> + </key> + <key name="favorite-apps" type="as"> +- <default>[ 'epiphany.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop' ]</default> ++ <default>[ 'chromium-browser-chromium.desktop', 'firefox.desktop', 'firefox-bin.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop' ]</default> + <_summary>List of desktop file IDs for favorite applications</_summary> + <_description> + The applications corresponding to these identifiers +-- +1.8.5.1 + diff --git a/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild b/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild new file mode 100644 index 00000000..a86ab1fd --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python2_{6,7} ) + +inherit autotools eutils gnome2 multilib pax-utils python-r1 systemd + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="http://live.gnome.org/GnomeShell" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +i18n +networkmanager -openrc-force" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86" + +# libXfixes-5.0 needed for pointer barriers +# FIXME: +# * gstreamer support is currently automagic +# * mutter/mutter-wayland support is automagic +# +# gnome-shell/gnome-control-center/mutter/gnome-settings-daemon better to be in sync for 3.8.3 +# https://mail.gnome.org/archives/gnome-announce-list/2013-June/msg00005.html +COMMON_DEPEND=" + app-crypt/libsecret + >=app-accessibility/at-spi2-atk-2.5.3 + >=dev-libs/atk-2[introspection] + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.37:2 + >=dev-libs/gjs-1.38.1 + >=dev-libs/gobject-introspection-0.10.1 + >=x11-libs/gtk+-3.7.9:3[introspection] + >=media-libs/clutter-1.13.4:1.0[introspection] + >=dev-libs/json-glib-0.13.2 + >=dev-libs/libcroco-0.6.8:0.6 + >=gnome-base/gnome-desktop-3.7.90:3=[introspection] + >=gnome-base/gsettings-desktop-schemas-3.7.4 + >=gnome-base/gnome-keyring-3.3.90 + >=gnome-base/gnome-menus-3.5.3:3[introspection] + gnome-base/libgnome-keyring + >=gnome-extra/evolution-data-server-3.5.3:= + >=media-libs/gstreamer-0.11.92:1.0 + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] + >=sys-auth/polkit-0.100[introspection] + >=x11-libs/libXfixes-5.0 + x11-libs/libXtst + >=x11-wm/mutter-3.10.1[introspection] + >=x11-libs/startup-notification-0.11 + + ${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + + dev-libs/dbus-glib + dev-libs/libxml2:2 + gnome-base/librsvg + media-libs/libcanberra[gtk3] + media-libs/mesa + >=media-sound/pulseaudio-2 + >=net-libs/libsoup-2.40:2.4[introspection] + x11-libs/libX11 + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/pango[introspection] + x11-apps/mesa-progs + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + networkmanager? ( >=net-misc/networkmanager-0.9.8[introspection] ) +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Pull in polkit-0.101 for pretty authorization dialogs +# 2. Introspection stuff needed via imports.gi.* +# 3. gnome-session is needed for gnome-session-quit +# 4. Control shell settings +# 5. Systemd needed for suspending support +# 6. xdg-utils needed for xdg-open, used by extension tool +# 7. gnome-icon-theme-symbolic and dejavu font neeed for various icons & arrows +# 8. IBus is needed for i18n integration +# 9. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c +RDEPEND="${COMMON_DEPEND} + >=sys-auth/polkit-0.101[introspection] + + >=app-accessibility/caribou-0.4.8 + >=gnome-base/gdm-3.5[introspection] + >=gnome-base/libgnomekbd-2.91.4[introspection] + media-libs/cogl[introspection] + >=sys-apps/accountsservice-0.6.14[introspection] + sys-power/upower[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + >=gnome-base/gnome-control-center-3.8.3[bluetooth(+)?] + + !openrc-force? ( >=sys-apps/systemd-31 ) + + x11-misc/xdg-utils + + media-fonts/dejavu + x11-themes/gnome-icon-theme-symbolic + + i18n? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk3,introspection] ) + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/libxslt + >=dev-util/gtk-doc-am-1.17 + >=dev-util/intltool-0.40 + gnome-base/gnome-common + virtual/pkgconfig + !!=dev-lang/spidermonkey-1.8.2* +" +# libmozjs.so is picked up from /usr/lib while compiling, so block at build-time +# https://bugs.gentoo.org/show_bug.cgi?id=360413 + +src_prepare() { + # Change favorites defaults, bug #479918 + epatch "${FILESDIR}/${PN}-defaults.patch" + + # Fix automagic gnome-bluetooth dep, bug #398145 + epatch "${FILESDIR}/${PN}-3.10-bluetooth-flag.patch" + + # Make networkmanager optional, bug #398593 + epatch "${FILESDIR}/${PN}-3.10-networkmanager-flag.patch" + + epatch_user + + eautoreconf + gnome2_src_prepare +} + +src_configure() { + # Do not error out on warnings + gnome2_src_configure \ + --enable-man \ + --disable-jhbuild-wrapper-script \ + $(use_with bluetooth) \ + $(use_enable networkmanager) \ + BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins +} + +src_install() { + gnome2_src_install + python_replicate_script "${ED}/usr/bin/gnome-shell-extension-tool" + python_replicate_script "${ED}/usr/bin/gnome-shell-perf-tool" + + # Required for gnome-shell on hardened/PaX, bug #398941 + # Future-proof for >=spidermonkey-1.8.7 following polkit's example + if has_version '<dev-lang/spidermonkey-1.8.7'; then + pax-mark mr "${ED}usr/bin/gnome-shell" + elif has_version '>=dev-lang/spidermonkey-1.8.7[jit]'; then + pax-mark m "${ED}usr/bin/gnome-shell" + fi + # Required for gnome-shell on hardened/PaX #457146 and #457194 + # PaX EMUTRAMP need to be on + if has_version '>=dev-libs/libffi-3.0.13[pax_kernel]'; then + pax-mark E "${ED}usr/bin/gnome-shell" + fi +} + +pkg_postinst() { + gnome2_pkg_postinst + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if ! has_version ">=x11-base/xorg-server-1.11"; then + ewarn "If you use multiple screens, it is highly recommended that you" + ewarn "upgrade to >=x11-base/xorg-server-1.11 to be able to make use of" + ewarn "pointer barriers which will make it easier to use hot corners." + fi + + if has_version "<x11-drivers/ati-drivers-12"; then + ewarn "GNOME Shell has been reported to show graphical corruption under" + ewarn "x11-drivers/ati-drivers-11.*; you may want to switch to open-source" + ewarn "drivers." + fi + + if has_version "media-libs/mesa[video_cards_radeon]" || + has_version "media-libs/mesa[video_cards_r300]" || + has_version "media-libs/mesa[video_cards_r600]"; then + elog "GNOME Shell is unstable under classic-mode r300/r600 mesa drivers." + elog "Make sure that gallium architecture for r300 and r600 drivers is" + elog "selected using 'eselect mesa'." + if ! has_version "media-libs/mesa[gallium]"; then + ewarn "You will need to emerge media-libs/mesa with USE=gallium." + fi + fi + + if ! has_version "media-libs/mesa[llvm]"; then + elog "llvmpipe is used as fallback when no 3D acceleration" + elog "is available. You will need to enable llvm USE for" + elog "media-libs/mesa." + fi + + if ! systemd_is_booted; then + ewarn "${PN} needs Systemd to be *running* for working" + ewarn "properly. Please follow this guide to migrate:" + ewarn "http://wiki.gentoo.org/wiki/Systemd" + fi + + if use openrc-force; then + ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement," + ewarn "this can lead to unexpected problems and is not supported neither by" + ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem," + ewarn "you will need to disable this USE flag system wide and retest before" + ewarn "opening any bug report." + fi +} diff --git a/gnome-base/gnome-shell/gnome-shell-9999.ebuild b/gnome-base/gnome-shell/gnome-shell-9999.ebuild index 43a95717..7a154ed8 100644 --- a/gnome-base/gnome-shell/gnome-shell-9999.ebuild +++ b/gnome-base/gnome-shell/gnome-shell-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ @@ -7,7 +7,7 @@ GCONF_DEBUG="no" GNOME2_LA_PUNT="yes" PYTHON_COMPAT=( python2_{6,7} ) -inherit autotools eutils gnome2 multilib pax-utils python-r1 +inherit autotools eutils gnome2 multilib pax-utils python-r1 systemd if [[ ${PV} = 9999 ]]; then inherit gnome2-live fi @@ -17,29 +17,35 @@ HOMEPAGE="http://live.gnome.org/GnomeShell" LICENSE="GPL-2+ LGPL-2+" SLOT="0" -IUSE="+bluetooth +i18n +networkmanager systemd" +IUSE="+bluetooth +i18n +networkmanager -openrc-force" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" if [[ ${PV} = 9999 ]]; then KEYWORDS="" else - KEYWORDS="~amd64 ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86" fi # libXfixes-5.0 needed for pointer barriers -# TODO: gstreamer support is currently automagical: -# gstreamer? ( >=media-libs/gstreamer-0.11.92 ) +# FIXME: +# * gstreamer support is currently automagic +# * mutter/mutter-wayland support is automagic +# +# gnome-shell/gnome-control-center/mutter/gnome-settings-daemon better to be in sync for 3.8.3 +# https://mail.gnome.org/archives/gnome-announce-list/2013-June/msg00005.html COMMON_DEPEND=" + app-crypt/libsecret >=app-accessibility/at-spi2-atk-2.5.3 >=dev-libs/atk-2[introspection] - >=app-crypt/gcr-3.3.90[introspection] - >=dev-libs/glib-2.31.6:2 - >=dev-libs/gjs-1.33.2 + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.37:2 + >=dev-libs/gjs-1.38.1 >=dev-libs/gobject-introspection-0.10.1 - >=x11-libs/gtk+-3.3.9:3[introspection] - >=media-libs/clutter-1.11.11:1.0[introspection] + >=x11-libs/gtk+-3.7.9:3[introspection] + >=media-libs/clutter-1.13.4:1.0[introspection] >=dev-libs/json-glib-0.13.2 - >=dev-libs/libcroco-0.6.2:0.6 - >=gnome-base/gnome-desktop-3.5.1:3=[introspection] - >=gnome-base/gsettings-desktop-schemas-3.5.4 + >=dev-libs/libcroco-0.6.8:0.6 + >=gnome-base/gnome-desktop-3.7.90:3=[introspection] + >=gnome-base/gsettings-desktop-schemas-3.7.4 >=gnome-base/gnome-keyring-3.3.90 >=gnome-base/gnome-menus-3.5.3:3[introspection] gnome-base/libgnome-keyring @@ -49,7 +55,8 @@ COMMON_DEPEND=" >=net-libs/telepathy-glib-0.19[introspection] >=sys-auth/polkit-0.100[introspection] >=x11-libs/libXfixes-5.0 - >=x11-wm/mutter-${PV}[introspection] + x11-libs/libXtst + >=x11-wm/mutter-3.10.1[introspection] >=x11-libs/startup-notification-0.11 ${PYTHON_DEPS} @@ -58,18 +65,17 @@ COMMON_DEPEND=" dev-libs/dbus-glib dev-libs/libxml2:2 gnome-base/librsvg - media-libs/libcanberra + media-libs/libcanberra[gtk3] media-libs/mesa - media-sound/pulseaudio - net-libs/libsoup:2.4[introspection] + >=media-sound/pulseaudio-2 + >=net-libs/libsoup-2.40:2.4[introspection] x11-libs/libX11 x11-libs/gdk-pixbuf:2[introspection] x11-libs/pango[introspection] x11-apps/mesa-progs - bluetooth? ( >=net-wireless/gnome-bluetooth-3.5[introspection] ) - networkmanager? ( >=net-misc/networkmanager-0.8.999[introspection] ) - systemd? ( >=sys-apps/systemd-31 ) + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + networkmanager? ( >=net-misc/networkmanager-0.9.8[introspection] ) " # Runtime-only deps are probably incomplete and approximate. # Introspection deps generated using: @@ -79,14 +85,15 @@ COMMON_DEPEND=" # 2. Introspection stuff needed via imports.gi.* # 3. gnome-session is needed for gnome-session-quit # 4. Control shell settings -# 5. xdg-utils needed for xdg-open, used by extension tool -# 6. gnome-icon-theme-symbolic and dejavu font neeed for various icons & arrows -# 7. IBus is needed for i18n integration -# 8. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c +# 5. Systemd needed for suspending support +# 6. xdg-utils needed for xdg-open, used by extension tool +# 7. gnome-icon-theme-symbolic and dejavu font neeed for various icons & arrows +# 8. IBus is needed for i18n integration +# 9. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c RDEPEND="${COMMON_DEPEND} >=sys-auth/polkit-0.101[introspection] - >=app-accessibility/caribou-0.3 + >=app-accessibility/caribou-0.4.8 >=gnome-base/gdm-3.5[introspection] >=gnome-base/libgnomekbd-2.91.4[introspection] media-libs/cogl[introspection] @@ -94,38 +101,43 @@ RDEPEND="${COMMON_DEPEND} sys-power/upower[introspection] >=gnome-base/gnome-session-2.91.91 - >=gnome-base/gnome-settings-daemon-2.91 - >=gnome-base/gnome-control-center-2.91.92-r1[bluetooth(+)?] + >=gnome-base/gnome-settings-daemon-3.8.3 + >=gnome-base/gnome-control-center-3.8.3[bluetooth(+)?] + + !openrc-force? ( >=sys-apps/systemd-31 ) x11-misc/xdg-utils media-fonts/dejavu x11-themes/gnome-icon-theme-symbolic - i18n? ( >=app-i18n/ibus-1.4.99[dconf,gtk3,introspection] ) + i18n? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk3,introspection] ) networkmanager? ( net-misc/mobile-broadband-provider-info sys-libs/timezone-data ) - - !systemd? ( sys-auth/consolekit ) " DEPEND="${COMMON_DEPEND} dev-libs/libxslt >=dev-util/gtk-doc-am-1.17 >=dev-util/intltool-0.40 gnome-base/gnome-common - >=sys-devel/gettext-0.17 virtual/pkgconfig - !!=dev-lang/spidermonkey-1.8.2*" + !!=dev-lang/spidermonkey-1.8.2* +" # libmozjs.so is picked up from /usr/lib while compiling, so block at build-time # https://bugs.gentoo.org/show_bug.cgi?id=360413 src_prepare() { + # Change favorites defaults, bug #479918 + epatch "${FILESDIR}/${PN}-defaults.patch" + # Fix automagic gnome-bluetooth dep, bug #398145 - epatch "${FILESDIR}/${PN}-3.5.x-bluetooth-flag.patch" + epatch "${FILESDIR}/${PN}-3.10-bluetooth-flag.patch" # Make networkmanager optional, bug #398593 - epatch "${FILESDIR}/${PN}-3.6.0-networkmanager-flag.patch" + epatch "${FILESDIR}/${PN}-3.10-networkmanager-flag.patch" + + epatch_user [[ ${PV} != 9999 ]] && eautoreconf gnome2_src_prepare @@ -133,15 +145,12 @@ src_prepare() { src_configure() { # Do not error out on warnings - G2CONF="${G2CONF} - --enable-man - --enable-compile-warnings=maximum - --disable-jhbuild-wrapper-script - $(use_with bluetooth) - $(use_enable networkmanager) - $(use_with systemd) - BROWSER_PLUGIN_DIR=${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" - gnome2_src_configure + gnome2_src_configure \ + --enable-man \ + --disable-jhbuild-wrapper-script \ + $(use_with bluetooth) \ + $(use_enable networkmanager) \ + BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins } src_install() { @@ -156,6 +165,11 @@ src_install() { elif has_version '>=dev-lang/spidermonkey-1.8.7[jit]'; then pax-mark m "${ED}usr/bin/gnome-shell" fi + # Required for gnome-shell on hardened/PaX #457146 and #457194 + # PaX EMUTRAMP need to be on + if has_version '>=dev-libs/libffi-3.0.13[pax_kernel]'; then + pax-mark E "${ED}usr/bin/gnome-shell" + fi } pkg_postinst() { @@ -177,8 +191,8 @@ pkg_postinst() { if has_version "<x11-drivers/ati-drivers-12"; then ewarn "GNOME Shell has been reported to show graphical corruption under" - ewarn "x11-drivers/ati-drivers-11.*; you may want to use GNOME in" - ewarn "fallback mode, or switch to open-source drivers." + ewarn "x11-drivers/ati-drivers-11.*; you may want to switch to open-source" + ewarn "drivers." fi if has_version "media-libs/mesa[video_cards_radeon]" || @@ -192,14 +206,23 @@ pkg_postinst() { fi fi - if has_version "media-libs/mesa[video_cards_intel]" || - has_version "media-libs/mesa[video_cards_i915]" || - has_version "media-libs/mesa[video_cards_i965]"; then - elog "GNOME Shell is unstable under gallium-mode i915/i965 mesa drivers." - elog "Make sure that classic architecture for i915 and i965 drivers is" - elog "selected using 'eselect mesa'." - if ! has_version "media-libs/mesa[classic]"; then - ewarn "You will need to emerge media-libs/mesa with USE=classic." - fi + if ! has_version "media-libs/mesa[llvm]"; then + elog "llvmpipe is used as fallback when no 3D acceleration" + elog "is available. You will need to enable llvm USE for" + elog "media-libs/mesa." + fi + + if ! systemd_is_booted; then + ewarn "${PN} needs Systemd to be *running* for working" + ewarn "properly. Please follow this guide to migrate:" + ewarn "http://wiki.gentoo.org/wiki/Systemd" + fi + + if use openrc-force; then + ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement," + ewarn "this can lead to unexpected problems and is not supported neither by" + ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem," + ewarn "you will need to disable this USE flag system wide and retest before" + ewarn "opening any bug report." fi } diff --git a/gnome-base/gnome-shell/metadata.xml b/gnome-base/gnome-shell/metadata.xml index 68a012a9..c2ad0702 100644 --- a/gnome-base/gnome-shell/metadata.xml +++ b/gnome-base/gnome-shell/metadata.xml @@ -4,8 +4,10 @@ <herd>gnome</herd> <use> <flag name="i18n">Enable support for enhanced input methods through - <pkg>app-i18n/ibus</pkg></flag> - <flag name="systemd">Use <pkg>sys-apps/systemd</pkg> instead of - <pkg>sys-auth/consolekit</pkg> for session tracking</flag> + <pkg>app-i18n/ibus</pkg></flag> + <flag name="openrc-force">Skip systemd dependency (#480336), + enabling this flag will become your setup to be fully + unsupported by upstream and downstream Gnome team. Do not + try to enable it unless completely needed</flag> </use> </pkgmetadata> |