about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/grafana/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
new file mode 100644
index 000000000000..c8e49a851e90
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
+
+buildGoPackage rec {
+  version = "5.4.2";
+  name = "grafana-${version}";
+  goPackagePath = "github.com/grafana/grafana";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "grafana";
+    repo = "grafana";
+    sha256 = "113cas1grvigfvgpkz3na6kaf2shfl7mpaikqsxn3z7xab7nqm96";
+  };
+
+  srcStatic = fetchurl {
+    url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-amd64.tar.gz";
+    sha256 = "0rpq0q84619g5cixrcnzkvx6875g8mxc12gl8y5nzmq7zdavfa32";
+  };
+
+  postPatch = ''
+    substituteInPlace pkg/cmd/grafana-server/main.go \
+      --replace 'var version = "5.0.0"'  'var version = "${version}"'
+  '';
+
+  preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
+
+  postInstall = ''
+    tar -xvf $srcStatic
+    mkdir -p $bin/share/grafana
+    mv grafana-*/{public,conf,tools} $bin/share/grafana/
+    ln -sf ${phantomjs2}/bin/phantomjs $bin/share/grafana/tools/phantomjs/phantomjs
+  '';
+
+  meta = with lib; {
+    description = "Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB";
+    license = licenses.asl20;
+    homepage = https://grafana.org/;
+    maintainers = with maintainers; [ offline fpletz willibutz ];
+    platforms = platforms.linux;
+  };
+}