about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/system/netdata/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/system/netdata/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix43
1 files changed, 33 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index ec30c1d070cd..a749595b4154 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -1,29 +1,52 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, zlib, libuuid, libossp_uuid, CoreFoundation, IOKit, lm_sensors }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig
+, CoreFoundation, IOKit, libossp_uuid
+, curl, libcap,  libuuid, lm_sensors, zlib
+, withCups ? false, cups
+, withDBengine ? true, libuv, lz4, judy
+, withIpmi ? (!stdenv.isDarwin), freeipmi
+, withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct
+, withSsl ? true, openssl
+, withDebug ? false
+}:
 
-stdenv.mkDerivation rec{
-  version = "1.11.1";
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "1.15.0";
   name = "netdata-${version}";
 
   src = fetchurl {
     url = "https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz";
-    sha256 = "0djph4586cc14vavj6za6k255lscf3b415dx8k45q3nsc2hb4l01";
+    sha256 = "04frfy08k6m70y3s8j3gvnfnqqd9d5mwj3j6krk9dsh34332abvx";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ zlib ]
-    ++ (if stdenv.isDarwin then [ libossp_uuid CoreFoundation IOKit ] else [ libuuid ]);
+  buildInputs = [ curl.dev zlib.dev ]
+    ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
+    ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ]
+    ++ optionals withCups [ cups ]
+    ++ optionals withDBengine [ libuv lz4.dev judy ]
+    ++ optionals withIpmi [ freeipmi ]
+    ++ optionals withNetfilter [ libmnl libnetfilter_acct ]
+    ++ optionals withSsl [ openssl.dev ];
 
   patches = [
     ./no-files-in-etc-and-var.patch
   ];
 
-  postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+  NIX_CFLAGS_COMPILE = optional withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
+
+  postInstall = optionalString (!stdenv.isDarwin) ''
     # rename this plugin so netdata will look for setuid wrapper
     mv $out/libexec/netdata/plugins.d/apps.plugin \
-      $out/libexec/netdata/plugins.d/apps.plugin.org
+       $out/libexec/netdata/plugins.d/apps.plugin.org
+    ${optionalString withIpmi ''
+      mv $out/libexec/netdata/plugins.d/freeipmi.plugin \
+         $out/libexec/netdata/plugins.d/freeipmi.plugin.org
+    ''}
   '';
 
-  preConfigure = ''
+  preConfigure =  optionalString (!stdenv.isDarwin) ''
     substituteInPlace collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \
       --replace 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"'
   '';
@@ -37,7 +60,7 @@ stdenv.mkDerivation rec{
     rm -r $out/sbin
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Real-time performance monitoring tool";
     homepage = https://my-netdata.io/;
     license = licenses.gpl3;