[arch-commits] Commit in cinnamon/trunk (6 files)

Balló György bgyorgy at nymeria.archlinux.org
Wed Oct 9 04:31:11 UTC 2013


    Date: Wednesday, October 9, 2013 @ 06:31:11
  Author: bgyorgy
Revision: 98359

upgpkg: cinnamon 1.9.2-2

- Remove unused dependencies
- Apply some patches from Fedora
- Use pkexec instead of gksu

Added:
  cinnamon/trunk/git_rollup.patch
  cinnamon/trunk/input_keybindings.patch
  cinnamon/trunk/keyboard_applet.patch
  cinnamon/trunk/org.archlinux.pkexec.cinnamon-settings-users.policy
Modified:
  cinnamon/trunk/PKGBUILD
Deleted:
  cinnamon/trunk/remove_GC.patch

-----------------------------------------------------+
 PKGBUILD                                            |   47 ++++--
 git_rollup.patch                                    |   76 ++++++++++
 input_keybindings.patch                             |   11 +
 keyboard_applet.patch                               |  133 ++++++++++++++++++
 org.archlinux.pkexec.cinnamon-settings-users.policy |    1 
 remove_GC.patch                                     |  124 ----------------
 6 files changed, 254 insertions(+), 138 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-10-09 02:39:20 UTC (rev 98358)
+++ PKGBUILD	2013-10-09 04:31:11 UTC (rev 98359)
@@ -6,16 +6,16 @@
 
 pkgname=cinnamon
 pkgver=1.9.2
-pkgrel=1
+pkgrel=2
 pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
 arch=('i686' 'x86_64')
 url="http://cinnamon.linuxmint.com/"
 license=('GPL2')
-depends=('accountsservice' 'caribou' 'clutter-gtk' 'cjs' 'gnome-bluetooth'
-         'gnome-icon-theme' 'gnome-menus' 'cinnamon-settings-daemon' 'cinnamon-session'
-         'gnome-themes-standard' 'gstreamer0.10' 'libgnome-keyring' 'librsvg'
-         'networkmanager' 'muffin' 'pygtk' 'python2-dbus' 'python2-pillow' 'python2-pexpect'
-         'python2-pyinotify' 'python2-lxml' 'webkitgtk' 'gnome-panel' 'python2' 'cinnamon-translations')
+depends=('accountsservice' 'caribou' 'cinnamon-settings-daemon' 'cinnamon-session'
+         'cinnamon-translations' 'cjs' 'clutter-gtk' 'gconf' 'gnome-icon-theme'
+         'gnome-menus' 'gnome-themes-standard' 'gstreamer0.10' 'libgnome-keyring'
+         'librsvg' 'networkmanager' 'muffin' 'pygtk' 'python2-dbus' 'python2-pillow'
+         'python2-pexpect' 'python2-pyinotify' 'python2-lxml' 'webkitgtk')
 makedepends=('gnome-common' 'intltool')
 optdepends=('cinnamon-control-center: extended configurations for Cinnamon'
             'cinnamon-screensaver: lock screen'
@@ -25,13 +25,19 @@
 options=('!libtool' '!emptydirs')
 install=${pkgname}.install
 source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/archive/$pkgver.tar.gz"
-        "remove_GC.patch"
         "fix-control-center-check.patch"
-        "background.patch")
+        "background.patch"
+        "keyboard_applet.patch"
+        "input_keybindings.patch"
+        "git_rollup.patch"
+        "org.archlinux.pkexec.cinnamon-settings-users.policy")
 sha256sums=('0abaa8da02c4d626084aa482adc551af154796c4c35faaebebdac896ce72aa6d'
-            '3d362efd15f8cfeca1713f5bcf88d4be787b39d7c7f24b73cd13f867af33a680'
             'ee5694bdc997ffa35a817f691b15bae13747137d35ec2aecd0da298d7edbe426'
-            '373d80cdb23250fbde846ed493ba422672cc42b03a111c2ce044467ee782df7f')
+            '373d80cdb23250fbde846ed493ba422672cc42b03a111c2ce044467ee782df7f'
+            '6acb07393105ddced8a4c3c869a596350d1a7d81a808ca5307d2ad770653a9d3'
+            'e28c40eb844105154fa6106f5b4de3151a22805b3a7b2f84be9ea6c15cec3de6'
+            '03809dee8f374a450e6671771d4527161e5697c55f09745eac9db52b0fe0a7a6'
+            '371beac9e55d36f7629d2fc5cb40d6a3e6c0f4aac014f6fefdcd6743b5194b23')
 
 prepare() {
   cd ${srcdir}/Cinnamon*
@@ -40,9 +46,6 @@
   sed -i 's:/usr/bin/python :/usr/bin/python2 :' files/usr/bin/cinnamon-menu-editor
   find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
 
-  # Fix crasher when disconnecting from wifi
-  patch -Np1 -i ../remove_GC.patch
-
   # Check for the cc-panel path, not for the unneeded binary
   patch -Np1 -i ../fix-control-center-check.patch
 
@@ -49,11 +52,23 @@
   # Fix missing backgrounds
   patch -Np1 -i ../background.patch
 
+  # Fix keyboard applet
+  patch -Np1 -i ../keyboard_applet.patch
+
+  # Add input keybindings
+  patch -Np1 -i ../input_keybindings.patch
+
+  # Add support for LightDM user switching
+  patch -Np1 -i ../git_rollup.patch
+
   # Prefix 'System Settings' with 'Cinnamon' to avoid confusion with gnome-control-center
-  sed -i 's/^Name\(.*\)=\(.*\)/Name\1=Cinnamon \2/' files/usr/share/applications/cinnamon-settings.desktop
+  sed -i 's/^Name\(.*\)=\(.*\)/Name\1=Cinnamon \2/' files/usr/share/applications/cinnamon-settings{,-users}.desktop
 
   # fix for the python2 PAM module  
   sed -i 's:import PAM:import pam:' files/usr/lib/cinnamon-settings/modules/cs_user.py
+
+  # Use pkexec instead of gksu
+  sed -i 's/gksu/pkexec/' files/usr/bin/cinnamon-settings-users
 }
 
 build() {
@@ -76,4 +91,8 @@
 
   # Remove leftover files after patching
   find "$pkgdir" -type f -name *.orig | xargs rm
+
+  # Install policy file
+  install -Dm644 "${srcdir}/org.archlinux.pkexec.cinnamon-settings-users.policy" \
+                 "${pkgdir}/usr/share/polkit-1/actions/org.archlinux.pkexec.cinnamon-settings-users.policy"
 }

Added: git_rollup.patch
===================================================================
--- git_rollup.patch	                        (rev 0)
+++ git_rollup.patch	2013-10-09 04:31:11 UTC (rev 98359)
@@ -0,0 +1,76 @@
+diff --git a/configure.ac b/configure.ac
+index 2d807f5..46353a2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
+ 
+ CLUTTER_MIN_VERSION=1.7.5
+ GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
+-GJS_MIN_VERSION=1.29.18
++GJS_MIN_VERSION=1.9.0
+ MUFFIN_MIN_VERSION=1.0.5
+ GTK_MIN_VERSION=3.0.0
+ GIO_MIN_VERSION=2.29.10
+diff --git a/files/usr/share/cinnamon/applets/sound at cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound at cinnamon.org/applet.js
+index e80d97b..73fb87c 100644
+--- a/files/usr/share/cinnamon/applets/sound at cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound at cinnamon.org/applet.js
+@@ -108,8 +108,8 @@ let compatible_players = [
+     'deadbeef', 'smplayer', 'tomahawk'];
+ let support_seek = [
+     'clementine', 'banshee', 'rhythmbox', 'rhythmbox3', 'pragha', 'quodlibet',
+-    'amarok', 'noise', 'xnoise', 'gmusicbrowser', 'spotify', 'vlc', 'beatbox',
+-    'gnome-mplayer', 'qmmp', 'deadbeef', 'tomahawk'];
++    'amarok', 'xnoise', 'gmusicbrowser', 'spotify', 'vlc', 'beatbox',
++    'gnome-mplayer', 'qmmp', 'deadbeef'];
+ /* dummy vars for translation */
+ let x = _("Playing");
+ x = _("Paused");
+diff --git a/files/usr/share/cinnamon/applets/user at cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/user at cinnamon.org/applet.js
+index c2a4c61..0bdd671 100644
+--- a/files/usr/share/cinnamon/applets/user at cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/user at cinnamon.org/applet.js
+@@ -94,7 +94,20 @@ MyApplet.prototype = {
+                 }       
+             }));
+ 
+-            if (GLib.file_test("/usr/bin/mdmflexiserver", GLib.FileTest.EXISTS)) {
++            if (GLib.getenv("XDG_SEAT_PATH")) {
++                // LightDM
++                this.menu.addAction(_("Switch User"), Lang.bind(this, function() {
++                    Util.spawnCommandLine("cinnamon-screensaver-command --lock");
++                    Util.spawnCommandLine("dm-tool switch-to-greeter");
++                }));
++
++                this.menu.addAction(_("Guest Session"), Lang.bind(this, function() {
++                    Util.spawnCommandLine("cinnamon-screensaver-command --lock");
++                    Util.spawnCommandLine("dm-tool switch-to-guest");
++                }));
++            }
++            else if (GLib.file_test("/usr/bin/mdmflexiserver", GLib.FileTest.EXISTS)) {
++                // MDM                
+                 this.menu.addAction(_("Switch User"), Lang.bind(this, function() {
+                     Util.spawnCommandLine("mdmflexiserver");
+                 }));
+diff --git a/js/ui/hotCorner.js b/js/ui/hotCorner.js
+index 82dafab..af91dda 100644
+--- a/js/ui/hotCorner.js
++++ b/js/ui/hotCorner.js
+@@ -230,17 +230,6 @@ HotCorner.prototype = {
+         this._animRipple(this._ripple3, 0.35,  1.0,   0.0,   0.3,     1);
+     },
+ 
+-    handleDragOver: function(source, actor, x, y, time) {
+-        if (source != Main.xdndHandler)
+-            return;
+-
+-        if (!Main.overview.visible && !Main.overview.animationInProgress && !Main.expo.visible) {
+-            this.rippleAnimation();
+-            Main.overview.showTemporarily();
+-            Main.overview.beginItemDrag(actor);
+-        }
+-    },
+-
+     runAction: function(){
+         this._activationTime = Date.now() / 1000;
+ 

Added: input_keybindings.patch
===================================================================
--- input_keybindings.patch	                        (rev 0)
+++ input_keybindings.patch	2013-10-09 04:31:11 UTC (rev 98359)
@@ -0,0 +1,11 @@
+--- a/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
++++ b/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
+@@ -119,6 +119,8 @@ KEYBINDINGS = [
+     [_("Log out"), MEDIA_KEYS_SCHEMA, "logout", False, "system"],
+     [_("Lock screen"), MEDIA_KEYS_SCHEMA, "screensaver", False, "system"],
+     [_("Toggle recording desktop (must restart Cinnamon)"), MUFFIN_KEYBINDINGS_SCHEMA, "toggle-recording", True, "system"],
++    [_("Switch to next source"), MEDIA_KEYS_SCHEMA, "switch-input-source", False, "system"],
++    [_("Switch to previous source"), MEDIA_KEYS_SCHEMA, "switch-input-source-backward", False, "system"],
+ 
+     # Launchers
+     [_("Launch help browser"), MEDIA_KEYS_SCHEMA, "help", False, "launchers"],

Added: keyboard_applet.patch
===================================================================
--- keyboard_applet.patch	                        (rev 0)
+++ keyboard_applet.patch	2013-10-09 04:31:11 UTC (rev 98359)
@@ -0,0 +1,133 @@
+--- a/files/usr/share/cinnamon/applets/keyboard at cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/keyboard at cinnamon.org/applet.js
+@@ -1,9 +1,10 @@
+ const Applet = imports.ui.applet;
+-const Gkbd = imports.gi.Gkbd;
+ const Lang = imports.lang;
+-const Cinnamon = imports.gi.Cinnamon;
++const Gio = imports.gi.Gio;
++const GLib = imports.gi.GLib;
+ const St = imports.gi.St;
+ const Gtk = imports.gi.Gtk;
++const CinnamonDesktop = imports.gi.CinnamonDesktop;
+ const Main = imports.ui.main;
+ const PopupMenu = imports.ui.popupMenu;
+ const Util = imports.misc.util;
+@@ -16,11 +17,12 @@ function LayoutMenuItem() {
+ LayoutMenuItem.prototype = {
+     __proto__: PopupMenu.PopupBaseMenuItem.prototype,
+ 
+-    _init: function(config, id, indicator, long_name) {
++    _init: function(ipsettings, id, index, indicator, long_name) {
+         PopupMenu.PopupBaseMenuItem.prototype._init.call(this);
+ 
+-        this._config = config;
++        this._ipsettings = ipsettings;
+         this._id = id;
++        this._index = index;
+         this.label = new St.Label({ text: long_name });
+         this.indicator = indicator;
+         this.addActor(this.label);
+@@ -29,7 +31,7 @@ LayoutMenuItem.prototype = {
+ 
+     activate: function(event) {
+         PopupMenu.PopupBaseMenuItem.prototype.activate.call(this);
+-        this._config.lock_group(this._id);
++        this._ipsettings.set_value('current', GLib.Variant.new_uint32(this._index));
+     }
+ };
+ 
+@@ -62,18 +64,18 @@ MyApplet.prototype = {
+                                        this._syncConfig,
+                                        null);
+ 
+-            this._config = Gkbd.Configuration.get();
+-            this._config.connect('changed', Lang.bind(this, this._syncConfig));
+-            this._config.connect('group-changed', Lang.bind(this, this._syncGroup));
++            this._xkbInfo = new CinnamonDesktop.XkbInfo();
++            this._ipsettings = new Gio.Settings({ schema: 'org.cinnamon.desktop.input-sources' });
++            this._ipsettings.connect('changed::sources', Lang.bind(this, this._syncConfig));
++            this._ipsettings.connect('changed::current', Lang.bind(this, this._syncGroup));
+ 
+-            this._config.start_listen();
+ 
+             this._syncConfig();
+ 
+             this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+             this.menu.addAction(_("Show Keyboard Layout"), Lang.bind(this, function() {
+                 Main.overview.hide();
+-                Util.spawn(['gkbd-keyboard-display', '-g', String(this._config.get_current_group() + 1)]);
++                Util.spawn(['gkbd-keyboard-display', '-l', this._selectedLayout._id]);
+             }));                                
+             this.menu.addAction(_("Show Character Table"), Lang.bind(this, function() {
+                 Main.overview.hide();
+@@ -113,8 +115,8 @@ MyApplet.prototype = {
+     },
+ 
+     _syncConfig: function() {
+-        let groups = this._config.get_group_names();
+-        if (groups.length > 1) {
++        let sources = this._ipsettings.get_value('sources');
++        if (sources.n_children() > 1) {
+             this.actor.show();
+         } else {
+             this.menu.close();
+@@ -127,25 +129,30 @@ MyApplet.prototype = {
+         for (let i = 0; i < this._labelActors.length; i++)
+             this._labelActors[i].destroy();
+ 
+-        let short_names = this._adjustGroupNames(this._config.get_short_group_names());
+ 
+         this._selectedLayout = null;
+         this._layoutItems = [ ];
+         this._labelActors = [ ];
+-        for (let i = 0; i < groups.length; i++) {
+-            let icon_name = this._config.get_group_name(i);
++        for (let i = 0; i < sources.n_children(); i++) {
++            let [type, id] = sources.get_child_value(i).deep_unpack();
++            let displayName = id;
++            let shortName = id;
++            let xkbLayout = id;
++            if (type == 'xkb') {
++                [_exists, displayName, shortName, xkbLayout, _xkbVariant] = this._xkbInfo.get_layout_info(id);
++            } // TODO: errorhandling, handle 'ibus'
++            let icon_name = xkbLayout; // FIXME: Really?
+             let actor;
+             if (this._showFlags)
+                 actor = new St.Icon({ icon_name: icon_name, icon_type: St.IconType.FULLCOLOR, style_class: 'popup-menu-icon' });
+             else
+-                actor = new St.Label({ text: short_names[i] });
+-            let item = new LayoutMenuItem(this._config, i, actor, groups[i]);
+-            item._short_group_name = short_names[i];
++                actor = new St.Label({ text: shortName });
++            let item = new LayoutMenuItem(this._ipsettings, id, i, actor, displayName);
+             item._icon_name = icon_name;
+             this._layoutItems.push(item);
+             this.menu.addMenuItem(item, i);
+ 
+-            let shortLabel = new St.Label({ text: short_names[i] });
++            let shortLabel = new St.Label({ text: shortName });
+             this._labelActors.push(shortLabel);
+         }
+ 
+@@ -153,17 +160,17 @@ MyApplet.prototype = {
+     },
+ 
+     _syncGroup: function() {
+-        let selected = this._config.get_current_group();
++        let current = this._ipsettings.get_uint('current');
+ 
+         if (this._selectedLayout) {
+             this._selectedLayout.setShowDot(false);
+             this._selectedLayout = null;
+         }
+ 
+-        let item = this._layoutItems[selected];
++        let item = this._layoutItems[current];
+         item.setShowDot(true);
+ 
+-        let selectedLabel = this._labelActors[selected];
++        let selectedLabel = this._labelActors[current];
+ 
+         if (this._showFlags) {
+             this.set_applet_icon_name(item._icon_name);

Added: org.archlinux.pkexec.cinnamon-settings-users.policy
===================================================================
(Binary files differ)

Index: cinnamon/trunk/org.archlinux.pkexec.cinnamon-settings-users.policy
===================================================================
--- org.archlinux.pkexec.cinnamon-settings-users.policy	2013-10-09 02:39:20 UTC (rev 98358)
+++ org.archlinux.pkexec.cinnamon-settings-users.policy	2013-10-09 04:31:11 UTC (rev 98359)

Property changes on: cinnamon/trunk/org.archlinux.pkexec.cinnamon-settings-users.policy
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/xml
\ No newline at end of property
Deleted: remove_GC.patch
===================================================================
--- remove_GC.patch	2013-10-09 02:39:20 UTC (rev 98358)
+++ remove_GC.patch	2013-10-09 04:31:11 UTC (rev 98359)
@@ -1,124 +0,0 @@
---- 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) {




More information about the arch-commits mailing list