summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/extensions
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2018-03-28 09:59:33 +0000
committerGitHub <noreply@github.com>2018-03-28 09:59:33 +0000
commit52f9d29d9a296d3788cd1d659bb938f612f95698 (patch)
tree95a1d22dada4ba65dfba32699157517a8f1ceb40 /pkgs/desktops/gnome-3/extensions
parent7f1201cf740a4eee784a6e7308979b4d8a318bcd (diff)
parenta180a52dd330388d489ae8100d188ffc0e82b3b9 (diff)
downloadnixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar.gz
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar.bz2
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar.lz
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar.xz
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.tar.zst
nixpkgs-52f9d29d9a296d3788cd1d659bb938f612f95698.zip
Merge pull request #36410 from tiramiseb/gnome-shell-extension-system-monitor
gnomeExtensions.system-monitor: fix this package and upgrade to v33
Diffstat (limited to 'pkgs/desktops/gnome-3/extensions')
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/default.nix (renamed from pkgs/desktops/gnome-3/extensions/system-monitor.nix)23
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch23
2 files changed, 40 insertions, 6 deletions
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 0c3e65633c8..eed34ae523d 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, fetchFromGitHub, glib }:
+{ config, stdenv, substituteAll, fetchFromGitHub, glib, glib_networking, libgtop, pkgs }:
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-system-monitor-${version}";
-  version = "8b31f070e9e59109d729661ced313d6a63e31787";
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
-    rev = version;
-    sha256 = "0fm5zb6qp53jjy2mnkb8ybxygzjwpb314giiq0ywq87hhrpch8m3";
+    rev = "v${version}";
+    sha256 = "0abqaanl5r26x8f0mm0jgrjsr86hcx7mk75dx5c3zz7csw4nclkk";
   };
 
   buildInputs = [
     glib
+    glib_networking
+    libgtop
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./paths_and_nonexisting_dirs.patch;
+      gtop_path = "${libgtop}/lib/girepository-1.0";
+      glib_net_path = "${glib_networking}/lib/girepository-1.0";
+    })
   ];
 
   buildPhase = ''
@@ -20,7 +30,8 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    cp -r ${uuid} $out
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
   '';
 
   uuid = "system-monitor@paradoxxx.zero.gmail.com";
@@ -28,7 +39,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Display system informations in gnome shell status bar";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa ];
+    maintainers = with maintainers; [ aneeshusa tiramiseb ];
     homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch b/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch
new file mode 100644
index 00000000000..82e3d7c541b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch
@@ -0,0 +1,23 @@
+diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js
+index b4b7f15..d139135 100644
+--- a/system-monitor@paradoxxx.zero.gmail.com/extension.js
++++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js
+@@ -18,6 +18,9 @@
+ 
+ // Author: Florian Mounier aka paradoxxxzero
+ 
++imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@');
++imports.gi.GIRepository.Repository.prepend_search_path('@glib_net_path@');
++
+ /* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily
+  * by loading the new libnm.so. Should go away eventually */
+ const libnm_glib = imports.gi.GIRepository.Repository.get_default().is_registered("NMClient", "1.0");
+@@ -386,7 +389,7 @@ const smMountsMonitor = new Lang.Class({
+     connected: false,
+     _init: function () {
+         this._volumeMonitor = Gio.VolumeMonitor.get();
+-        let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local'];
++        let sys_mounts = ['/home', '/tmp', '/boot'];
+         this.base_mounts = ['/'];
+         sys_mounts.forEach(Lang.bind(this, function (sMount) {
+             if (this.is_sys_mount(sMount + '/')) {