summary refs log tree commit diff
path: root/pkgs/tools/system/rsyslog/default.nix
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-03-11 18:49:38 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-03-11 18:50:04 -0700
commitce0a5ab6c27bc735203a24d12e1108c251bae522 (patch)
treeb57249ef377bc04b0fdddff9f84680270051919c /pkgs/tools/system/rsyslog/default.nix
parenta5c221c299dce1714fe997bd675a04229f937211 (diff)
downloadnixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar.gz
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar.bz2
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar.lz
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar.xz
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.tar.zst
nixpkgs-ce0a5ab6c27bc735203a24d12e1108c251bae522.zip
rsyslog: 7.6.3 -> 8.8.0
Diffstat (limited to 'pkgs/tools/system/rsyslog/default.nix')
-rw-r--r--pkgs/tools/system/rsyslog/default.nix101
1 files changed, 90 insertions, 11 deletions
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index d18c2737854..e253a4ef00e 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -1,23 +1,102 @@
-{stdenv, fetchurl, eventlog, pkgconfig, libestr, libee, json_c, libuuid, zlib, gnutls, libgcrypt, systemd, liblogging}:
+{ stdenv, fetchurl, pkgconfig, libestr, json_c, zlib, pythonPackages
+, krb5 ? null, systemd ? null, jemalloc ? null, mysql ? null, postgresql ? null
+, libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null
+, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null
+, libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
+, libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null
+}:
 
-stdenv.mkDerivation {
-  name = "rsyslog-7.6.3";
+with stdenv.lib;
+let
+  mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
+in
+stdenv.mkDerivation rec {
+  name = "rsyslog-8.8.0";
 
   src = fetchurl {
-    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.6.3.tar.gz;
-    sha256 = "1v7mi2jjyn3awrfxqvd3mg64m5r027dgpbzd511mlvlbbw1mjcq1";
+    url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
+    sha256 = "1sx0j5icp172rzcpybjpfw53aj34w8j7k3f1ga0pmbv58r3pwyhl";
   };
 
-  buildInputs = [pkgconfig libestr libee json_c libuuid zlib gnutls libgcrypt systemd liblogging];
+  buildInputs = [
+    pkgconfig libestr json_c zlib pythonPackages.docutils
+    krb5 systemd jemalloc mysql postgresql libdbi net_snmp libuuid curl gnutls
+    libgcrypt liblognorm openssl librelp libgt liblogging libnet hadoop rdkafka
+    libmongo-client czmq rabbitmq-c hiredis
+  ];
 
-  preConfigure = ''
-     export configureFlags="$configureFlags --enable-gnutls --enable-cached-man-pages --enable-imjournal --with-systemdsystemunitdir=$out/etc/systemd/system"
-  '';
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-systemdsystemunitdir=\${out}/etc/systemd/system"
+    (mkFlag true                      "largefile")
+    (mkFlag true                      "regexp")
+    (mkFlag (krb5 != null)            "gssapi-krb5")
+    (mkFlag true                      "klog")
+    (mkFlag true                      "kmsg")
+    (mkFlag (systemd != null)         "imjournal")
+    (mkFlag true                      "inet")
+    (mkFlag (jemalloc != null)        "jemalloc")
+    (mkFlag true                      "unlimited-select")
+    (mkFlag true                      "usertools")
+    (mkFlag (mysql != null)           "mysql")
+    (mkFlag (postgresql != null)      "pgsql")
+    (mkFlag (libdbi != null)          "libdbi")
+    (mkFlag (net_snmp != null)        "snmp")
+    (mkFlag (libuuid != null)         "uuid")
+    (mkFlag (curl != null)            "elasticsearch")
+    (mkFlag (gnutls != null)          "gnutls")
+    (mkFlag (libgcrypt != null)       "libgcrypt")
+    (mkFlag true                      "rsyslogrt")
+    (mkFlag true                      "rsyslogd")
+    (mkFlag true                      "mail")
+    (mkFlag (liblognorm != null)      "mmnormalize")
+    (mkFlag true                      "mmjsonparse")
+    (mkFlag true                      "mmaudit")
+    (mkFlag true                      "mmanon")
+    (mkFlag true                      "mmutf8fix")
+    (mkFlag true                      "mmcount")
+    (mkFlag true                      "mmsequence")
+    (mkFlag true                      "mmfields")
+    (mkFlag true                      "mmpstrucdata")
+    (mkFlag (openssl != null)         "mmrfc5424addhmac")
+    (mkFlag (librelp != null)         "relp")
+    (mkFlag (libgt != null)           "guardtime")
+    (mkFlag (liblogging != null)      "liblogging-stdlog")
+    (mkFlag (liblogging != null)      "rfc3195")
+    (mkFlag true                      "imfile")
+    (mkFlag false                     "imsolaris")
+    (mkFlag true                      "imptcp")
+    (mkFlag true                      "impstats")
+    (mkFlag true                      "omprog")
+    (mkFlag (libnet != null)          "omudpspoof")
+    (mkFlag true                      "omstdout")
+    (mkFlag (systemd != null)         "omjournal")
+    (mkFlag true                      "pmlastmsg")
+    (mkFlag true                      "pmcisconames")
+    (mkFlag true                      "pmciscoios")
+    (mkFlag true                      "pmaixforwardedfrom")
+    (mkFlag true                      "pmsnare")
+    (mkFlag true                      "omruleset")
+    (mkFlag true                      "omuxsock")
+    (mkFlag true                      "mmsnmptrapd")
+    (mkFlag (hadoop != null)          "omhdfs")
+    (mkFlag (rdkafka != null)         "omkafka")
+    (mkFlag (libmongo-client != null) "ommongodb")
+    (mkFlag (czmq != null)            "imzmq3")
+    (mkFlag (czmq != null)            "imczmq")
+    (mkFlag (czmq != null)            "omzmq3")
+    (mkFlag (czmq != null)            "omczmq")
+    (mkFlag (rabbitmq-c != null)      "omrabbitmq")
+    (mkFlag (hiredis != null)         "omhiredis")
+    (mkFlag true                      "generate-man-pages")
+  ];
 
   meta = {
     homepage = "http://www.rsyslog.com/";
     description = "Enhanced syslog implementation";
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }