summary refs log tree commit diff
path: root/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
blob: 8202a8c8c29f3d3ebdb4549cb814ca9b07233a4b (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ stdenv, buildGoPackage, fetchFromGitHub, systemd, makeWrapper
, withSystemdSupport ? true }:

with stdenv.lib;

buildGoPackage rec {
  pname = "postfix_exporter";
  version = "0.1.2";

  goPackagePath = "github.com/kumina/postfix_exporter";

  src = fetchFromGitHub {
    owner = "kumina";
    repo = "postfix_exporter";
    rev = version;
    sha256 = "1b9ib3scxni6hlw55wv6f0z1xfn27l0p29as24f71rs70pyzy4hm";
  };

  nativeBuildInputs = optional withSystemdSupport makeWrapper;
  buildInputs = optional withSystemdSupport systemd;
  buildFlags = optional (!withSystemdSupport) "-tags nosystemd";

  goDeps = ./postfix-exporter-deps.nix;
  extraSrcs = optionals withSystemdSupport [
    {
      goPackagePath = "github.com/coreos/go-systemd";
      src = fetchFromGitHub {
        owner = "coreos";
        repo = "go-systemd";
        rev = "d1b7d058aa2adfc795ad17ff4aaa2bc64ec11c78";
        sha256 = "1nz3v1b90hnmj2vjjwq96pr6psxlndqjyd30v9sgiwygzb7db9mv";
      };
    }
    {
      goPackagePath = "github.com/coreos/pkg";
      src = fetchFromGitHub {
        owner = "coreos";
        repo = "pkg";
        rev = "97fdf19511ea361ae1c100dd393cc47f8dcfa1e1";
        sha256 = "1srn87wih25l09f75483hnxsr8fc6rq3bk7w1x8125ym39p6mg21";
      };
    }
  ];

  postInstall = optionalString withSystemdSupport ''
    wrapProgram $bin/bin/postfix_exporter \
      --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib"
  '';

  meta = {
    inherit (src.meta) homepage;
    description = "A Prometheus exporter for Postfix";
    license = licenses.asl20;
    maintainers = with maintainers; [ willibutz globin ];
  };
}