diff options
author | Pacho Ramos <pacho@gentoo.org> | 2014-04-12 09:35:42 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2014-04-12 09:35:42 +0000 |
commit | 8566a85da17ab375b4edac7eeff63e163e630421 (patch) | |
tree | 49b724a54d0060c4c1657cdfaa1163b83ded3308 /gnome-base/gnome-shell | |
parent | Apply multiple upstream fixes from 3.10 and master branches (this includes th... (diff) | |
download | gentoo-2-8566a85da17ab375b4edac7eeff63e163e630421.tar.gz gentoo-2-8566a85da17ab375b4edac7eeff63e163e630421.tar.bz2 gentoo-2-8566a85da17ab375b4edac7eeff63e163e630421.zip |
Apply multiple upstream fixes from 3.10 and master branches (this includes the re-addition of wired connection indicator, bug #507400 by Alexi Yelistratov). Drop old.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'gnome-base/gnome-shell')
20 files changed, 519 insertions, 1684 deletions
diff --git a/gnome-base/gnome-shell/ChangeLog b/gnome-base/gnome-shell/ChangeLog index 0727f11acdb6..21e0551c86a0 100644 --- a/gnome-base/gnome-shell/ChangeLog +++ b/gnome-base/gnome-shell/ChangeLog @@ -1,6 +1,30 @@ # ChangeLog for gnome-base/gnome-shell # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.71 2014/03/16 10:55:04 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.72 2014/04/12 09:35:41 pacho Exp $ + +*gnome-shell-3.10.4-r2 (12 Apr 2014) + + 12 Apr 2014; Pacho Ramos <pacho@gentoo.org> + +files/gnome-shell-3.10.4-activate-workspace.patch, + +files/gnome-shell-3.10.4-broken-crosshairs.patch, + +files/gnome-shell-3.10.4-restore-pref.patch, + +files/gnome-shell-3.10.4-scale-factor.patch, + +files/gnome-shell-3.10.4-wired-network.patch, +gnome-shell-3.10.4-r2.ebuild, + -files/gnome-shell-3.6.0-networkmanager-flag.patch, + -files/gnome-shell-3.7.90-bluetooth-flag.patch, + -files/gnome-shell-3.8.0-networkmanager-flag-r1.patch, + -files/gnome-shell-3.8.3-networkmanager-flag.patch, + -files/gnome-shell-3.8.3-relock-screen.patch, + -files/gnome-shell-3.8.4-allocate-scrollbars.patch, + -files/gnome-shell-3.8.4-close-rundialog.patch, + -files/gnome-shell-3.8.4-events-lock.patch, + -files/gnome-shell-3.8.4-nodisplay.patch, + -files/gnome-shell-3.8.4-reset-opacity.patch, + -files/gnome-shell-3.8.4-revert-async.patch, -gnome-shell-3.10.3.ebuild, + -gnome-shell-3.10.4.ebuild, -gnome-shell-3.8.4-r2.ebuild: + Apply multiple upstream fixes from 3.10 and master branches (this includes the + re-addition of wired connection indicator, bug #507400 by Alexi Yelistratov). + Drop old. 16 Mar 2014; Pacho Ramos <pacho@gentoo.org> gnome-shell-3.10.4-r1.ebuild: amd64 stable, bug #503952 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10.4-activate-workspace.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-activate-workspace.patch new file mode 100644 index 000000000000..03277977bc69 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-activate-workspace.patch @@ -0,0 +1,41 @@ +From 0dab133fe578b3b12241ce6f01b58bc755088da8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> +Date: Mon, 30 Sep 2013 19:55:26 +0200 +Subject: windowManager: Activate new workspace before removing the current one + +When removing the current workspace, the active workspace is changed +to the preceding one automatically before we change explicitly to the +last workspace. There is no good reason to change workspaces twice in +this case, we can avoid the first one just by changing to the new +workspace before removing any workspaces. + +https://bugzilla.gnome.org/show_bug.cgi?id=709064 + +diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js +index 75be4c5..31b7d2d 100644 +--- a/js/ui/windowManager.js ++++ b/js/ui/windowManager.js +@@ -254,6 +254,8 @@ const WorkspaceTracker = new Lang.Class({ + if (removingCurrentWorkspace) { + // "Merge" the empty workspace we are removing with the one at the end + this._wm.blockAnimations(); ++ global.screen.get_workspace_by_index(global.screen.n_workspaces - 1).activate(global.get_current_time()); ++ this._wm.unblockAnimations(); + } + + // Delete other empty workspaces; do it from the end to avoid index changes +@@ -262,11 +264,6 @@ const WorkspaceTracker = new Lang.Class({ + global.screen.remove_workspace(this._workspaces[i], global.get_current_time()); + } + +- if (removingCurrentWorkspace) { +- global.screen.get_workspace_by_index(global.screen.n_workspaces - 1).activate(global.get_current_time()); +- this._wm.unblockAnimations(); +- } +- + this._checkWorkspacesId = 0; + return false; + }, +-- +cgit v0.10.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10.4-broken-crosshairs.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-broken-crosshairs.patch new file mode 100644 index 000000000000..9efc8fd018d6 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-broken-crosshairs.patch @@ -0,0 +1,199 @@ +From 713d4aa6c4a606c8479d7160e9df3fb79d7ec7f0 Mon Sep 17 00:00:00 2001 +From: Magdalen Berns <m.berns@thismagpie.com> +Date: Wed, 5 Feb 2014 20:53:21 +0000 +Subject: [PATCH] Magnifier: Restore crosshairs + +This patch is to restore broken crosshairs so they may be used +once more + +https://bugzilla.gnome.org/show_bug.cgi?id=723709 + magnifier.js +--- + js/ui/magnifier.js | 131 +++++++++++++++++++++++------------------------------ + 1 file changed, 56 insertions(+), 75 deletions(-) + +diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js +index 2a6ac38..96c12b2 100644 +--- a/js/ui/magnifier.js ++++ b/js/ui/magnifier.js +@@ -57,20 +57,6 @@ const Magnifier = new Lang.Class({ + // Magnifier is a manager of ZoomRegions. + this._zoomRegions = []; + +- // Export to dbus. +- magDBusService = new MagnifierDBus.ShellMagnifier(); +- +- let showAtLaunch = this._settingsInit(); +- this.setActive(showAtLaunch); +- }, +- +- _initialize: function() { +- if (this._initialized) +- return; +- this._initialized = true; +- +- this._settingsInitLate(); +- + // Create small clutter tree for the magnified mouse. + let cursorTracker = Meta.CursorTracker.get_for_screen(global.screen); + this._mouseSprite = new Clutter.Texture(); +@@ -86,11 +72,15 @@ const Magnifier = new Lang.Class({ + + let aZoomRegion = new ZoomRegion(this, this._cursorRoot); + this._zoomRegions.push(aZoomRegion); +- this._settingsInitRegion(aZoomRegion); ++ let showAtLaunch = this._settingsInit(aZoomRegion); + aZoomRegion.scrollContentsTo(this.xMouse, this.yMouse); + + cursorTracker.connect('cursor-changed', Lang.bind(this, this._updateMouseSprite)); + this._cursorTracker = cursorTracker; ++ ++ // Export to dbus. ++ magDBusService = new MagnifierDBus.ShellMagnifier(); ++ this.setActive(showAtLaunch); + }, + + /** +@@ -115,12 +105,6 @@ const Magnifier = new Lang.Class({ + * @activate: Boolean to activate or de-activate the magnifier. + */ + setActive: function(activate) { +- if (activate == this.isActive()) +- return; +- +- if (activate) +- this._initialize(); +- + this._zoomRegions.forEach (function(zoomRegion, index, array) { + zoomRegion.setActive(activate); + }); +@@ -452,68 +436,64 @@ const Magnifier = new Lang.Class({ + this._mouseSprite.set_anchor_point(xHot, yHot); + }, + +- _settingsInitRegion: function(zoomRegion) { +- // Mag factor is accurate to two decimal places. +- let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2)); +- if (aPref != 0.0) +- zoomRegion.setMagFactor(aPref, aPref); +- +- aPref = this._settings.get_enum(SCREEN_POSITION_KEY); +- if (aPref) +- zoomRegion.setScreenPosition(aPref); +- +- zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY)); +- zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY)); +- +- aPref = this._settings.get_enum(MOUSE_TRACKING_KEY); +- if (aPref) +- zoomRegion.setMouseTrackingMode(aPref); +- +- aPref = this._settings.get_enum(FOCUS_TRACKING_KEY); +- if (aPref) +- zoomRegion.setFocusTrackingMode(aPref); +- +- aPref = this._settings.get_enum(CARET_TRACKING_KEY); +- if (aPref) +- zoomRegion.setCaretTrackingMode(aPref); +- +- aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY); +- if (aPref) +- zoomRegion.setInvertLightness(aPref); +- +- aPref = this._settings.get_double(COLOR_SATURATION_KEY); +- if (aPref) +- zoomRegion.setColorSaturation(aPref); +- +- let bc = {}; +- bc.r = this._settings.get_double(BRIGHT_RED_KEY); +- bc.g = this._settings.get_double(BRIGHT_GREEN_KEY); +- bc.b = this._settings.get_double(BRIGHT_BLUE_KEY); +- zoomRegion.setBrightness(bc); +- +- bc.r = this._settings.get_double(CONTRAST_RED_KEY); +- bc.g = this._settings.get_double(CONTRAST_GREEN_KEY); +- bc.b = this._settings.get_double(CONTRAST_BLUE_KEY); +- zoomRegion.setContrast(bc); +- }, +- +- _settingsInit: function() { ++ _settingsInit: function(zoomRegion) { + this._appSettings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA }); + this._settings = new Gio.Settings({ schema: MAGNIFIER_SCHEMA }); + +- this._appSettings.connect('changed::' + SHOW_KEY, Lang.bind(this, function() { +- let active = this._appSettings.get_boolean(SHOW_KEY); +- this.setActive(active); +- })); +- +- return this._appSettings.get_boolean(SHOW_KEY); +- }, ++ if (zoomRegion) { ++ // Mag factor is accurate to two decimal places. ++ let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2)); ++ if (aPref != 0.0) ++ zoomRegion.setMagFactor(aPref, aPref); ++ ++ aPref = this._settings.get_enum(SCREEN_POSITION_KEY); ++ if (aPref) ++ zoomRegion.setScreenPosition(aPref); ++ ++ zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY)); ++ zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY)); ++ ++ aPref = this._settings.get_enum(MOUSE_TRACKING_KEY); ++ if (aPref) ++ zoomRegion.setMouseTrackingMode(aPref); ++ ++ aPref = this._settings.get_enum(FOCUS_TRACKING_KEY); ++ if (aPref) ++ zoomRegion.setFocusTrackingMode(aPref); ++ ++ aPref = this._settings.get_enum(CARET_TRACKING_KEY); ++ if (aPref) ++ zoomRegion.setCaretTrackingMode(aPref); ++ ++ aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY); ++ if (aPref) ++ zoomRegion.setInvertLightness(aPref); ++ ++ aPref = this._settings.get_double(COLOR_SATURATION_KEY); ++ if (aPref) ++ zoomRegion.setColorSaturation(aPref); ++ ++ let bc = {}; ++ bc.r = this._settings.get_double(BRIGHT_RED_KEY); ++ bc.g = this._settings.get_double(BRIGHT_GREEN_KEY); ++ bc.b = this._settings.get_double(BRIGHT_BLUE_KEY); ++ zoomRegion.setBrightness(bc); ++ ++ bc.r = this._settings.get_double(CONTRAST_RED_KEY); ++ bc.g = this._settings.get_double(CONTRAST_GREEN_KEY); ++ bc.b = this._settings.get_double(CONTRAST_BLUE_KEY); ++ zoomRegion.setContrast(bc); ++ } + +- _settingsInitLate: function() { + let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY); + this.addCrosshairs(); + this.setCrosshairsVisible(showCrosshairs); + ++ this._appSettings.connect('changed::' + SHOW_KEY, ++ Lang.bind(this, function() { ++ this.setActive(this._appSettings.get_boolean(SHOW_KEY)); ++ })); ++ + this._settings.connect('changed::' + SCREEN_POSITION_KEY, + Lang.bind(this, this._updateScreenPosition)); + this._settings.connect('changed::' + MAG_FACTOR_KEY, +@@ -577,6 +557,7 @@ const Magnifier = new Lang.Class({ + Lang.bind(this, function() { + this.setCrosshairsClip(this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY)); + })); ++ return this._appSettings.get_boolean(SHOW_KEY); + }, + + _updateScreenPosition: function() { +-- +1.8.3.2 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10.4-restore-pref.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-restore-pref.patch new file mode 100644 index 000000000000..21c1b4c9f8f8 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-restore-pref.patch @@ -0,0 +1,44 @@ +From 45041b421561ffac0bdfc92680a7a948d3623e65 Mon Sep 17 00:00:00 2001 +From: Adel Gadllah <adel.gadllah@gmail.com> +Date: Fri, 21 Feb 2014 12:30:40 +0100 +Subject: perf: Restore shell after runs + +Currently running the perf tool results into no wm running +afterwards making it hard for the user to get the results from a terminal +and generally does not make it easy for users to run it to gather numbers. + +So restore the shell after the test has completed. + +https://bugzilla.gnome.org/show_bug.cgi?id=724870 + +diff --git a/src/gnome-shell-perf-tool.in b/src/gnome-shell-perf-tool.in +index 1ad67b8..4494a92 100644 +--- a/src/gnome-shell-perf-tool.in ++++ b/src/gnome-shell-perf-tool.in +@@ -99,6 +99,15 @@ def run_shell(perf_output=None): + shell.wait() + return shell.returncode == 0 + ++def restore_shell(): ++ pid = os.fork() ++ if (pid == 0): ++ if "MUTTER_WM_CLASS_FILTER" in os.environ: ++ del os.environ["MUTTER_WM_CLASS_FILTER"] ++ os.execlp("gnome-shell", "gnome-shell", "--replace") ++ else: ++ sys.exit(0) ++ + def upload_performance_report(report_text): + try: + config_home = os.environ['XDG_CONFIG_HOME'] +@@ -320,6 +329,6 @@ if args: + + normal_exit = run_performance_test() + if normal_exit: +- sys.exit(0) ++ restore_shell() + else: + sys.exit(1) +-- +cgit v0.10.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10.4-scale-factor.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-scale-factor.patch new file mode 100644 index 000000000000..ff146938fb64 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-scale-factor.patch @@ -0,0 +1,28 @@ +From a3d9946803326a5d1fc76c617733df82c7057434 Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" <jstpierre@mecheye.net> +Date: Sat, 22 Feb 2014 18:00:57 -0500 +Subject: shell-global: Only set the scale factor if get_setting succeeded + +If gdk_screen_get_setting fails, like if it's running without XSettings, +then the GValue will have a value of 0. A lot of code tries to divide by +the scale factor. This produces NaN, and combined with the fact that NaN +is "leaky", we very quickly end up spinning out of control. + +diff --git a/src/shell-global.c b/src/shell-global.c +index 852d14f..7a9f6c7 100644 +--- a/src/shell-global.c ++++ b/src/shell-global.c +@@ -749,8 +749,8 @@ update_scale_factor (GdkScreen *screen, gpointer data) + GValue value = G_VALUE_INIT; + + g_value_init (&value, G_TYPE_INT); +- gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value); +- g_object_set (context, "scale-factor", g_value_get_int (&value), NULL); ++ if (gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value)) ++ g_object_set (context, "scale-factor", g_value_get_int (&value), NULL); + } + + /* This is an IBus workaround. The flow of events with IBus is that every time +-- +cgit v0.10.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.10.4-wired-network.patch b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-wired-network.patch new file mode 100644 index 000000000000..3ad0b4517f6a --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.10.4-wired-network.patch @@ -0,0 +1,158 @@ +From 7051411be7bbfd9e0c2e831762c87872e5bde468 Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" <jstpierre@mecheye.net> +Date: Thu, 23 Jan 2014 14:25:06 -0500 +Subject: network: Add a Wired device + +This isn't quite like the design, as we don't show icons for other +devices when wired is in an error state. + +https://bugzilla.gnome.org/show_bug.cgi?id=708966 + +diff --git a/js/ui/status/network.js b/js/ui/status/network.js +index a3de3dd..3dc694e 100644 +--- a/js/ui/status/network.js ++++ b/js/ui/status/network.js +@@ -21,6 +21,7 @@ const Util = imports.misc.util; + + const NMConnectionCategory = { + INVALID: 'invalid', ++ WIRED: 'wired', + WIRELESS: 'wireless', + WWAN: 'wwan', + VPN: 'vpn' +@@ -296,6 +297,11 @@ const NMConnectionDevice = new Lang.Class({ + this._activeConnectionChangedId = this._device.connect('notify::active-connection', Lang.bind(this, this._activeConnectionChanged)); + }, + ++ _autoConnect: function() { ++ let connection = new NetworkManager.Connection(); ++ this._client.add_and_activate_connection(connection, this._device, null, null); ++ }, ++ + destroy: function() { + if (this._stateChangedId) { + GObject.Object.prototype.disconnect.call(this._device, this._stateChangedId); +@@ -413,6 +419,48 @@ const NMConnectionDevice = new Lang.Class({ + }, + }); + ++const NMDeviceWired = new Lang.Class({ ++ Name: 'NMDeviceWired', ++ Extends: NMConnectionDevice, ++ category: NMConnectionCategory.WIRED, ++ ++ _init: function(client, device, settings) { ++ this.parent(client, device, settings); ++ ++ this.item.menu.addMenuItem(createSettingsAction(_("Wired Settings"), device)); ++ }, ++ ++ _isConnected: function() { ++ if (!this._device.active_connection) ++ return false; ++ ++ let state = this._device.active_connection.state; ++ return state >= NetworkManager.ActiveConnectionState.ACTIVATING; ++ }, ++ ++ _sync: function() { ++ this.item.actor.visible = this._isConnected(); ++ this.parent(); ++ }, ++ ++ _getMenuIcon: function() { ++ if (this._device.active_connection) ++ return this.getIndicatorIcon(); ++ else ++ return 'network-wired-disconnected-symbolic'; ++ }, ++ ++ getIndicatorIcon: function() { ++ let state = this._device.active_connection.state; ++ if (state == NetworkManager.ActiveConnectionState.ACTIVATING) ++ return 'network-wired-acquiring-symbolic'; ++ else if (state == NetworkManager.ActiveConnectionState.ACTIVATED) ++ return 'network-wired-symbolic'; ++ else ++ return 'network-wired-disconnected-symbolic'; ++ } ++}); ++ + const NMDeviceModem = new Lang.Class({ + Name: 'NMDeviceModem', + Extends: NMConnectionDevice, +@@ -510,18 +558,6 @@ const NMDeviceBluetooth = new Lang.Class({ + this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device)); + }, + +- _autoConnect: function() { +- // FIXME: DUN devices are configured like modems, so +- // We need to spawn the mobile wizard +- // but the network panel doesn't support bluetooth at the moment +- // so we just create an empty connection and hope +- // that this phone supports PAN +- +- let connection = new NetworkManager.Connection(); +- this._client.add_and_activate_connection(connection, this._device, null, null); +- return true; +- }, +- + _getMenuIcon: function() { + if (this._device.active_connection) + return this.getIndicatorIcon(); +@@ -1266,6 +1302,7 @@ const NMApplet = new Lang.Class({ + + // Device types + this._dtypes = { }; ++ this._dtypes[NetworkManager.DeviceType.ETHERNET] = NMDeviceWired; + this._dtypes[NetworkManager.DeviceType.WIFI] = NMDeviceWireless; + this._dtypes[NetworkManager.DeviceType.MODEM] = NMDeviceModem; + this._dtypes[NetworkManager.DeviceType.BT] = NMDeviceBluetooth; +@@ -1273,6 +1310,7 @@ const NMApplet = new Lang.Class({ + + // Connection types + this._ctypes = { }; ++ this._ctypes[NetworkManager.SETTING_WIRED_SETTING_NAME] = NMConnectionCategory.WIRED; + this._ctypes[NetworkManager.SETTING_WIRELESS_SETTING_NAME] = NMConnectionCategory.WIRELESS; + this._ctypes[NetworkManager.SETTING_BLUETOOTH_SETTING_NAME] = NMConnectionCategory.WWAN; + this._ctypes[NetworkManager.SETTING_CDMA_SETTING_NAME] = NMConnectionCategory.WWAN; +@@ -1295,6 +1333,15 @@ const NMApplet = new Lang.Class({ + this._tryLateInit(); + }, + ++ _createDeviceCategory: function() { ++ let category = { ++ section: new PopupMenu.PopupMenuSection(), ++ devices: [ ], ++ }; ++ this.menu.addMenuItem(category.section); ++ return category; ++ }, ++ + _tryLateInit: function() { + if (!this._client || !this._settings) + return; +@@ -1310,17 +1357,9 @@ const NMApplet = new Lang.Class({ + this._nmDevices = []; + this._devices = { }; + +- this._devices.wireless = { +- section: new PopupMenu.PopupMenuSection(), +- devices: [ ], +- }; +- this.menu.addMenuItem(this._devices.wireless.section); +- +- this._devices.wwan = { +- section: new PopupMenu.PopupMenuSection(), +- devices: [ ], +- }; +- this.menu.addMenuItem(this._devices.wwan.section); ++ this._devices.wired = this._createDeviceCategory(); ++ this._devices.wireless = this._createDeviceCategory(); ++ this._devices.wwan = this._createDeviceCategory(); + + this._vpnSection = new NMVPNSection(this._client); + this._vpnSection.connect('activation-failed', Lang.bind(this, this._onActivationFailed)); +-- +cgit v0.10.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 c996cc00e4f7..000000000000 --- 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-3.7.90-bluetooth-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.7.90-bluetooth-flag.patch deleted file mode 100755 index 5e0fd1722be5..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.7.90-bluetooth-flag.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0556d99379265b5ccd256bc6befcd1486fe4e464 Mon Sep 17 00:00:00 2001 -From: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr> -Date: Thu, 28 Feb 2013 18:48:32 +0330 -Subject: [PATCH] gnome-shell-3.7.90--bluetooth-flag - -https://bugs.gentoo.org/show_bug.cgi?id=398145 - -Ed Catmur 2012-01-08 13:46:22 UTC -libgnome-bluetooth-applet is a private library so they shouldn't be linking -against it anyway. I tried to work out how to tell libtool to add it to rpath -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 file changed, 5 insertions(+) - -diff --git a/configure.ac b/configure.ac -index d9d1001..02f1e65 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -111,6 +111,8 @@ 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)])) -+AS_IF([test "x$with_bluetooth" != "xno"], [ - PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], - [BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0` - BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0` -@@ -123,6 +125,9 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], - [AC_DEFINE([HAVE_BLUETOOTH],[0]) - AC_SUBST([HAVE_BLUETOOTH],[0]) - AC_MSG_RESULT([no])]) -+], [AC_DEFINE([HAVE_BLUETOOTH],[0]) -+ 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 gio-2.0) - AC_SUBST(CALENDAR_SERVER_CFLAGS) --- -1.8.1.2 - diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.0-networkmanager-flag-r1.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.0-networkmanager-flag-r1.patch deleted file mode 100644 index f88657d3d56c..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.0-networkmanager-flag-r1.patch +++ /dev/null @@ -1,200 +0,0 @@ - * 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. ---- a/configure.ac 2013-03-27 17:28:24.000000000 +0100 -+++ b/configure.ac 2013-04-02 18:47:05.569818375 +0200 -@@ -94,8 +94,6 @@ - libcanberra libcanberra-gtk3 - telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION - polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes -- libnm-glib libnm-util >= $NETWORKMANAGER_MIN_VERSION -- libnm-gtk >= $NETWORKMANAGER_MIN_VERSION - libsecret-unstable gcr-3 >= $GCR_MIN_VERSION) - - PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION) -@@ -154,6 +157,38 @@ - [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() - -@@ -199,3 +234,15 @@ - 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 323cd1b..d17111a 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 cfeb351..3bb13b4 100644 ---- a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -933,11 +933,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 f802dbd..eec830b 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 = { -@@ -100,7 +102,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'], - ---- a/src/Makefile.am.old 2013-03-27 10:35:51.763616888 +0100 -+++ b/src/Makefile.am 2013-03-27 10:38:09.745425152 +0100 -@@ -116,7 +116,6 @@ - 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 \ -@@ -129,6 +128,10 @@ - shell-wm.h \ - shell-xfixes-cursor.h - -+if HAVE_NETWORKMANAGER -+shell_public_headers_h += shell-network-agent.h -+endif -+ - shell_private_sources = \ - gactionmuxer.h \ - gactionmuxer.c \ -@@ -159,7 +162,6 @@ - shell-keyring-prompt.h \ - shell-keyring-prompt.c \ - shell-mount-operation.c \ -- shell-network-agent.c \ - shell-perf-log.c \ - shell-polkit-authentication-agent.h \ - shell-polkit-authentication-agent.c \ -@@ -177,6 +179,10 @@ - shell-xfixes-cursor.c \ - $(NULL) - -+if HAVE_NETWORKMANAGER -+libgnome_shell_la_SOURCES += 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)) - -@@ -287,7 +293,10 @@ - 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 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 - 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) diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.3-networkmanager-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.3-networkmanager-flag.patch deleted file mode 100644 index 54c6d9746533..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.3-networkmanager-flag.patch +++ /dev/null @@ -1,200 +0,0 @@ - * 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. ---- a/configure.ac 2013-03-27 17:28:24.000000000 +0100 -+++ b/configure.ac 2013-04-02 18:47:05.569818375 +0200 -@@ -94,8 +94,6 @@ - libcanberra libcanberra-gtk3 - telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION - polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes -- 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_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION) -@@ -154,6 +157,38 @@ - [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() - -@@ -199,3 +234,15 @@ - 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 323cd1b..d17111a 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 cfeb351..3bb13b4 100644 ---- a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -933,11 +933,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 f802dbd..eec830b 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 = { -@@ -100,7 +102,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'], - ---- a/src/Makefile.am.old 2013-03-27 10:35:51.763616888 +0100 -+++ b/src/Makefile.am 2013-03-27 10:38:09.745425152 +0100 -@@ -116,7 +116,6 @@ - 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 \ -@@ -129,6 +128,10 @@ - shell-wm.h \ - shell-xfixes-cursor.h - -+if HAVE_NETWORKMANAGER -+shell_public_headers_h += shell-network-agent.h -+endif -+ - shell_private_sources = \ - gactionmuxer.h \ - gactionmuxer.c \ -@@ -159,7 +162,6 @@ - shell-keyring-prompt.h \ - shell-keyring-prompt.c \ - shell-mount-operation.c \ -- shell-network-agent.c \ - shell-perf-log.c \ - shell-polkit-authentication-agent.h \ - shell-polkit-authentication-agent.c \ -@@ -177,6 +179,10 @@ - shell-xfixes-cursor.c \ - $(NULL) - -+if HAVE_NETWORKMANAGER -+libgnome_shell_la_SOURCES += 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)) - -@@ -287,7 +293,10 @@ - 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 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 - 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) diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.3-relock-screen.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.3-relock-screen.patch deleted file mode 100644 index c816b71238b8..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.3-relock-screen.patch +++ /dev/null @@ -1,226 +0,0 @@ -From ccfa3d3be15b3a52bfcc37feee3abb2f2d4f66cb Mon Sep 17 00:00:00 2001 -From: Colin Walters <walters@verbum.org> -Date: Thu, 17 Jan 2013 19:39:54 +0000 -Subject: Re-lock the screen if we're restarted from a previously crashed shell - -This way we "fail closed", which is better for security. - -See https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/1064584 - -https://bugzilla.gnome.org/show_bug.cgi?id=691987 ---- -diff --git a/js/ui/main.js b/js/ui/main.js -index 2657678..2dc421b 100644 ---- a/js/ui/main.js -+++ b/js/ui/main.js -@@ -195,6 +195,9 @@ function _initializeUI() { - if (keybindingMode == Shell.KeyBindingMode.NONE) { - keybindingMode = Shell.KeyBindingMode.NORMAL; - } -+ if (screenShield) { -+ screenShield.lockIfWasLocked(); -+ } - }); - } - -diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js -index 48cfaa6..185f109 100644 ---- a/js/ui/screenShield.js -+++ b/js/ui/screenShield.js -@@ -30,6 +30,7 @@ const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver'; - const LOCK_ENABLED_KEY = 'lock-enabled'; - const LOCK_DELAY_KEY = 'lock-delay'; - -+const LOCKED_STATE_STR = 'screenShield.locked'; - // fraction of screen height the arrow must reach before completing - // the slide up automatically - const ARROW_DRAG_THRESHOLD = 0.1; -@@ -1175,6 +1176,7 @@ const ScreenShield = new Lang.Class({ - this._isLocked = false; - this.emit('active-changed'); - this.emit('locked-changed'); -+ global.set_runtime_state(LOCKED_STATE_STR, null); - }, - - activate: function(animate) { -@@ -1191,6 +1193,7 @@ const ScreenShield = new Lang.Class({ - } - - this._resetLockScreen(animate, animate); -+ global.set_runtime_state(LOCKED_STATE_STR, GLib.Variant.new('b', true)); - - // We used to set isActive and emit active-changed here, - // but now we do that from lockScreenShown, which means -@@ -1217,5 +1220,15 @@ const ScreenShield = new Lang.Class({ - - this.emit('locked-changed'); - }, -+ -+ // If the previous shell crashed, and gnome-session restarted us, then re-lock -+ lockIfWasLocked: function() { -+ let wasLocked = global.get_runtime_state('b', LOCKED_STATE_STR); -+ if (wasLocked === null) -+ return; -+ Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() { -+ this.lock(false); -+ })); -+ } - }); - Signals.addSignalMethods(ScreenShield.prototype); -diff --git a/src/shell-global.c b/src/shell-global.c -index 9a594b7..2f96048 100644 ---- a/src/shell-global.c -+++ b/src/shell-global.c -@@ -82,6 +82,8 @@ struct _ShellGlobal { - const char *userdatadir; - StFocusManager *focus_manager; - -+ GFile *runtime_state_path; -+ - guint work_count; - GSList *leisure_closures; - guint leisure_function_id; -@@ -232,6 +234,8 @@ shell_global_init (ShellGlobal *global) - const char *datadir = g_getenv ("GNOME_SHELL_DATADIR"); - const char *shell_js = g_getenv("GNOME_SHELL_JS"); - char *imagedir, **search_path; -+ char *path; -+ const char *byteorder_string; - - if (!datadir) - datadir = GNOME_SHELL_DATADIR; -@@ -254,6 +258,20 @@ shell_global_init (ShellGlobal *global) - global->userdatadir = g_build_filename (g_get_user_data_dir (), "gnome-shell", NULL); - g_mkdir_with_parents (global->userdatadir, 0700); - -+#if G_BYTE_ORDER == G_LITTLE_ENDIAN -+ byteorder_string = "LE"; -+#else -+ byteorder_string = "BE"; -+#endif -+ -+ /* And the runtime state */ -+ path = g_strdup_printf ("%s/gnome-shell/runtime-state-%s.%s", -+ g_get_user_runtime_dir (), -+ byteorder_string, -+ XDisplayName (NULL)); -+ (void) g_mkdir_with_parents (path, 0700); -+ global->runtime_state_path = g_file_new_for_path (path); -+ - global->settings = g_settings_new ("org.gnome.shell"); - - global->grab_notifier = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL)); -@@ -295,6 +313,8 @@ shell_global_finalize (GObject *object) - - the_object = NULL; - -+ g_clear_object (&global->runtime_state_path); -+ - G_OBJECT_CLASS(shell_global_parent_class)->finalize (object); - } - -@@ -1764,3 +1784,83 @@ shell_global_get_session_mode (ShellGlobal *global) - - return global->session_mode; - } -+ -+static GFile * -+get_runtime_state_path (ShellGlobal *global, -+ const char *property_name) -+{ -+ return g_file_get_child (global->runtime_state_path, property_name); -+} -+ -+/** -+ * shell_global_set_runtime_state: -+ * @global: a #ShellGlobal -+ * @property_name: Name of the property -+ * @variant: (allow-none): A #GVariant, or %NULL to unset -+ * -+ * Change the value of serialized runtime state. -+ */ -+void -+shell_global_set_runtime_state (ShellGlobal *global, -+ const char *property_name, -+ GVariant *variant) -+{ -+ GFile *path; -+ -+ path = get_runtime_state_path (global, property_name); -+ -+ if (variant == NULL) -+ (void) g_file_delete (path, NULL, NULL); -+ else -+ { -+ gsize size = g_variant_get_size (variant); -+ g_file_replace_contents (path, g_variant_get_data (variant), size, -+ NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, -+ NULL, NULL, NULL); -+ } -+} -+ -+/** -+ * shell_global_get_runtime_state: -+ * @global: a #ShellGlobal -+ * @property_type: Expected data type -+ * @property_name: Name of the property -+ * -+ * The shell maintains "runtime" state which does not persist across -+ * logout or reboot. -+ * -+ * Returns: The value of a serialized property, or %NULL if none stored -+ */ -+GVariant * -+shell_global_get_runtime_state (ShellGlobal *global, -+ const char *property_type, -+ const char *property_name) -+{ -+ GVariant *res = NULL; -+ GMappedFile *mfile; -+ GFile *path; -+ char *pathstr; -+ GError *local_error = NULL; -+ -+ path = get_runtime_state_path (global, property_name); -+ pathstr = g_file_get_path (path); -+ mfile = g_mapped_file_new (pathstr, FALSE, &local_error); -+ if (!mfile) -+ { -+ if (!g_error_matches (local_error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) -+ { -+ g_warning ("Failed to open runtime state: %s", local_error->message); -+ } -+ g_clear_error (&local_error); -+ } -+ else -+ { -+ GBytes *bytes = g_mapped_file_get_bytes (mfile); -+ res = g_variant_new_from_bytes ((GVariantType*)property_type, bytes, TRUE); -+ g_bytes_unref (bytes); -+ g_mapped_file_unref (mfile); -+ } -+ -+ out: -+ return res; -+} -diff --git a/src/shell-global.h b/src/shell-global.h -index 69dff85..38532b5 100644 ---- a/src/shell-global.h -+++ b/src/shell-global.h -@@ -149,6 +149,14 @@ void shell_global_reexec_self (ShellGlobal *global); - - const char * shell_global_get_session_mode (ShellGlobal *global); - -+void shell_global_set_runtime_state (ShellGlobal *global, -+ const char *property_name, -+ GVariant *variant); -+GVariant * shell_global_get_runtime_state (ShellGlobal *global, -+ const char *property_type, -+ const char *property_name); -+ -+ - G_END_DECLS - - #endif /* __SHELL_GLOBAL_H__ */ --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-allocate-scrollbars.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-allocate-scrollbars.patch deleted file mode 100644 index 861e7300ef1e..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-allocate-scrollbars.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 52417a8363cdb5b57af744cd4ca311c7f068403e Mon Sep 17 00:00:00 2001 -From: Adel Gadllah <adel.gadllah@gmail.com> -Date: Sat, 10 Aug 2013 20:09:33 +0000 -Subject: st-scroll-view: Unconditionally allocate scrollbars - -Commit cfecd063c9ca3d18cd changed the allocation logic to not allocate -scrollbars when the *_visible booleans are false. This breaks the -fade effect as well as the NEVER policy. We do not paint scrollbars -when they are not supposed to be visible, so not allocating them -and thus leaving them in a "needs allocation" state just causes problems. - -I am not convinced that it solved any problem to begin with (we don't paint -them anyway). - -As the previous condition has basically always been true, just do it -unconditionally. - -https://bugzilla.gnome.org/show_bug.cgi?id=705664 ---- -diff --git a/src/st/st-scroll-view.c b/src/st/st-scroll-view.c -index 04e263f..f59ae93 100644 ---- a/src/st/st-scroll-view.c -+++ b/src/st/st-scroll-view.c -@@ -598,42 +598,36 @@ st_scroll_view_allocate (ClutterActor *actor, - */ - - /* Vertical scrollbar */ -- if (vscrollbar_visible) -- { -- if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) -- { -- child_box.x1 = content_box.x1; -- child_box.x2 = content_box.x1 + sb_width; -- } -- else -- { -- child_box.x1 = content_box.x2 - sb_width; -- child_box.x2 = content_box.x2; -- } -- child_box.y1 = content_box.y1; -- child_box.y2 = content_box.y2 - (hscrollbar_visible ? sb_height : 0); -+ if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) -+ { -+ child_box.x1 = content_box.x1; -+ child_box.x2 = content_box.x1 + sb_width; -+ } -+ else -+ { -+ child_box.x1 = content_box.x2 - sb_width; -+ child_box.x2 = content_box.x2; -+ } -+ child_box.y1 = content_box.y1; -+ child_box.y2 = content_box.y2 - (hscrollbar_visible ? sb_height : 0); - -- clutter_actor_allocate (priv->vscroll, &child_box, flags); -- } -+ clutter_actor_allocate (priv->vscroll, &child_box, flags); - - /* Horizontal scrollbar */ -- if (hscrollbar_visible) -- { -- if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) -- { -- child_box.x1 = content_box.x1 + (vscrollbar_visible ? sb_width : 0); -- child_box.x2 = content_box.x2; -- } -- else -- { -- child_box.x1 = content_box.x1; -- child_box.x2 = content_box.x2 - (vscrollbar_visible ? sb_width : 0); -- } -- child_box.y1 = content_box.y2 - sb_height; -- child_box.y2 = content_box.y2; -+ if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) -+ { -+ child_box.x1 = content_box.x1 + (vscrollbar_visible ? sb_width : 0); -+ child_box.x2 = content_box.x2; -+ } -+ else -+ { -+ child_box.x1 = content_box.x1; -+ child_box.x2 = content_box.x2 - (vscrollbar_visible ? sb_width : 0); -+ } -+ child_box.y1 = content_box.y2 - sb_height; -+ child_box.y2 = content_box.y2; - -- clutter_actor_allocate (priv->hscroll, &child_box, flags); -- } -+ clutter_actor_allocate (priv->hscroll, &child_box, flags); - - /* In case the scrollbar policy is NEVER or scrollbars should be - * overlayed, we don't trim the content box allocation by the --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-close-rundialog.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-close-rundialog.patch deleted file mode 100644 index 3f509ef65531..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-close-rundialog.patch +++ /dev/null @@ -1,32 +0,0 @@ -From efdf1ff755943fba1f8a9aaeff77daa3ed338088 Mon Sep 17 00:00:00 2001 -From: Florian Müllner <fmuellner@gnome.org> -Date: Wed, 18 Sep 2013 17:47:59 +0000 -Subject: main: Close runDialog as necessary on session mode changes - -We already do this for looking glass, but it makes even less sense -for the normal run dialog - if a mode sets runDialog to false, the -intention is to not allow executing aribitrary commands. - -https://bugzilla.gnome.org/show_bug.cgi?id=708218 ---- -diff --git a/js/ui/main.js b/js/ui/main.js -index bca2b22..6f961be 100644 ---- a/js/ui/main.js -+++ b/js/ui/main.js -@@ -90,8 +90,12 @@ function _sessionUpdated() { - Shell.KeyBindingMode.OVERVIEW, - sessionMode.hasRunDialog ? openRunDialog : null); - -- if (!sessionMode.hasRunDialog && lookingGlass) -- lookingGlass.close(); -+ if (!sessionMode.hasRunDialog) { -+ if (runDialog) -+ runDialog.close(); -+ if (lookingGlass) -+ lookingGlass.close(); -+ } - } - - function start() { --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-events-lock.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-events-lock.patch deleted file mode 100644 index 0e0fc5bbcaf8..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-events-lock.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d8177a8f3ba6cc6e80d27a7c6bdd1b5920e12544 Mon Sep 17 00:00:00 2001 -From: Giovanni Campagna <gcampagna@src.gnome.org> -Date: Mon, 12 Aug 2013 13:14:37 +0000 -Subject: ScreenShield: don't allow events through the lock dialog - -Make the lock dialog group reactive, to intercept any events -before they go to the actors below. -In the future, we may restructure our chrome to have a clear -layer system, but for now it fixes a security issue in the lock -screen (you can see the contents of the windows by dragging -if the screen was locked with the overview active) - -https://bugzilla.gnome.org/show_bug.cgi?id=705840 ---- -diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js -index 4264f01..8452bc6 100644 ---- a/js/ui/screenShield.js -+++ b/js/ui/screenShield.js -@@ -478,6 +478,7 @@ const ScreenShield = new Lang.Class({ - - this._lockDialogGroup = new St.Widget({ x_expand: true, - y_expand: true, -+ reactive: true, - opacity: 0, - pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }), - name: 'lockDialogGroup' }); --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-nodisplay.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-nodisplay.patch deleted file mode 100644 index 2c9b802fe736..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-nodisplay.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 58872d162bd610578e048bf2832defc93a284a75 Mon Sep 17 00:00:00 2001 -From: Giovanni Campagna <gcampagna@src.gnome.org> -Date: Sun, 31 Mar 2013 18:05:49 +0000 -Subject: AppDisplay/FrequentView: filter out hidden applications - -Filter out all applications which have the NoDisplay, Hidden or -Not/OnlyShowIn bits, as those are not meant to be launched directly. -This also allows the user to filter apps from the frequent view -using alacarte. - -https://bugzilla.gnome.org/show_bug.cgi?id=696949 ---- -diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js -index 22ae481..bcfb57a 100644 ---- a/js/ui/appDisplay.js -+++ b/js/ui/appDisplay.js -@@ -316,6 +316,8 @@ const FrequentView = new Lang.Class({ - loadApps: function() { - let mostUsed = this._usage.get_most_used (""); - for (let i = 0; i < mostUsed.length; i++) { -+ if (!mostUsed[i].get_app_info().should_show()) -+ continue; - let appIcon = new AppIcon(mostUsed[i]); - this._grid.addItem(appIcon.actor, -1); - } --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-reset-opacity.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-reset-opacity.patch deleted file mode 100644 index 7a01178a9e5e..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-reset-opacity.patch +++ /dev/null @@ -1,22 +0,0 @@ -From a6f39a12d7fef85c8ce40bc3898b17adf31bc2ba Mon Sep 17 00:00:00 2001 -From: Adel Gadllah <adel.gadllah@gmail.com> -Date: Sun, 04 Aug 2013 09:35:35 +0000 -Subject: overview: Reset opacity when not animating - -We are not resetting the opacity when we are not animating, which can cause -a hidden window to end up with opacity 0 if we remove the tween to early. ---- -diff --git a/js/ui/workspace.js b/js/ui/workspace.js -index e2e461d..2c8ff22 100644 ---- a/js/ui/workspace.js -+++ b/js/ui/workspace.js -@@ -1094,6 +1094,7 @@ const Workspace = new Lang.Class({ - Tweener.removeTweens(clone.actor); - clone.actor.set_position(x, y); - clone.actor.set_scale(scale, scale); -+ clone.actor.set_opacity(255); - clone.overlay.relayout(false); - this._showWindowOverlay(clone, overlay, isOnCurrentWorkspace); - } --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-revert-async.patch b/gnome-base/gnome-shell/files/gnome-shell-3.8.4-revert-async.patch deleted file mode 100644 index bd34b16f121d..000000000000 --- a/gnome-base/gnome-shell/files/gnome-shell-3.8.4-revert-async.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 0a1b9867fcf5065a72e782e05fea858883bf2cdc Mon Sep 17 00:00:00 2001 -From: Adel Gadllah <adel.gadllah@gmail.com> -Date: Thu, 15 Aug 2013 19:51:46 +0000 -Subject: Revert "background: fix asynchronous management of background loading operations" - -This reverts commit 1020d8a0f8523a04d8336b1348388b8b242e414f. - -https://bugzilla.gnome.org/show_bug.cgi?id=704646 ---- -diff --git a/js/ui/background.js b/js/ui/background.js -index 13343c6..1d9ab7c 100644 ---- a/js/ui/background.js -+++ b/js/ui/background.js -@@ -142,40 +142,33 @@ const BackgroundCache = new Lang.Class({ - cancellable: null, - onFinished: null }); - -- let fileLoad = { filename: params.filename, -- style: params.style, -- shouldCopy: false, -- monitorIndex: params.monitorIndex, -- effects: params.effects, -- onFinished: params.onFinished, -- cancellable: new Gio.Cancellable(), }; -- this._pendingFileLoads.push(fileLoad); -- -- if (params.cancellable) { -- params.cancellable.connect(Lang.bind(this, function(c) { -- fileLoad.cancellable.cancel(); -- })); -+ for (let i = 0; i < this._pendingFileLoads.length; i++) { -+ if (this._pendingFileLoads[i].filename == params.filename && -+ this._pendingFileLoads[i].style == params.style) { -+ this._pendingFileLoads[i].callers.push({ shouldCopy: true, -+ monitorIndex: params.monitorIndex, -+ effects: params.effects, -+ onFinished: params.onFinished }); -+ return; -+ } - } - -+ this._pendingFileLoads.push({ filename: params.filename, -+ style: params.style, -+ callers: [{ shouldCopy: false, -+ monitorIndex: params.monitorIndex, -+ effects: params.effects, -+ onFinished: params.onFinished }] }); -+ - let content = new Meta.Background({ meta_screen: global.screen, - monitor: params.monitorIndex, - effects: params.effects }); - - content.load_file_async(params.filename, - params.style, -- fileLoad.cancellable, -+ params.cancellable, - Lang.bind(this, - function(object, result) { -- if (fileLoad.cancellable.is_cancelled()) { -- if (params.cancellable && params.cancellable.is_cancelled()) { -- if (params.onFinished) -- params.onFinished(null); -- this._removePendingFileLoad(fileLoad); -- return; -- } -- return; -- } -- - try { - content.load_file_finish(result); - -@@ -185,25 +178,22 @@ const BackgroundCache = new Lang.Class({ - content = null; - } - -- let needsCopy = false; - for (let i = 0; i < this._pendingFileLoads.length; i++) { - let pendingLoad = this._pendingFileLoads[i]; - if (pendingLoad.filename != params.filename || - pendingLoad.style != params.style) - continue; - -- if (pendingLoad.cancellable.is_cancelled()) -- continue; -+ for (let j = 0; j < pendingLoad.callers.length; j++) { -+ if (pendingLoad.callers[j].onFinished) { -+ if (content && pendingLoad.callers[j].shouldCopy) { -+ content = object.copy(pendingLoad.callers[j].monitorIndex, -+ pendingLoad.callers[j].effects); - -- pendingLoad.cancellable.cancel(); -- if (pendingLoad.onFinished) { -- if (content && needsCopy) { -- content = object.copy(pendingLoad.monitorIndex, -- pendingLoad.effects); -- } -+ } - -- needsCopy = true; -- pendingLoad.onFinished(content); -+ pendingLoad.callers[j].onFinished(content); -+ } - } - - this._pendingFileLoads.splice(i, 1); -@@ -211,15 +201,6 @@ const BackgroundCache = new Lang.Class({ - })); - }, - -- _removePendingFileLoad: function(fileLoad) { -- for (let i = 0; i < this._pendingFileLoads.length; i++) { -- if (this._pendingFileLoads[i].cancellable == fileLoad.cancellable) { -- this._pendingFileLoads.splice(i, 1); -- break; -- } -- } -- }, -- - getImageContent: function(params) { - params = Params.parse(params, { monitorIndex: 0, - style: null, --- -cgit v0.9.2 diff --git a/gnome-base/gnome-shell/gnome-shell-3.10.3.ebuild b/gnome-base/gnome-shell/gnome-shell-3.10.3.ebuild deleted file mode 100644 index 90c591df5aba..000000000000 --- a/gnome-base/gnome-shell/gnome-shell-3.10.3.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.3.ebuild,v 1.1 2014/02/06 23:41:20 eva Exp $ - -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 ~ia64 ~ppc ~ppc64 ~sparc ~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 \ - $(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-3.10.4.ebuild b/gnome-base/gnome-shell/gnome-shell-3.10.4-r2.ebuild index 5801a71ceb8d..c650a6d30df3 100644 --- a/gnome-base/gnome-shell/gnome-shell-3.10.4.ebuild +++ b/gnome-base/gnome-shell/gnome-shell-3.10.4-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.4.ebuild,v 1.5 2014/03/09 11:58:57 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.4-r2.ebuild,v 1.1 2014/04/12 09:35:41 pacho Exp $ EAPI="5" GCONF_DEBUG="no" @@ -16,7 +16,7 @@ LICENSE="GPL-2+ LGPL-2+" SLOT="0" IUSE="+bluetooth +i18n +networkmanager -openrc-force" REQUIRED_USE="${PYTHON_REQUIRED_USE}" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" # libXfixes-5.0 needed for pointer barriers # FIXME: @@ -127,6 +127,28 @@ src_prepare() { # Make networkmanager optional, bug #398593 epatch "${FILESDIR}/${PN}-3.10-networkmanager-flag.patch" + # Fix silent bluetooth linking failure with ld.gold, bug #503952 + # https://bugzilla.gnome.org/show_bug.cgi?id=726435 + epatch "${FILESDIR}/${PN}-3.10.4-bluetooth-gold.patch" + + # Fix background glitches with multiple monitors, from 3.11, bug #504530 + epatch "${FILESDIR}/${PN}-3.10.4-fix-background-manager.patch" + + # network: Add a Wired device (from 'master') + epatch "${FILESDIR}/${PN}-3.10.4-wired-network.patch" + + # windowManager: Activate new workspace before removing the current one (from '3.10') + epatch "${FILESDIR}/${P}-activate-workspace.patch" + + # perf: Restore shell after runs (from '3.10') + epatch "${FILESDIR}/${P}-restore-pref.patch" + + # shell-global: Only set the scale factor if get_setting succeeded (from '3.10') + epatch "${FILESDIR}/${P}-scale-factor.patch" + + # Magnifier: Restore crosshairs (from 'master') + epatch "${FILESDIR}/${PN}-3.10.4-broken-crosshairs.patch" + epatch_user eautoreconf diff --git a/gnome-base/gnome-shell/gnome-shell-3.8.4-r2.ebuild b/gnome-base/gnome-shell/gnome-shell-3.8.4-r2.ebuild deleted file mode 100644 index f375e00df7d9..000000000000 --- a/gnome-base/gnome-shell/gnome-shell-3.8.4-r2.ebuild +++ /dev/null @@ -1,242 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.8.4-r2.ebuild,v 1.3 2014/01/05 09:06:21 ago Exp $ - -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" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86" - -# libXfixes-5.0 needed for pointer barriers -# TODO: gstreamer support is currently automagical: -# gstreamer? ( >=media-libs/gstreamer-0.11.92 ) -# -# 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.35:2 - >=dev-libs/gjs-1.35.8 - >=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-wm/mutter-3.8.3[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.5[introspection] ) - networkmanager? ( >=net-misc/networkmanager-0.9.6[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 - >=sys-devel/gettext-0.17 - 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 - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -src_prepare() { - # Change favorites defaults, bug #479918 - epatch "${FILESDIR}/${PN}-defaults.patch" - - # Fix automagic gnome-bluetooth dep, bug #398145 - epatch "${FILESDIR}/${PN}-3.7.90-bluetooth-flag.patch" - - # Make networkmanager optional, bug #398593 - epatch "${FILESDIR}/${PN}-3.8.3-networkmanager-flag.patch" - - # Re-lock the screen if we're restarted from a previously crashed shell (from 'master') - epatch "${FILESDIR}/${PN}-3.8.3-relock-screen.patch" - - # Reset opacity when not animating (from 3.8 branch) - epatch "${FILESDIR}/${P}-reset-opacity.patch" - - # Unconditionally allocate scrollbars (from 3.8 branch) - epatch "${FILESDIR}/${P}-allocate-scrollbars.patch" - - # ScreenShield: don't allow events through the lock dialog (from 3.8 branch) - epatch "${FILESDIR}/${P}-events-lock.patch" - - # Revert "background: fix asynchronous management of background loading operations" (#481918) - epatch "${FILESDIR}/${P}-revert-async.patch" - - # AppDisplay/FrequentView: filter out hidden applications (from 'master') - epatch "${FILESDIR}/${PN}-3.8.4-nodisplay.patch" - - # Close runDialog as necessary on session mode changes (from 3.10 branch) - epatch "${FILESDIR}/${PN}-3.8.4-close-rundialog.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 -} |