nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
Klemens Nanni 3af642c13a sysstat: Do not compress manual pages with xz(1)
sysstat compresses manual pages using the `ZIP` environment variable
unless `COMPRESS_MANPG` is set.

`ZIP` seems to default to xz(1) and is for more than just compressing
manuals.

At least with `documentation.man.mandoc.enable = true;` this renders
them unreadable:
```
$ man -w mpstat
man: outdated mandoc.db lacks mpstat(1) entry, run makewhatis /nix/store/lk0r6ibvkrvaq96gp8h4rqgrd2q0c8q5-system-path/share/man
/nix/store/lk0r6ibvkrvaq96gp8h4rqgrd2q0c8q5-system-path/share/man/man1/mpstat.1.xz

```
(followed by `PAGER` showing compressed mpstat.1.xz content.)

Disable manual page compression during build and thus defer it to Nix:
```
gzipping man pages under /nix/store/wl2dwl1lhs9g5w2d5dhr0pcskp78nz42-sysstat-12.4.5/share/man/
```

This also avoids potential runtime incompatibilites in sysstat
(I am not a `services.systat` user).
2022-05-26 15:46:37 +02:00

34 lines
1,022 B
Nix

{ lib, stdenv, fetchurl, gettext, bzip2 }:
stdenv.mkDerivation rec {
pname = "sysstat";
version = "12.4.5";
src = fetchurl {
url = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${version}.tar.xz";
sha256 = "sha256-70RazqMBu7mW5BCEL2KQqNBJ6ITUhoz+9+hdwEt+7ls=";
};
buildInputs = [ gettext ];
preConfigure = ''
export PATH_CP=$(type -tp cp)
export PATH_CHKCONFIG=/no-such-program
export BZIP=${bzip2.bin}/bin/bzip2
export SYSTEMCTL=systemctl
export COMPRESS_MANPG=n
'';
makeFlags = [ "SYSCONFIG_DIR=$(out)/etc" "IGNORE_FILE_ATTRIBUTES=y" "CHOWN=true" ];
installTargets = [ "install_base" "install_nls" "install_man" ];
patches = [ ./install.patch ];
meta = {
homepage = "http://sebastien.godard.pagesperso-orange.fr/";
description = "A collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.eelco ];
};
}