Unverified Commit 012055eb authored by seth's avatar seth
Browse files

systemd-netlogd: init at 1.4.2

parent 8c4dc69b
Loading
Loading
Loading
Loading
+87 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  gperf,
  libcap,
  meson,
  ninja,
  nix-update-script,
  openssl,
  pkg-config,
  pkgsCross,
  sphinx,
  systemd,
  systemdLibs,
  opensslSupport ? true,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "systemd-netlogd";
  version = "1.4.2";

  src = fetchFromGitHub {
    owner = "systemd";
    repo = "systemd-netlogd";
    rev = "refs/tags/v${finalAttrs.version}";
    hash = "sha256-FwBwhsnVathlRQjKyrsPpZZlCb2rIpVuHGq9mG3mNsw=";
  };

  # Fixup a few installation paths
  postPatch = ''
    substituteInPlace meson.build \
      --replace-fail "get_option('prefix')" "get_option('bindir')"
    substituteInPlace doc/meson.build \
      --replace-fail "'/usr/share/man/man8'" "get_option('mandir') / 'man8'"
    substituteInPlace units/meson.build \
      --replace-fail "get_option('prefix') / 'system'" "get_option('libdir') / 'systemd/system'"

    substituteInPlace units/systemd-netlogd.service.in \
      --replace-fail '@PKGPREFIX@/systemd-netlogd' '${placeholder "out"}/bin/systemd-netlogd'
  '';

  outputs = [
    "out"
    "man"
  ];

  strictDeps = true;

  nativeBuildInputs = [
    gperf
    meson
    ninja
    pkg-config
    sphinx
  ];

  buildInputs = [
    libcap
    systemdLibs
  ] ++ lib.optional opensslSupport openssl;

  mesonFlags = [
    "--sysconfdir=${placeholder "out"}/etc/systemd"
    (lib.mesonBool "openssl" opensslSupport)
  ];

  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;

  passthru = {
    # Make sure x86_64-linux -> aarch64-linux cross compilation works
    tests = lib.optionalAttrs (stdenv.buildPlatform.system == "x86_64-linux") {
      aarch64-cross = pkgsCross.aarch64-multiplatform.systemd-netlogd;
    };
    updateScript = nix-update-script { };
  };

  meta = {
    description = "Forwards messages from the journal to other hosts over the network";
    homepage = "https://github.com/systemd/systemd-netlogd";
    changelog = "https://github.com/systemd/systemd-netlogd/releases/tag/${finalAttrs.version}";
    license = lib.licenses.gpl2Plus;
    maintainers = with lib.maintainers; [ getchoo ];
    inherit (systemd.meta) platforms;
    mainProgram = "systemd-netlogd";
  };
})