summary refs log tree commit diff
path: root/pkgs/tools/system/collectd
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2014-06-15 10:51:43 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2014-07-15 14:07:29 +0200
commit3ba150db2f85f4f1ca145b38569c65a3fc548b9b (patch)
tree2d39636102cfb7e8681fd98acde11e24fe403cc8 /pkgs/tools/system/collectd
parent95636ec752eecf51c4bc0c34e0427d76f1f7d15c (diff)
downloadnixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar.gz
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar.bz2
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar.lz
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar.xz
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.tar.zst
nixpkgs-3ba150db2f85f4f1ca145b38569c65a3fc548b9b.zip
collectd: enable a bunch of plugins (by adding more deps)
These are plugins that are internal to collectd; they are bundled in the
source archive. Without this, many of the collectd plugins advertised on
their homepage don't actually work, so I think we should add this.

This change increases the closure size from 129 MiB to 621 MiB. The size
of the collectd store path itself goes from 2 MiB to 2.9 MiB.

Users wanting a smaller closure size can set some (or all) of the
optional inputs to "null" using ".override".

List of new plugins:

  amqp
  apache
  ascent
  bind
  curl
  curl_json
  curl_xml
  dbi
  dns
  iptables
  libvirt
  lvm
  memcachec
  modbus
  mysql
  nginx
  notify_desktop
  pinba
  ping
  postgresql
  redis
  rrdcached
  rrdtool
  sensors
  sigrok
  varnish
  write_http
  write_redis
  write_riemann
Diffstat (limited to 'pkgs/tools/system/collectd')
-rw-r--r--pkgs/tools/system/collectd/default.nix37
1 files changed, 36 insertions, 1 deletions
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index c76a1a13677..0dd587bf551 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -1,4 +1,29 @@
-{stdenv, fetchurl }:
+{ stdenv, fetchurl
+# optional:
+, pkgconfig ? null  # most of the extra deps need pkgconfig to be found
+, curl ? null
+, iptables ? null
+, libcredis ? null
+, libdbi ? null
+, libgcrypt ? null
+, libmemcached ? null, cyrus_sasl ? null
+, libmodbus ? null
+, libnotify ? null, gdk_pixbuf ? null
+, liboping ? null
+, libpcap ? null
+, libsigrok ? null
+, libvirt ? null
+, libxml2 ? null
+, lm_sensors ? null
+, lvm2 ? null
+, mysql ? null
+, postgresql ? null
+, protobufc ? null
+, rabbitmq-c ? null
+, rrdtool ? null
+, varnish ? null
+, yajl ? null
+}:
 
 stdenv.mkDerivation rec {
   name = "collectd-5.4.1";
@@ -10,6 +35,16 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
+  buildInputs = [
+    pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
+    libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
+    lm_sensors libxml2 lvm2 mysql postgresql protobufc rabbitmq-c rrdtool
+    varnish yajl
+  ];
+
+  # for some reason libsigrok isn't auto-detected
+  configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok";
+
   meta = {
     homepage = http://collectd.org;
     description = "collectd is a daemon which collects system performance statistics periodically";