summary refs log tree commit diff
path: root/pkgs/os-specific/linux/sysklogd/default.nix
blob: 048d82b5a530c26823b0b3ca96bf6c2331773404 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{lib, stdenv, fetchurl}:

stdenv.mkDerivation rec {
  pname = "sysklogd";
  version = "1.5.1";

  src = fetchurl {
    url = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${version}.tar.gz";
    sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji";
  };

  patches = [ ./systemd.patch ./union-wait.patch ./fix-includes-for-musl.patch ];

  env.NIX_CFLAGS_COMPILE = "-DSYSV";

  installFlags = [ "BINDIR=$(out)/sbin" "MANDIR=$(out)/share/man" "INSTALL=install" ];

  makeFlags = [
    "CC=${stdenv.cc.targetPrefix}cc"
  ];

  postPatch = ''
    # Disable stripping during installation, stripping will be done anyway.
    # Fixes cross-compilation.
    substituteInPlace Makefile \
      --replace "-m 500 -s" "-m 500"
  '';

  preConfigure =
    ''
      sed -e 's@-o \''${MAN_USER} -g \''${MAN_GROUP} -m \''${MAN_PERMS} @@' -i Makefile
    '';

  preInstall = "mkdir -p $out/share/man/man5/ $out/share/man/man8/ $out/sbin";

  meta = with lib; {
    description = "A system logging daemon";
    platforms = platforms.linux;
    license = licenses.gpl2;
  };
}