summary refs log tree commit diff
path: root/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/monitoring/prometheus/postfix-exporter.nix')
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter.nix38
1 files changed, 31 insertions, 7 deletions
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
index 3c2f01c0a5ce..97df26aea4e5 100644
--- a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
@@ -1,8 +1,11 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, systemd, makeWrapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, systemd, makeWrapper
+, withSystemdSupport ? true }:
+
+with stdenv.lib;
 
 buildGoPackage rec {
   name = "postfix_exporter-${version}";
-  version = "0.1.1";
+  version = "0.1.2";
 
   goPackagePath = "github.com/kumina/postfix_exporter";
 
@@ -10,20 +13,41 @@ buildGoPackage rec {
     owner = "kumina";
     repo = "postfix_exporter";
     rev = version;
-    sha256 = "1p2j66jzzgyv2w832pw57g02vrac6ldrblqllgwyy0i8krb3ibyz";
+    sha256 = "1b9ib3scxni6hlw55wv6f0z1xfn27l0p29as24f71rs70pyzy4hm";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ systemd ];
+  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 = ''
+  postInstall = optionalString withSystemdSupport ''
     wrapProgram $bin/bin/postfix_exporter \
       --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib"
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     inherit (src.meta) homepage;
     description = "A Prometheus exporter for Postfix";
     license = licenses.asl20;