aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatherine Cox-Buday <cox.katherine.e@gmail.com>2020-06-02 15:47:41 -0500
committerRicardo Wurmus <rekado@elephly.net>2021-12-31 10:21:29 +0100
commit0e4183883a9afdbb9d6ffa43a8f9c6f938efa6f0 (patch)
treee58b665d009d3df8142190b47a80267bd1b171a3
parentd79e546851585213cbbcd20331f500d72e410299 (diff)
downloadguix-0e4183883a9afdbb9d6ffa43a8f9c6f938efa6f0.tar
guix-0e4183883a9afdbb9d6ffa43a8f9c6f938efa6f0.tar.gz
gnu: Add rsyslog.
* gnu/packages/logging.scm (rsyslog): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net> Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
-rw-r--r--gnu/packages/logging.scm158
1 files changed, 157 insertions, 1 deletions
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 7e07f4dd67..cbcd0ee6d0 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -34,12 +34,27 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages c)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages geo)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages kerberos)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
- #:use-module (gnu packages autotools))
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages tls))
(define-public log4cpp
(package
@@ -201,3 +216,144 @@ library.")
;; spdlog is under Expat license, but the bundled fmt library in
;; "include/spdlog/fmt/bundled" is under BSD 2 clause license.
(license (list license:expat license:bsd-2))))
+
+(define-public rsyslog
+ (package
+ (name "rsyslog")
+ (version "8.2004.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rsyslog/rsyslog.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0h40vvrjbxkvxy1sjqjwlyjfndj81llrisp7hkqm5j4mcl4pbzb3"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ ;; autogen.sh calls configure at the end of the script.
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vfi"))))
+ #:configure-flags
+ ;; Rsyslog comes with a plethora of optional modules. We enable most of
+ ;; them for a full-featured build.
+ '(list "--enable-kmsg"
+ "--enable-liblogging_stdlog"
+ "--enable-mmanon"
+ "--enable-mmcount"
+ "--enable-unlimited_select"
+
+ ;; Input plugins
+ "--enable-imbatchreport"
+ "--enable-imczmq"
+ "--enable-imdiag" ;for full tests
+ "--enable-imdocker"
+ "--enable-imfile"
+ "--enable-imkafka"
+ "--enable-improg"
+ "--enable-impstats"
+ "--enable-imptcp"
+ "--enable-imtuxedoulog"
+
+ ;; Output plugins
+ "--enable-clickhouse"
+ "--enable-elasticsearch"
+ "--enable-mail"
+ "--enable-omczmq"
+ "--enable-omfile_hardened"
+ "--enable-omhttp"
+ "--enable-omhttpfs"
+ "--enable-omkafka"
+ "--enable-omprog"
+ "--enable-omruleset"
+ "--enable-omstdout"
+ "--enable-omtcl"
+ "--enable-omudpspoof"
+ "--enable-omuxsock"
+
+ ;; Parser Modules
+ "--enable-pmaixforwardedfrom"
+ "--enable-pmciscoios"
+ "--enable-pmcisconames"
+ "--enable-pmdb2diag"
+ "--enable-pmlastmsg"
+ "--enable-pmnormalize"
+ "--enable-pmnull"
+ "--enable-pmpanngfw"
+ "--enable-pmsnare"
+
+ ;; Message Modification Modules
+ "--enable-mmaudit"
+ "--enable-mmdarwin"
+ "--enable-mmdblookup"
+ "--enable-mmfields"
+ "--enable-mmjsonparse"
+ "--enable-mmkubernetes"
+ "--enable-mmnormalize"
+ "--enable-mmpstrucdata"
+ "--enable-mmrfc5424addhmac"
+ "--enable-mmrm1stspace"
+ "--enable-mmsequence"
+ "--enable-mmsnmptrapd"
+ "--enable-mmtaghostname"
+ "--enable-mmutf8fix"
+
+ ;; Database Support
+ "--enable-libdbi"
+ "--enable-mysql"
+ "--enable-pgsql"
+
+ ;; Protocol Support
+ "--enable-openssl"
+ "--enable-gnutls"
+ "--enable-gssapi-krb5"
+ "--enable-snmp"
+
+ ;; Function modules
+ "--enable-fmhash_xxhash")))
+ (native-inputs
+ (list autoconf automake bison flex libtool pkg-config))
+ (inputs
+ (list curl
+ cyrus-sasl
+ czmq
+ gnutls
+ libdbi
+ libestr
+ libfastjson
+ libgcrypt
+ liblogging
+ liblognorm
+ libmaxminddb
+ libnet
+ librdkafka
+ lz4
+ (list mariadb "dev")
+ (list mariadb "lib")
+ mit-krb5
+ net-snmp
+ openssl
+ postgresql
+ tcl
+ (list util-linux "lib")
+ zeromq
+ zlib))
+ (home-page "https://www.rsyslog.com/")
+ (synopsis "RSYSLOG is a flexible and fast system for log processing")
+ (description
+ "Rsyslog offers high-performance, great security features and a modular
+design. While it started as a regular syslogd, rsyslog has evolved into a
+kind of swiss army knife of logging, being able to accept inputs from a wide
+variety of sources, transform them, and output the results to diverse
+destinations.")
+ ;; Most of the source code is licensed under the LGPL3+ with many source
+ ;; files licensed under the terms of the ASL2.0. Some modules are
+ ;; licensed under GPL3+.
+ (license (list license:lgpl3+
+ license:gpl3+
+ license:asl2.0))))