From 0935cbf2872d2b6fff3b700eeae324ad6e317068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Maccagnoni?= Date: Wed, 7 Mar 2018 09:24:31 +0100 Subject: [PATCH] gnomeExtensions.system-monitor: fix this package and upgrade to v33 --- .../default.nix} | 17 ++++++++++++----- .../remove_nonexisting_mounts.patch | 13 +++++++++++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 26 insertions(+), 5 deletions(-) rename pkgs/desktops/gnome-3/extensions/{system-monitor.nix => system-monitor/default.nix} (53%) create mode 100644 pkgs/desktops/gnome-3/extensions/system-monitor/remove_nonexisting_mounts.patch diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix similarity index 53% rename from pkgs/desktops/gnome-3/extensions/system-monitor.nix rename to pkgs/desktops/gnome-3/extensions/system-monitor/default.nix index 0c3e65633c8..2c2f9870c7f 100644 --- a/pkgs/desktops/gnome-3/extensions/system-monitor.nix +++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix @@ -1,26 +1,33 @@ -{ stdenv, fetchFromGitHub, glib }: +# This package needs the following configuration in configuration.nix: +# services.xserver.desktopManager.gnome3.sessionPath = [ pkgs.libgtop pkgs.glib_networking ]; +{ config, stdenv, fetchFromGitHub, glib, glib_networking, libgtop, pkgs }: stdenv.mkDerivation rec { name = "gnome-shell-system-monitor-${version}"; - version = "8b31f070e9e59109d729661ced313d6a63e31787"; + version = "v33"; src = fetchFromGitHub { owner = "paradoxxxzero"; repo = "gnome-shell-system-monitor-applet"; rev = version; - sha256 = "0fm5zb6qp53jjy2mnkb8ybxygzjwpb314giiq0ywq87hhrpch8m3"; + sha256 = "0abqaanl5r26x8f0mm0jgrjsr86hcx7mk75dx5c3zz7csw4nclkk"; }; buildInputs = [ glib + glib_networking + libgtop ]; + patches = [ ./remove_nonexisting_mounts.patch ]; + buildPhase = '' ${glib.dev}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas ''; 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 +35,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/remove_nonexisting_mounts.patch b/pkgs/desktops/gnome-3/extensions/system-monitor/remove_nonexisting_mounts.patch new file mode 100644 index 00000000000..8bff7fbe24f --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/system-monitor/remove_nonexisting_mounts.patch @@ -0,0 +1,13 @@ +diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js +index b4b7f15..d645654 100644 +--- a/system-monitor@paradoxxx.zero.gmail.com/extension.js ++++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js +@@ -386,7 +386,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 + '/')) { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5c017f8d93..319133b89db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19289,6 +19289,7 @@ with pkgs; nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { }; no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { }; remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { }; + system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor { }; taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { }; topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { }; };