summaryrefslogtreecommitdiff
path: root/community/cinnamon
diff options
context:
space:
mode:
Diffstat (limited to 'community/cinnamon')
-rw-r--r--community/cinnamon/PKGBUILD34
-rw-r--r--community/cinnamon/background.patch16
-rw-r--r--community/cinnamon/bluetooth_obex_transfer.patch25
-rw-r--r--community/cinnamon/disable-mpris-support.patch17
-rw-r--r--community/cinnamon/remove_GC.patch124
5 files changed, 212 insertions, 4 deletions
diff --git a/community/cinnamon/PKGBUILD b/community/cinnamon/PKGBUILD
index 7b2b05a89..c8d32fbab 100644
--- a/community/cinnamon/PKGBUILD
+++ b/community/cinnamon/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 94121 2013-07-14 15:37:15Z faidoc $
+# $Id: PKGBUILD 95592 2013-08-14 21:28:25Z bgyorgy $
# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
# Contributor: M0Rf30
# Contributor: unifiedlinux
@@ -6,7 +6,7 @@
pkgname=cinnamon
pkgver=1.8.8
-pkgrel=2
+pkgrel=4
pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
arch=('i686' 'x86_64' 'mips64el')
url="http://cinnamon.linuxmint.com/"
@@ -26,19 +26,27 @@ optdepends=('cinnamon-control-center: extended configurations for Cinnamon'
options=('!libtool' '!emptydirs')
install=${pkgname}.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/archive/$pkgver.tar.gz"
+ "remove_GC.patch"
"keyboard_applet.patch"
"fix-control-center-check.patch"
"gnome-3.8.patch"
"switch-applications.patch"
"fallback-helpers.patch"
- "idle-dim.patch")
+ "idle-dim.patch"
+ "background.patch"
+ "bluetooth_obex_transfer.patch"
+ "disable-mpris-support.patch")
sha256sums=('1bce982e6333e7bd27a1df9f37eb9139360c2fef667c7a998a79f216d4a0921d'
+ '3d362efd15f8cfeca1713f5bcf88d4be787b39d7c7f24b73cd13f867af33a680'
'a0c05c995102b16f1060cbd43931eeaefeafd0265a0335e4ca14a143bd4c8c30'
'ee5694bdc997ffa35a817f691b15bae13747137d35ec2aecd0da298d7edbe426'
'01508c4f41664d5e29f700dc77c9f5c5441f128ab759f0ae8325c5fdda70b00e'
'921a1f63d2890dd54c149aa27a3d3209ac2fb843be597ae4ef3b4621e76a2262'
'fc8e8f5b7772ff331212280b0d4cf624c5ca2a442e8e8defc319cc2f2b060f2e'
- 'b34c30299fb88228c59f36fced90d56346847019a080bc7b8157b72caa659100')
+ 'b34c30299fb88228c59f36fced90d56346847019a080bc7b8157b72caa659100'
+ '373d80cdb23250fbde846ed493ba422672cc42b03a111c2ce044467ee782df7f'
+ '4497f3e0a97c364845d8a3a3b3b75e7dc9d475dc39f56b2106f8c4b9e5111ac2'
+ 'f1eb8110718434e1dc2cf0a308757a787390382dfccd1c8cc80488b93cf6a9f7')
build() {
cd ${srcdir}/Cinnamon*
@@ -49,6 +57,9 @@ build() {
files/usr/share/$pkgname/applets/panel-launchers@$pkgname.org/$pkgname-add-panel-launcher.py
find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+ # Fix crasher when disconnecting from wifi
+ patch -Np1 -i ../remove_GC.patch
+
# Fix Keyboard applet
# https://github.com/linuxmint/Cinnamon/issues/1337
patch -Np1 -i ../keyboard_applet.patch
@@ -68,6 +79,15 @@ build() {
# Fix brightness applet for GNOME 3.8
patch -Np1 -i ../idle-dim.patch
+ # Fix missing backgrounds
+ patch -Np1 -i ../background.patch
+
+ # Remove "Browse Files..." option as it's gone from gnome-bluetooth 3.8
+ patch -Np1 -i ../bluetooth_obex_transfer.patch
+
+ # Disable MPRIS support (workaround for FS#35282)
+ patch -Np1 -i ../disable-mpris-support.patch
+
./autogen.sh --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/cinnamon \
@@ -82,4 +102,10 @@ build() {
package() {
cd ${srcdir}/Cinnamon*
make DESTDIR="${pkgdir}" install
+
+ # Remove leftover files after patching
+ find "$pkgdir" -type f -name *.orig | xargs rm
+
+ # Prefix 'System Settings' with 'Cinnamon' to avoid confusion with gnome-control-center
+ sed -i 's/^Name\(.*\)=\(.*\)/Name\1=Cinnamon \2/' "$pkgdir/usr/share/applications/cinnamon-settings.desktop"
}
diff --git a/community/cinnamon/background.patch b/community/cinnamon/background.patch
new file mode 100644
index 000000000..ccfdce4cf
--- /dev/null
+++ b/community/cinnamon/background.patch
@@ -0,0 +1,16 @@
+--- a/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
++++ b/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
+@@ -334,10 +334,9 @@ class BackgroundWallpaperPane (Gtk.VBox)
+
+ def update_icon_view(self):
+ pictures_list = []
+- if os.path.exists("/usr/share/cinnamon-background-properties"):
+- for i in os.listdir("/usr/share/cinnamon-background-properties"):
+- if i.endswith(".xml"):
+- pictures_list += self.parse_xml_backgrounds_list(os.path.join("/usr/share/cinnamon-background-properties", i))
++ for i in os.listdir("/usr/share/gnome-background-properties"):
++ if i.endswith(".xml"):
++ pictures_list += self.parse_xml_backgrounds_list(os.path.join("/usr/share/gnome-background-properties", i))
+
+ path = os.path.join(os.getenv("HOME"), ".cinnamon", "backgrounds")
+ if os.path.exists(path):
diff --git a/community/cinnamon/bluetooth_obex_transfer.patch b/community/cinnamon/bluetooth_obex_transfer.patch
new file mode 100644
index 000000000..0e632c48b
--- /dev/null
+++ b/community/cinnamon/bluetooth_obex_transfer.patch
@@ -0,0 +1,25 @@
+--- a/files/usr/share/cinnamon/applets/bluetooth@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/bluetooth@cinnamon.org/applet.js
+@@ -455,22 +455,6 @@ MyApplet.prototype = {
+ this._applet.send_to_address(device.bdaddr, device.alias);
+ }));
+ }
+- if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_FILE_TRANSFER) {
+- item.menu.addAction(_("Browse Files..."), Lang.bind(this, function(event) {
+- this._applet.browse_address(device.bdaddr, event.get_time(),
+- Lang.bind(this, function(applet, result) {
+- try {
+- applet.browse_address_finish(result);
+- } catch (e) {
+- this._ensureSource();
+- this._source.notify(new MessageTray.Notification(this._source,
+- _("Bluetooth"),
+- _("Error browsing device"),
+- { body: _("The requested device cannot be browsed, error is '%s'").format(e) }));
+- }
+- }));
+- }));
+- }
+
+ switch (device.type) {
+ case GnomeBluetoothApplet.Type.KEYBOARD:
diff --git a/community/cinnamon/disable-mpris-support.patch b/community/cinnamon/disable-mpris-support.patch
new file mode 100644
index 000000000..dff615f4f
--- /dev/null
+++ b/community/cinnamon/disable-mpris-support.patch
@@ -0,0 +1,17 @@
+diff -Naur Cinnamon-1.8.8.orig/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js Cinnamon-1.8.8/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+--- Cinnamon-1.8.8.orig/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js 2013-08-14 16:44:19.955273614 +0000
++++ Cinnamon-1.8.8/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js 2013-08-14 16:46:34.171029992 +0000
+@@ -600,13 +600,6 @@
+
+ // menu not showed by default
+ this._players = {};
+- // watch players
+- for (var p=0; p<compatible_players.length; p++) {
+- Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], Gio.BusNameWatcherFlags.NONE,
+- Lang.bind(this, this._addPlayer),
+- Lang.bind(this, this._removePlayer)
+- );
+- }
+
+ this._control = new Gvc.MixerControl({ name: 'Cinnamon Volume Control' });
+ this._control.connect('state-changed', Lang.bind(this, this._onControlStateChanged));
diff --git a/community/cinnamon/remove_GC.patch b/community/cinnamon/remove_GC.patch
new file mode 100644
index 000000000..7bd8e45a6
--- /dev/null
+++ b/community/cinnamon/remove_GC.patch
@@ -0,0 +1,124 @@
+--- a/src/cinnamon-global.c
++++ b/src/cinnamon-global.c
+@@ -1399,35 +1399,6 @@ cinnamon_global_reexec_self (CinnamonGlo
+ g_ptr_array_free (arr, TRUE);
+ }
+
+-/**
+- * cinnamon_global_gc:
+- * @global: A #CinnamonGlobal
+- *
+- * Start a garbage collection process. For more information, see
+- * https://developer.mozilla.org/En/JS_GC
+- */
+-void
+-cinnamon_global_gc (CinnamonGlobal *global)
+-{
+- JSContext *context = gjs_context_get_native_context (global->js_context);
+-
+- JS_GC (context);
+-}
+-
+-/**
+- * cinnamon_global_maybe_gc:
+- * @global: A #CinnamonGlobal
+- *
+- * Start a garbage collection process when it would free up enough memory
+- * to be worth the amount of time it would take
+- * https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_MaybeGC
+- */
+-void
+-cinnamon_global_maybe_gc (CinnamonGlobal *global)
+-{
+- gjs_context_maybe_gc (global->js_context);
+-}
+-
+ static void
+ cinnamon_global_on_gc (GjsContext *context,
+ CinnamonGlobal *global)
+@@ -1768,13 +1768,6 @@ run_leisure_functions (gpointer data)
+ if (global->work_count > 0)
+ return FALSE;
+
+- /* Previously we called gjs_maybe_gc(). However, it simply doesn't
+- * trigger often enough. Garbage collection is very fast here, so
+- * let's just aggressively GC. This will help avoid both heap
+- * fragmentation, and the GC kicking in when we don't want it to.
+- */
+- gjs_context_gc (global->js_context);
+-
+ /* No leisure closures, so we are done */
+ if (global->leisure_closures == NULL)
+ return FALSE;
+--- a/src/cinnamon-global.h
++++ b/src/cinnamon-global.h
+@@ -88,10 +88,6 @@ void cinnamon_global_set_pointer
+ int y);
+
+
+-/* JavaScript utilities */
+-void cinnamon_global_gc (CinnamonGlobal *global);
+-void cinnamon_global_maybe_gc (CinnamonGlobal *global);
+-
+ typedef struct {
+ guint glibc_uordblks;
+
+
+
+--- a/js/perf/core.js
++++ b/js/perf/core.js
+@@ -1,5 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
++const System = imports.system;
++
+ const Main = imports.ui.main;
+ const Scripting = imports.ui.scripting;
+
+@@ -99,7 +101,7 @@ function run() {
+ Main.overview.hide();
+ yield Scripting.waitLeisure();
+
+- global.gc();
++ System.gc();
+ yield Scripting.sleep(1000);
+ Scripting.collectStatistics();
+ Scripting.scriptEvent('afterShowHide');
+--- a/js/ui/lookingGlass.js
++++ b/js/ui/lookingGlass.js
+@@ -11,6 +11,7 @@ const St = imports.gi.St;
+ const Cinnamon = imports.gi.Cinnamon;
+ const Signals = imports.signals;
+ const Lang = imports.lang;
++const System = imports.system;
+
+ const History = imports.misc.history;
+ const Extension = imports.ui.extension;
+@@ -680,7 +681,7 @@ Memory.prototype = {
+
+ this._gcbutton = new St.Button({ label: 'Full GC',
+ style_class: 'lg-obj-inspector-button' });
+- this._gcbutton.connect('clicked', Lang.bind(this, function () { global.gc(); this._renderText(); }));
++ this._gcbutton.connect('clicked', Lang.bind(this, function () { System.gc(); this._renderText(); }));
+ this.actor.add(this._gcbutton, { x_align: St.Align.START,
+ x_fill: false });
+
+--- a/js/ui/lookingGlassDBus.js
++++ b/js/ui/lookingGlassDBus.js
+@@ -1,5 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
++const System = imports.system;
++
+ const Gio = imports.gi.Gio;
+ const Main = imports.ui.main;
+ const Extension = imports.ui.extension;
+@@ -99,7 +101,7 @@ CinnamonLookingGlass.prototype = {
+ },
+
+ FullGc: function() {
+- global.gc();
++ System.gc();
+ },
+
+ Inspect: function(path) {