about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-12-10 22:13:38 +0100
committerVladimír Čunát <vcunat@gmail.com>2013-12-10 22:13:38 +0100
commitfac74b7aa94215476529a07bd8403aa5cab66c79 (patch)
tree782a14c22c411b053682cb2888ff524d3b478d35 /pkgs/desktops
parent6ca6ad8794ce46130595bacf6661f5b8761d7bce (diff)
parent4f8e940c403650e0514e4b01fba6fb33a2086dfd (diff)
downloadnixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar.gz
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar.bz2
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar.lz
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar.xz
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.tar.zst
nixlib-fac74b7aa94215476529a07bd8403aa5cab66c79.zip
Merge #1344: add cinnamon-session
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session.nix44
-rw-r--r--pkgs/desktops/cinnamon/remove-sessionmigration.patch19
-rw-r--r--pkgs/desktops/cinnamon/timeout.patch26
3 files changed, 89 insertions, 0 deletions
diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix
new file mode 100644
index 000000000000..30b78ba143ad
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-session.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, gtk3, dbus_glib, 
+upower, json_glib,intltool, systemd, hicolor_icon_theme, cinnamon-session}:
+
+let
+  version = "2.0.6";
+in
+stdenv.mkDerivation {
+  name = "cinnamon-session-${version}";
+  
+  src = fetchurl {
+    url = "http://github.com/linuxmint/cinnamon-session/archive/${version}.tar.gz";
+    sha256 = "0rs5w7npj3wf3gkk3sfb83awks2h7vjd6cz8mvfgbh6m3grn66l3";
+  };
+  
+  
+  configureFlags = "--disable-schemas-compile --enable-systemd --disable-gconf" ; 
+
+  patches = [ ./remove-sessionmigration.patch ./timeout.patch]; 
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    glib gettext gnome_common
+    gtk3 dbus_glib upower json_glib
+    intltool systemd 
+   ];
+
+  preBuild = "patchShebangs ./scripts";
+
+  
+  postInstall  = ''
+     ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
+     rm $out/share/icons/hicolor/icon-theme.cache
+   '';
+ 
+ meta = {
+    homepage = "http://cinnamon.linuxmint.com";
+    description = "the cinnamon session files " ;
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.roelof ];
+  };
+}
+
+
diff --git a/pkgs/desktops/cinnamon/remove-sessionmigration.patch b/pkgs/desktops/cinnamon/remove-sessionmigration.patch
new file mode 100644
index 000000000000..92e63549d964
--- /dev/null
+++ b/pkgs/desktops/cinnamon/remove-sessionmigration.patch
@@ -0,0 +1,19 @@
+--- a/cinnamon-session/csm-session-fill.c
++++ b/cinnamon-session/csm-session-fill.c
+@@ -228,15 +228,6 @@
+ load_standard_apps (CsmManager *manager,
+                     GKeyFile   *keyfile)
+ {
+-        GError *error;
+-
+-        g_debug ("fill: *** Executing user migration");
+-        error = NULL;
+-        if(!g_spawn_command_line_sync ("session-migration", NULL, NULL, NULL, &error)) {
+-                 g_warning ("Error while executing session-migration: %s", error->message);
+-                 g_error_free (error);
+-        }
+-
+         g_debug ("fill: *** Adding required components");
+         handle_required_components (keyfile, !csm_manager_get_failsafe (manager),
+                                     append_required_components_helper, manager);
+
diff --git a/pkgs/desktops/cinnamon/timeout.patch b/pkgs/desktops/cinnamon/timeout.patch
new file mode 100644
index 000000000000..59d1f9ab5f37
--- /dev/null
+++ b/pkgs/desktops/cinnamon/timeout.patch
@@ -0,0 +1,26 @@
+diff -u -r cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c
+--- cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c	2012-02-02 15:33:01.000000000 +0100
++++ cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c	2012-06-10 02:39:46.184348462 +0200
+@@ -36,7 +36,7 @@
+ #define CSM_KEYFILE_DEFAULT_PROVIDER_PREFIX "DefaultProvider"
+ 
+ /* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */
+-#define CSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */
++#define CSM_RUNNABLE_HELPER_TIMEOUT 10000 /* ms */
+ 
+ typedef void (*GsmFillHandleProvider) (const char *provides,
+                                        const char *default_provider,
+diff -u -r cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c 
+cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c
+--- cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c	2011-03-22 21:31:43.000000000 +0100
++++ cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c	2012-06-10 02:42:08.013218006 +0200
+@@ -30,7 +30,7 @@
+ #include <X11/Xatom.h>
+ 
+ /* Wait up to this long for a running check to finish */
+-#define PROPERTY_CHANGE_TIMEOUT 5000
++#define PROPERTY_CHANGE_TIMEOUT 12000
+ 
+ /* Values used for the _GNOME_SESSION_ACCELERATED root window property */
+ #define NO_ACCEL            0
+