diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix new file mode 100644 index 000000000000..97df26aea4e5 --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix @@ -0,0 +1,56 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, systemd, makeWrapper +, withSystemdSupport ? true }: + +with stdenv.lib; + +buildGoPackage rec { + name = "postfix_exporter-${version}"; + 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 ]; + }; +} |