gnu: sbcl-cl-cffi-gtk: Update to 20200417.
[jackhill/guix/guix.git] / gnu / packages / logging.scm
CommitLineData
ce9cf64b
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
464f5447 3;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
37a57196 4;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
17e1e216 5;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
c452860e 6;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
121d9d1a 7;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
5543d3bb 8;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
ce9cf64b
RW
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages logging)
26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix packages)
28 #:use-module (guix utils)
29 #:use-module (guix download)
53d159f8 30 #:use-module (guix git-download)
121d9d1a 31 #:use-module (guix build-system cmake)
ce9cf64b 32 #:use-module (guix build-system gnu)
99aa2dce 33 #:use-module (guix build-system python)
b7506f74 34 #:use-module (gnu packages)
37a57196 35 #:use-module (gnu packages ncurses)
53d159f8 36 #:use-module (gnu packages perl)
99aa2dce 37 #:use-module (gnu packages python)
1b2f753d 38 #:use-module (gnu packages python-web)
44d10b1f 39 #:use-module (gnu packages python-xyz)
53d159f8 40 #:use-module (gnu packages autotools))
ce9cf64b
RW
41
42(define-public log4cpp
43 (package
44 (name "log4cpp")
bc6ca523 45 (version "1.1.3")
ce9cf64b
RW
46 (source (origin
47 (method url-fetch)
48 (uri (string-append "mirror://sourceforge/log4cpp/log4cpp-"
49 (version-major+minor version) ".x%20%28new%29"
50 "/log4cpp-" (version-major+minor version)
51 "/log4cpp-" version ".tar.gz"))
52 (sha256
53 (base32
bc6ca523 54 "07gmr3jyaf2239n9sp6h7hwdz1pv7b7aka8n06gmr2fnlmaymfrc"))))
ce9cf64b
RW
55 (build-system gnu-build-system)
56 (synopsis "Log library for C++")
57 (description
58 "Log4cpp is library of C++ classes for flexible logging to files, syslog,
59IDSA and other destinations. It is modeled after the Log4j Java library,
60staying as close to their API as is reasonable.")
61 (home-page "http://log4cpp.sourceforge.net/")
62 (license license:lgpl2.1+)))
53d159f8
LC
63
64(define-public glog
65 (package
66 (name "glog")
4678cc46 67 (version "0.4.0")
53d159f8
LC
68 (home-page "https://github.com/google/glog")
69 (source (origin
4678cc46
MB
70 (method git-fetch)
71 (uri (git-reference (url home-page)
72 (commit (string-append "v" version))))
53d159f8
LC
73 (sha256
74 (base32
4678cc46
MB
75 "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b"))
76 (file-name (git-file-name name version))))
53d159f8 77 (build-system gnu-build-system)
dd9560a0
MB
78 (arguments
79 `(#:phases (modify-phases %standard-phases
80 (add-before 'check 'disable-signal-tests
81 (lambda _
82 ;; XXX: This test fails on non x86_64. See e.g.
83 ;; https://github.com/google/glog/issues/219 and
84 ;; https://github.com/google/glog/issues/256.
85 (substitute* "Makefile"
86 (("\tsignalhandler_unittest_sh") "\t$(EMPTY)"))
87 #t)))))
53d159f8
LC
88 (native-inputs
89 `(("perl" ,perl) ;for tests
464f5447 90 ("autoconf" ,autoconf-wrapper)
53d159f8
LC
91 ("automake" ,automake)
92 ("libtool" ,libtool)))
53d159f8
LC
93 (synopsis "C++ logging library")
94 (description
95 "Google glog is a library that implements application-level logging.
96This library provides logging APIs based on C++-style streams and various
97helper macros. You can log a message by simply streaming things to log at a
98particular severity level. It allows logging to be controlled from the
99command line.")
100 (license license:bsd-3)))
99aa2dce
CB
101
102(define-public tailon
103 (package
104 (name "tailon")
761f5865 105 (version "1.3.0")
99aa2dce
CB
106 (source
107 (origin
108 (method url-fetch)
109 (uri (pypi-uri name version))
110 (sha256
111 (base32
761f5865 112 "0wl2wm6p3pc0vkk33s7rzgcfvs9cwxfmlz997pdfhlw72r00l7s5"))))
99aa2dce
CB
113 (build-system python-build-system)
114 (inputs
115 `(("python-pyyaml" ,python-pyyaml)
116 ("python-sockjs-tornado" ,python-sockjs-tornado)
761f5865 117 ("python-tornado-http-auth" ,python-tornado-http-auth)
99aa2dce 118 ("python-tornado" ,python-tornado)))
872a6fd9
CB
119 (arguments
120 `(#:phases
121 (modify-phases %standard-phases
122 (add-after 'unpack 'patch-commands.py
123 (lambda args
124 (substitute* "tailon/commands.py"
125 (("self\\.first_in_path\\('grep'\\)")
126 (string-append"'" (which "grep") "'"))
127 (("self\\.first_in_path\\('gawk', 'awk'\\)")
128 (string-append"'" (which "gawk") "'"))
129 (("self\\.first_in_path\\('gsed', 'sed'\\)")
130 (string-append"'" (which "sed") "'"))
131 (("self\\.first_in_path\\('gtail', 'tail'\\)")
132 (string-append"'" (which "tail") "'")))
133 #t)))))
99aa2dce
CB
134 (home-page "https://tailon.readthedocs.io/")
135 (synopsis
136 "Webapp for looking at and searching through log files")
137 (description
138 "Tailon provides a web interface around the tail, grep, awk and sed
139commands, displaying the results via a web interface.")
140 (license license:bsd-3)))
37a57196
SR
141
142(define-public multitail
143 (package
144 (name "multitail")
c452860e 145 (version "6.5.0")
37a57196
SR
146 (source
147 (origin
148 (method url-fetch)
149 (uri (string-append "https://vanheusden.com/multitail/multitail-"
150 version ".tgz"))
151 (sha256
c452860e 152 (base32 "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj"))))
37a57196
SR
153 (build-system gnu-build-system)
154 (arguments
155 `(#:make-flags
156 (list "CC=gcc"
157 "PREFIX="
158 (string-append "DESTDIR="
159 (assoc-ref %outputs "out")))
160 #:phases
161 (modify-phases %standard-phases
162 (add-after 'unpack 'patch-curses-lib
163 (lambda* (#:key outputs #:allow-other-keys)
164 (let ((out (assoc-ref outputs "out")))
165 (substitute* "mt.h"
166 (("ncursesw\\/panel.h") "panel.h")
167 (("ncursesw\\/ncurses.h") "ncurses.h")))
168 #t))
169 (delete 'configure))
170 #:tests? #f)) ; no test suite (make check just runs cppcheck)
171 (inputs `(("ncurses" ,ncurses)))
172 (home-page "https://vanheusden.com/multitail/")
173 (synopsis "Monitor multiple logfiles")
174 (description
175 "MultiTail allows you to monitor logfiles and command output in multiple
176windows in a terminal, colorize, filter and merge.")
177 (license license:gpl2+)))
121d9d1a
GB
178
179(define-public spdlog
180 (package
181 (name "spdlog")
5ea20584 182 (version "1.5.0")
121d9d1a
GB
183 (source
184 (origin
185 (method git-fetch)
186 (uri (git-reference
187 (url "https://github.com/gabime/spdlog.git")
188 (commit (string-append "v" version))))
f1d4d79f 189 (file-name (git-file-name name version))
121d9d1a
GB
190 (sha256
191 (base32
5ea20584 192 "0dn44r3xbw1w0bk9yflnxkh3rzdq2bpxkks44skfmqig0rsj1f1x"))))
121d9d1a
GB
193 (build-system cmake-build-system)
194 ;; TODO run benchmark. Currently not possible, as adding
195 ;; (gnu packages benchmark) forms a dependency cycle
196 (arguments
197 '(#:configure-flags
198 (list "-DSPDLOG_BUILD_BENCH=OFF")))
199 (home-page "https://github.com/gabime/spdlog")
200 (synopsis "Fast C++ logging library")
5543d3bb
MP
201 (description "Spdlog is a very fast header-only/compiled C++ logging
202library.")
203 ;; spdlog is under Expat license, but the bundled fmt library in
204 ;; "include/spdlog/fmt/bundled" is under BSD 2 clause license.
205 (license (list license:expat license:bsd-2))))