diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-03-26 17:17:48 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-03-26 17:36:07 +0000 |
commit | 70e58881128ed8170821840138ab08fc5cdd3c11 (patch) | |
tree | 1bf0d3d977878df5b58493ea02b2e6c79df3ba22 /pkgs/applications/system | |
parent | a9847c36e6aa003998c1ef5518e5710658ca5770 (diff) | |
parent | 90dcc3360327e250536eeeca7fe9d887c9f7a817 (diff) | |
download | nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar.gz nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar.bz2 nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar.lz nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar.xz nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.tar.zst nixpkgs-70e58881128ed8170821840138ab08fc5cdd3c11.zip |
Merge remote-tracking branch 'nixpkgs/master' into master
Diffstat (limited to 'pkgs/applications/system')
-rw-r--r-- | pkgs/applications/system/glances/default.nix | 58 | ||||
-rw-r--r-- | pkgs/applications/system/glances/skip-failing-tests.patch | 52 |
2 files changed, 110 insertions, 0 deletions
diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix new file mode 100644 index 00000000000..3dfec185b57 --- /dev/null +++ b/pkgs/applications/system/glances/default.nix @@ -0,0 +1,58 @@ +{ stdenv, buildPythonApplication, fetchFromGitHub, fetchpatch, isPyPy, lib +, future, psutil, setuptools +# Optional dependencies: +, bottle, batinfo, pysnmp +, hddtemp +, netifaces # IP module +}: + +buildPythonApplication rec { + pname = "glances"; + version = "3.1.4.1"; + disabled = isPyPy; + + src = fetchFromGitHub { + owner = "nicolargo"; + repo = "glances"; + rev = "v${version}"; + sha256 = "04dc3pwj9qbbhxpihf13ckdgwz0qc771c7v7awni4vyzk3a9cdfb"; + }; + + # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply): + patches = lib.optional (doCheck && stdenv.isLinux) ./skip-failing-tests.patch; + + # On Darwin this package segfaults due to mismatch of pure and impure + # CoreFoundation. This issues was solved for binaries but for interpreted + # scripts a workaround below is still required. + # Relevant: https://github.com/NixOS/nixpkgs/issues/24693 + makeWrapperArgs = lib.optionals stdenv.isDarwin [ + "--set" "DYLD_FRAMEWORK_PATH" "/System/Library/Frameworks" + ]; + + doCheck = true; + preCheck = lib.optional stdenv.isDarwin '' + export DYLD_FRAMEWORK_PATH=/System/Library/Frameworks + ''; + + propagatedBuildInputs = [ + batinfo + bottle + future + netifaces + psutil + pysnmp + setuptools + ] ++ lib.optional stdenv.isLinux hddtemp; + + preConfigure = '' + sed -i 's/data_files\.append((conf_path/data_files.append(("etc\/glances"/' setup.py; + ''; + + meta = with lib; { + homepage = "https://nicolargo.github.io/glances/"; + description = "Cross-platform curses-based monitoring tool"; + changelog = "https://github.com/nicolargo/glances/releases/tag/v${version}"; + license = licenses.lgpl3; + maintainers = with maintainers; [ jonringer primeos koral ]; + }; +} diff --git a/pkgs/applications/system/glances/skip-failing-tests.patch b/pkgs/applications/system/glances/skip-failing-tests.patch new file mode 100644 index 00000000000..f47f1218aea --- /dev/null +++ b/pkgs/applications/system/glances/skip-failing-tests.patch @@ -0,0 +1,52 @@ +diff --git a/unitest.py b/unitest.py +--- a/unitest.py ++++ b/unitest.py +@@ -59,6 +59,7 @@ class TestGlances(unittest.TestCase): + """The function is called *every time* before test_*.""" + print('\n' + '=' * 78) + ++ @unittest.skip("Requires access to /etc/mtab") + def test_000_update(self): + """Update stats (mandatory step for all the stats). + +@@ -87,6 +88,7 @@ class TestGlances(unittest.TestCase): + for plugin in plugins_to_check: + self.assertTrue(plugin in plugins_list) + ++ @unittest.skip("Fails on NixOS") + def test_002_system(self): + """Check SYSTEM plugin.""" + stats_to_check = ['hostname', 'os_name'] +@@ -97,6 +99,7 @@ class TestGlances(unittest.TestCase): + self.assertTrue(stat in stats_grab, msg='Cannot find key: %s' % stat) + print('INFO: SYSTEM stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_003_cpu(self): + """Check CPU plugin.""" + stats_to_check = ['system', 'user', 'idle'] +@@ -110,7 +113,7 @@ class TestGlances(unittest.TestCase): + self.assertLessEqual(stats_grab[stat], 100) + print('INFO: CPU stats: %s' % stats_grab) + +- @unittest.skipIf(WINDOWS, "Load average not available on Windows") ++ @unittest.skip("Fails on NixOS") + def test_004_load(self): + """Check LOAD plugin.""" + stats_to_check = ['cpucore', 'min1', 'min5', 'min15'] +@@ -123,6 +126,7 @@ class TestGlances(unittest.TestCase): + self.assertGreaterEqual(stats_grab[stat], 0) + print('INFO: LOAD stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_005_mem(self): + """Check MEM plugin.""" + stats_to_check = ['available', 'used', 'free', 'total'] +@@ -135,6 +139,7 @@ class TestGlances(unittest.TestCase): + self.assertGreaterEqual(stats_grab[stat], 0) + print('INFO: MEM stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_006_swap(self): + """Check MEMSWAP plugin.""" + stats_to_check = ['used', 'free', 'total'] |