diff options
Diffstat (limited to 'pkgs/os-specific/linux/procps-ng/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/procps-ng/default.nix | 18 |
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 ]; }; } |