summary refs log tree commit diff
path: root/pkgs/os-specific/linux/procps-ng/default.nix
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2018-07-17 10:06:32 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2018-07-17 10:06:32 +0200
commit9f208b5d8aa10518eb92ed5b7d77e4a588b5154c (patch)
treee521ba305aa4848b216a15e2eac0e69acdb0d1e9 /pkgs/os-specific/linux/procps-ng/default.nix
parent9d0336a2bbe933c1a8e6ea7c7b39eb7ff071ef66 (diff)
parent12949bf84ab06bebb854a07082bf5c32f5e14892 (diff)
downloadnixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar.gz
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar.bz2
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar.lz
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar.xz
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.tar.zst
nixlib-9f208b5d8aa10518eb92ed5b7d77e4a588b5154c.zip
Merge staging into staging-next
Diffstat (limited to 'pkgs/os-specific/linux/procps-ng/default.nix')
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index bd69145521c1..7f1e93c072da 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchurl, ncurses, pkgconfig }:
+{ lib, stdenv, fetchurl, ncurses, pkgconfig
+
+# procps is mostly Linux-only. Most commands require a running Linux
+# system (or very similar like that found in Cygwin). The one
+# exception is ‘watch’ which is portable enough to run on pretty much
+# any UNIX-compatible system.
+, watchOnly ? !(stdenv.isLinux || stdenv.isCygwin) }:
 
 stdenv.mkDerivation rec {
   name = "procps-${version}";
@@ -13,7 +19,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
   nativeBuildInputs = [ pkgconfig ];
 
-  makeFlags = "usrbin_execdir=$(out)/bin";
+  makeFlags = [ "usrbin_execdir=$(out)/bin" ]
+    ++ lib.optionals watchOnly [ "watch" "PKG_LDFLAGS="];
 
   enableParallelBuilding = true;
 
@@ -23,12 +30,17 @@ stdenv.mkDerivation rec {
     [ "ac_cv_func_malloc_0_nonnull=yes"
       "ac_cv_func_realloc_0_nonnull=yes" ];
 
+  installPhase = if watchOnly then ''
+    install -m 0755 -D watch $out/bin/watch
+    install -m 0644 -D watch.1 $out/share/man/man1/watch.1
+  '' else null;
+
   meta = {
     homepage = https://gitlab.com/procps-ng/procps;
     description = "Utilities that give information about processes using the /proc filesystem";
     priority = 10; # less than coreutils, which also provides "kill" and "uptime"
     license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux ++ lib.platforms.cygwin;
+    platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.typetetris ];
   };
 }