diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index e3e9d6a64d84..3ba17f9e7d2c 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, pkgconfig, libestr, json_c, zlib, pythonPackages +{ stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages , libkrb5 ? null, systemd ? null, jemalloc ? null, libmysql ? null, postgresql ? null , libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null -, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null +, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null , libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null , libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null }: @@ -11,18 +11,21 @@ let mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}"; in stdenv.mkDerivation rec { - name = "rsyslog-8.10.0"; + name = "rsyslog-8.12.0"; src = fetchurl { url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz"; - sha256 = "04k90v7fm1czg3lm5anfnf5cnxcxyhxldkgwzzi1k0hhczrz6bdr"; + sha256 = "083yrgv7s5j7pfbk254lav15yyxsk04qhachxghrvs4nhangwss6"; }; + patches = [ ./fix-gnutls-detection.patch ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ - pkgconfig libestr json_c zlib pythonPackages.docutils - libkrb5 jemalloc libmysql postgresql libdbi net_snmp libuuid curl gnutls - libgcrypt liblognorm openssl librelp libgt liblogging libnet hadoop rdkafka - libmongo-client czmq rabbitmq-c hiredis + libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc libmysql + postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl + librelp libgt libksi liblogging libnet hadoop rdkafka libmongo-client czmq + rabbitmq-c hiredis ] ++ stdenv.lib.optional stdenv.isLinux systemd; configureFlags = [ @@ -38,6 +41,11 @@ stdenv.mkDerivation rec { (mkFlag true "inet") (mkFlag (jemalloc != null) "jemalloc") (mkFlag true "unlimited-select") + (mkFlag false "debug") + (mkFlag false "debug-symbols") + (mkFlag true "debugless") + (mkFlag false "valgrind") + (mkFlag false "diagtools") (mkFlag true "usertools") (mkFlag (libmysql != null) "mysql") (mkFlag (postgresql != null) "pgsql") @@ -62,6 +70,7 @@ stdenv.mkDerivation rec { (mkFlag (openssl != null) "mmrfc5424addhmac") (mkFlag (librelp != null) "relp") (mkFlag (libgt != null) "guardtime") + (mkFlag (libksi != null) "gt-ksi") (mkFlag (liblogging != null) "liblogging-stdlog") (mkFlag (liblogging != null) "rfc3195") (mkFlag true "imfile") @@ -89,6 +98,7 @@ stdenv.mkDerivation rec { (mkFlag (czmq != null) "omczmq") (mkFlag (rabbitmq-c != null) "omrabbitmq") (mkFlag (hiredis != null) "omhiredis") + (mkFlag (curl != null) "omhttpfs") (mkFlag true "generate-man-pages") ]; diff --git a/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch b/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch new file mode 100644 index 000000000000..c8955ea57dc0 --- /dev/null +++ b/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch @@ -0,0 +1,60 @@ +From 588b4ca7412326abd51a5b2060eafbc04611e419 Mon Sep 17 00:00:00 2001 +From: Radovan Sroka +Date: Tue, 11 Aug 2015 17:09:15 +0200 +Subject: [PATCH] Fix detection of the GnuTLS package + +This commit fixes a number of issues that cropped up from these changes: +23c5b3e replace deprecated GnuTLS functions with newer ones if available +88f0651 bugfix: ommysql did not work when gnutls was enabled +ce560b6 build system: Failure action in AC_CHECK_LIB check for + +The solution is based on the assumption that the call to AC_CHECK_LIB() +was added purely to satisfy the subsequent calls to AC_CHECK_FUNCS(). +23c5b3e had the unintentional result of libgnutls being added to LIBS +and linked to undesired components. +The next commit removed libgnutls from LIBS which made the following +calls to AC_CHECK_FUNCS() nonfunctional. +Another commit made the processing not stop upon detecting a missing +component which, again, makes the calls to AC_CHECK_FUNCS() malfunction. + +The solution is to get rid of AC_CHECK_LIB() and temporarily override +LIBS for use by AC_CHECK_FUNCS(). +--- + configure.ac | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6f82f0c..ba3f791 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -763,18 +763,13 @@ AC_ARG_ENABLE(gnutls, + if test "x$enable_gnutls" = "xyes"; then + PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0) + AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present]) +- AC_CHECK_LIB( +- [gnutls], +- [gnutls_global_init], +- [ +- AC_DEFINE(HAVE_LIB_GNUTLS, 1, [gnutls is available]) +- ], +- [AC_MSG_WARN([gnutls_global_init function missing or not detected])], +- [] +- ) ++ save_libs=$LIBS ++ LIBS="$LIBS $GNUTLS_LIBS" + AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,) + AC_CHECK_FUNCS(gnutls_certificate_type_set_priority,,) ++ LIBS=$save_libs + fi ++ + AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes) + + # libgcrypt support +@@ -1655,7 +1650,6 @@ else + AC_MSG_NOTICE([Not running from git source]) + fi + +- + AM_CONDITIONAL(ENABLE_GENERATE_MAN_PAGES, test x$have_to_generate_man_pages = xyes) + + # rst2man diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f775434533e8..f1e9db0ed6c1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -882,7 +882,6 @@ let syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { }; rsyslog = callPackage ../tools/system/rsyslog { - czmq = null; # Currently Broken hadoop = null; # Currently Broken }; @@ -902,6 +901,7 @@ let openssl = null; librelp = null; libgt = null; + libksi = null; liblogging = null; libnet = null; hadoop = null;