gnu: rottlog: Read configuration files from /etc/rottlog.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
7b78f359 2;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
340c7033 3;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
75418ae0 4;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
2328b47c 5;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
d0457553 6;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
15926aec 7;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
8d801045 8;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
765973cd 9;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
f1957fc1 10;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
3d7a157c 11;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
2f9862ff 12;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
1a0346f0 13;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
61402398 14;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
5ec8b02d 15;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
47d7b303 16;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
1df895b0 17;;;
233e7676 18;;; This file is part of GNU Guix.
1df895b0 19;;;
233e7676 20;;; GNU Guix is free software; you can redistribute it and/or modify it
1df895b0
LC
21;;; under the terms of the GNU General Public License as published by
22;;; the Free Software Foundation; either version 3 of the License, or (at
23;;; your option) any later version.
24;;;
233e7676 25;;; GNU Guix is distributed in the hope that it will be useful, but
1df895b0
LC
26;;; WITHOUT ANY WARRANTY; without even the implied warranty of
27;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28;;; GNU General Public License for more details.
29;;;
30;;; You should have received a copy of the GNU General Public License
233e7676 31;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
1df895b0 32
4aeea896 33(define-module (gnu packages admin)
f61e0e79 34 #:use-module ((guix licenses) #:prefix license:)
1df895b0 35 #:use-module (guix packages)
4fb7e0de 36 #:use-module (guix utils)
1df895b0 37 #:use-module (guix download)
aaff68ee 38 #:use-module (guix git-download)
fbc1a58f 39 #:use-module (guix build-system cmake)
1df895b0 40 #:use-module (guix build-system gnu)
4ecfbda7 41 #:use-module (guix build-system python)
c773aba8 42 #:use-module (guix build-system trivial)
59a43334 43 #:use-module (gnu packages)
c73d4c92 44 #:use-module (gnu packages base)
3d7a157c 45 #:use-module (gnu packages cyrus-sasl)
9a9e72d5 46 #:use-module (gnu packages ncurses)
9927622f 47 #:use-module (gnu packages readline)
f15164e7 48 #:use-module (gnu packages linux)
d0457553 49 #:use-module (gnu packages lua)
f15164e7 50 #:use-module (gnu packages guile)
1dba6407 51 #:use-module (gnu packages gettext)
d0457553 52 #:use-module (gnu packages pcre)
c73d4c92 53 #:use-module (gnu packages perl)
87216303 54 #:use-module (gnu packages tcl)
f61e0e79 55 #:use-module (gnu packages compression)
a7fd7b68 56 #:use-module (gnu packages tls)
61bdd0d8 57 #:use-module (gnu packages gnupg)
02c86a5e
LC
58 #:use-module (gnu packages bison)
59 #:use-module (gnu packages flex)
60 #:use-module (gnu packages glib)
3d7a157c 61 #:use-module (gnu packages openldap)
c1f73569 62 #:use-module (gnu packages mcrypt)
87216303 63 #:use-module (gnu packages pkg-config)
b36fcf95 64 #:use-module (gnu packages popt)
1a0346f0 65 #:use-module (gnu packages python)
fccf2fe0 66 #:use-module (gnu packages texinfo)
e1485c7b 67 #:use-module (gnu packages groff)
42dc3af5
MW
68 #:use-module (gnu packages pciutils)
69 #:use-module (gnu packages libusb)
70 #:use-module (gnu packages libftdi)
c4492a16 71 #:use-module (gnu packages image)
da6c3749 72 #:use-module (gnu packages xorg)
d525da85 73 #:use-module (gnu packages python)
e932d371 74 #:use-module (gnu packages man)
5ec8b02d 75 #:use-module (gnu packages autotools)
76 #:use-module (gnu packages gnome)
77 #:use-module (gnu packages gtk))
f15164e7 78
c1f73569
RW
79(define-public aide
80 (package
81 (name "aide")
82 (version "0.15.1")
83 (source (origin
84 (method url-fetch)
85 (uri (string-append "mirror://sourceforge/aide/aide/"
86 version "/aide-" version ".tar.gz"))
87 (sha256
88 (base32
89 "1vsrc0s62kv1i84skm6k6zy868gayjck268qwj38rpspc8c5qgih"))))
90 (build-system gnu-build-system)
91 (native-inputs
92 `(("bison" ,bison)
93 ("flex" ,flex)))
94 (inputs
95 `(("libgcrypt" ,libgcrypt)
96 ("libgpg-error" ,libgpg-error)
97 ("libmhash" ,libmhash)
98 ("zlib" ,zlib)))
99 (synopsis "File and directory integrity checker")
100 (description
101 "AIDE (Advanced Intrusion Detection Environment) is a file and directory
102integrity checker. It creates a database from the regular expression rules
103that it finds from its configuration files. Once this database is initialized
104it can be used to verify the integrity of the files. It has several message
105digest algorithms that are used to check the integrity of files. All of the
106usual file attributes can be checked for inconsistencies.")
107 (home-page "http://aide.sourceforge.net/")
108 (license license:gpl2+)))
109
4971d5d0
RJ
110(define-public progress
111 (package
112 (name "progress")
113 (version "0.13")
114 (source (origin
115 (method url-fetch)
116 (uri (string-append "https://github.com/Xfennec/"
117 name "/archive/v" version ".tar.gz"))
118 (sha256
119 (base32 "133iar4vq5vlklydb4cyazjy6slmpbndrws474mg738bd8avc30n"))
120 (file-name (string-append name "-" version ".tar.gz"))))
121 (build-system gnu-build-system)
122 (inputs
123 `(("ncurses" ,ncurses)))
124 (arguments
125 `(#:tests? #f ; There is no test suite.
126 #:make-flags (list "CC=gcc" "LDFLAGS+=-lncurses"
127 (string-append "PREFIX=" (assoc-ref %outputs "out")))
128 #:phases
129 (modify-phases %standard-phases
130 (delete 'configure)))) ; There's no configure phase.
131 (home-page "https://github.com/Xfennec/progress")
132 (synopsis "Program to view the progress of the coreutils commands")
133 (description "A program that looks for coreutils basic commands (cp, mv,
134dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays
135the percentage of copied data. It can also show estimated time and throughput,
136and provides a \"top-like\" mode (monitoring).")
137 (license license:gpl3+)))
138
e932d371 139(define-public shepherd
133056bd
LC
140 (package
141 (name "shepherd")
ee37e1e5 142 (version "0.3.1")
133056bd
LC
143 (source (origin
144 (method url-fetch)
145 (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
146 version ".tar.gz"))
147 (sha256
148 (base32
ee37e1e5 149 "0f3yi3n4sl9myiay95yhv2a9an338qddfjrbv7da753ip66dkfz6"))))
133056bd
LC
150 (build-system gnu-build-system)
151 (arguments
152 '(#:configure-flags '("--localstatedir=/var")))
153 (native-inputs `(("pkg-config" ,pkg-config)))
154 (inputs `(("guile" ,guile-2.0)))
155 (synopsis "System service manager")
156 (description
157 "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
158the execution of system services, replacing similar functionality found in
159typical init systems. It provides dependency-handling through a convenient
160interface and is based on GNU Guile.")
161 (license license:gpl3+)
162 (home-page "http://www.gnu.org/software/shepherd/")))
e932d371 163
fbc1a58f
CR
164(define-public dfc
165 (package
166 (name "dfc")
180d7ac1 167 (version "3.0.4")
fbc1a58f
CR
168 (source
169 (origin
170 (method url-fetch)
171 (uri (string-append
180d7ac1 172 "http://projects.gw-computing.net/attachments/download/79/dfc-"
fbc1a58f
CR
173 version ".tar.gz"))
174 (sha256
175 (base32
180d7ac1 176 "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
fbc1a58f
CR
177 (build-system cmake-build-system)
178 (arguments '(#:tests? #f)) ; There are no tests.
1dba6407 179 (native-inputs `(("gettext" ,gnu-gettext)))
fbc1a58f
CR
180 (home-page "http://projects.gw-computing.net/projects/dfc")
181 (synopsis "Display file system space usage using graphs and colors")
182 (description
183 "dfc (df color) is a modern version of df. It uses colors, draws pretty
184graphs and can export its output to different formats.")
f61e0e79 185 (license license:bsd-3)))
fbc1a58f 186
340c7033
CR
187(define-public htop
188 (package
189 (name "htop")
621954ba 190 (version "2.0.2")
340c7033
CR
191 (source (origin
192 (method url-fetch)
20e6c852 193 (uri (string-append "http://hisham.hm/htop/releases/"
340c7033
CR
194 version "/htop-" version ".tar.gz"))
195 (sha256
196 (base32
621954ba 197 "11zlwadm6dpkrlfvf3z3xll26yyffa7qrxd1w72y1kl0rgffk6qp"))))
340c7033
CR
198 (build-system gnu-build-system)
199 (inputs
200 `(("ncurses" ,ncurses)))
201 (home-page "http://htop.sourceforge.net/")
202 (synopsis "Interactive process viewer")
203 (description
204 "This is htop, an interactive process viewer. It is a text-mode
205application (for console or X terminals) and requires ncurses.")
f61e0e79 206 (license license:gpl2)))
340c7033 207
1df895b0
LC
208(define-public pies
209 (package
210 (name "pies")
211 (version "1.2")
212 (source
213 (origin
214 (method url-fetch)
215 (uri (string-append "mirror://gnu/pies/pies-"
216 version ".tar.bz2"))
217 (sha256
218 (base32
219 "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6"))))
220 (build-system gnu-build-system)
221 (home-page "http://www.gnu.org/software/pies/")
f50d2669 222 (synopsis "Program invocation and execution supervisor")
1df895b0 223 (description
79c311b8 224 "GNU pies is a program that supervises the invocation and execution of
a22dc0c4
LC
225other programs. It reads the list of programs to be started from its
226configuration file, executes them, and then monitors their status,
227re-executing them as necessary.")
f61e0e79 228 (license license:gpl3+)))
1df895b0
LC
229
230(define-public inetutils
231 (package
232 (name "inetutils")
8b1c8e4e 233 (version "1.9.4")
01eafd38
LC
234 (source (origin
235 (method url-fetch)
236 (uri (string-append "mirror://gnu/inetutils/inetutils-"
237 version ".tar.gz"))
238 (sha256
239 (base32
8b1c8e4e 240 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
1df895b0 241 (build-system gnu-build-system)
01eafd38 242 (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
1df895b0
LC
243 ;; which is currently missing.
244 #:tests? #f))
9927622f
LC
245 (inputs `(("ncurses" ,ncurses)
246 ("readline" ,readline))) ; for 'ftp'
1df895b0 247 (home-page "http://www.gnu.org/software/inetutils/")
f50d2669 248 (synopsis "Basic networking utilities")
1df895b0 249 (description
a22dc0c4
LC
250 "Inetutils is a collection of common network programs, such as an ftp
251client and server, a telnet client and server, and an rsh client and server.")
f61e0e79 252 (license license:gpl3+)))
9a9e72d5
LC
253
254(define-public shadow
255 (package
256 (name "shadow")
ca2a55d4 257 (version "4.2.1")
9a9e72d5 258 (source (origin
ca2a55d4
SB
259 (method url-fetch)
260 (uri (string-append
261 "http://pkg-shadow.alioth.debian.org/releases/"
262 name "-" version ".tar.xz"))
263 (sha256
264 (base32
265 "0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"))))
9a9e72d5
LC
266 (build-system gnu-build-system)
267 (arguments
268 '(;; Assume System V `setpgrp (void)', which is the default on GNU
269 ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
270 #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
271
272 #:phases (alist-cons-before
273 'build 'set-nscd-file-name
274 (lambda* (#:key inputs #:allow-other-keys)
275 ;; Use the right file name for nscd.
276 (let ((libc (assoc-ref inputs "libc")))
277 (substitute* "lib/nscd.c"
278 (("/usr/sbin/nscd")
279 (string-append libc "/sbin/nscd")))))
280 (alist-cons-after
281 'install 'remove-groups
282 (lambda* (#:key outputs #:allow-other-keys)
283 ;; Remove `groups', which is already provided by Coreutils.
284 (let* ((out (assoc-ref outputs "out"))
285 (bin (string-append out "/bin"))
ca2a55d4 286 (man (string-append out "/share/man")))
9a9e72d5
LC
287 (delete-file (string-append bin "/groups"))
288 (for-each delete-file (find-files man "^groups\\."))
289 #t))
8d846470 290 %standard-phases))))
9a9e72d5
LC
291
292 (inputs (if (string-suffix? "-linux"
293 (or (%current-target-system)
294 (%current-system)))
295 `(("linux-pam" ,linux-pam))
296 '()))
297 (home-page "http://pkg-shadow.alioth.debian.org/")
298 (synopsis "Authentication-related tools such as passwd, su, and login")
299 (description
300 "Shadow provides a number of authentication-related tools, including:
301login, passwd, su, groupadd, and useradd.")
302
303 ;; The `vipw' program is GPLv2+.
304 ;; libmisc/salt.c is public domain.
f61e0e79 305 (license license:bsd-3)))
1e151896
LC
306
307(define-public mingetty
308 (package
309 (name "mingetty")
310 (version "1.08")
311 (source (origin
312 (method url-fetch)
de67e922
LF
313 (uri (string-append "mirror://sourceforge/mingetty/mingetty/"
314 version "/mingetty-" version ".tar.gz"))
1e151896
LC
315 (sha256
316 (base32
317 "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
318 (build-system gnu-build-system)
319 (arguments
320 `(#:phases (alist-replace 'configure
321 (lambda* (#:key inputs outputs
322 #:allow-other-keys)
323 (let* ((out (assoc-ref outputs "out"))
324 (man8 (string-append
325 out "/share/man/man8"))
326 (sbin (string-append out "/sbin"))
327 (shadow (assoc-ref inputs "shadow"))
328 (login (string-append shadow
329 "/bin/login")))
330 (substitute* "Makefile"
331 (("^SBINDIR.*")
332 (string-append "SBINDIR = " out
333 "/sbin\n"))
334 (("^MANDIR.*")
335 (string-append "MANDIR = " out
336 "/share/man/man8\n")))
337
338 ;; Pick the right 'login' by default.
339 (substitute* "mingetty.c"
340 (("\"/bin/login\"")
341 (string-append "\"" login "\"")))
342
343 (mkdir-p sbin)
344 (mkdir-p man8)))
345 %standard-phases)
346 #:tests? #f)) ; no tests
347 (inputs `(("shadow" ,shadow)))
348
349 (home-page "http://sourceforge.net/projects/mingetty")
350 (synopsis "Getty for the text console")
351 (description
352 "Small console getty that is started on the Linux text console,
353asks for a login name and then transfers over to 'login'. It is extended to
354allow automatic login and starting any app.")
f61e0e79 355 (license license:gpl2+)))
c773aba8
LC
356
357(define-public net-base
358 (package
359 (name "net-base")
db719df7 360 (version "5.3")
c773aba8
LC
361 (source (origin
362 (method url-fetch)
363 (uri (string-append
34af3684 364 "mirror://debian/pool/main/n/netbase/netbase_"
db719df7 365 version ".tar.xz"))
c773aba8
LC
366 (sha256
367 (base32
db719df7 368 "12xqjwg3p4rzmmh2iib6sigm9l29y3dgk74mmnw64k84jnbwdxl1"))))
c773aba8
LC
369 (build-system trivial-build-system)
370 (arguments
371 `(#:modules ((guix build utils))
372 #:builder (begin
373 (use-modules (guix build utils)
374 (srfi srfi-26))
375
376 (let* ((source (assoc-ref %build-inputs "source"))
377 (tar (assoc-ref %build-inputs "tar"))
db719df7 378 (xz (assoc-ref %build-inputs "xz"))
c773aba8
LC
379 (output (assoc-ref %outputs "out"))
380 (etc (string-append output "/etc")))
db719df7 381 (setenv "PATH" (string-append xz "/bin"))
c773aba8
LC
382 (system* (string-append tar "/bin/tar") "xvf"
383 source)
384 (chdir ,(string-append "netbase-" version))
385 (mkdir-p etc)
386 (for-each copy-file
387 '("etc-services" "etc-protocols" "etc-rpc")
388 (map (cut string-append etc "/" <>)
389 '("services" "protocols" "rpc")))
390 #t))))
391 (native-inputs `(("tar" ,tar)
f61e0e79 392 ("xz" ,xz)))
c773aba8
LC
393 (synopsis "IANA protocol, port, and RPC number assignments")
394 (description
395 "This package provides the /etc/services, /etc/protocols, and /etc/rpc
396files, which contain information about the IANA-assigned port, protocol, and
e881752c 397ONC RPC numbers.")
c773aba8 398 (home-page "http://packages.debian.org/sid/netbase")
f61e0e79 399 (license license:gpl2)))
94c4a58a
LC
400
401(define-public netcat
402 (package
403 (name "netcat")
404 (version "0.7.1")
405 (source (origin
406 (method url-fetch)
de67e922
LF
407 (uri (string-append "mirror://sourceforge/netcat/netcat/" version
408 "/netcat-" version ".tar.bz2"))
94c4a58a
LC
409 (sha256
410 (base32
411 "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm"))))
412 (build-system gnu-build-system)
0e4e89c2
MW
413 (arguments
414 `(#:configure-flags
415 ;; By default, man and info pages are put in PREFIX/{man,info},
416 ;; but we want them in PREFIX/share/{man,info}.
417 (let ((out (assoc-ref %outputs "out")))
418 (list (string-append "--mandir=" out "/share/man")
419 (string-append "--infodir=" out "/share/info")))))
94c4a58a
LC
420 (home-page "http://netcat.sourceforge.net")
421 (synopsis "Read and write data over TCP/IP")
422 (description
423 "Netcat is a featured networking utility which reads and writes data
424across network connections, using the TCP/IP protocol. It is designed to be a
425reliable \"back-end\" tool that can be used directly or easily driven by other
35b9e423 426programs and scripts. At the same time, it is a feature-rich network debugging
94c4a58a
LC
427and exploration tool, since it can create almost any kind of connection you
428would need and has several interesting built-in capabilities.")
f61e0e79 429 (license license:gpl2+)))
d038cac1
LC
430
431(define-public alive
432 (package
433 (name "alive")
434 (version "2.0.2")
435 (source (origin
436 (method url-fetch)
437 (uri (string-append "mirror://gnu/alive/alive-"
438 version ".tar.xz"))
439 (sha256
440 (base32
441 "1vrzg51ai68x9yld7vbgl58sxaw5qpx8rbakwcxn4cqq6vpxj38j"))))
442 (build-system gnu-build-system)
443 (arguments '(#:configure-flags '("alive_cv_nice_ping=yes")))
444 (inputs `(("guile" ,guile-2.0)
445 ("inetutils" ,inetutils)))
446 (home-page "http://www.gnu.org/software/alive/")
447 (synopsis "Autologin and keep-alive daemon")
448 (description
449 "GNU Alive sends periodic pings to a server, generally to keep a
450connection alive.")
f61e0e79 451 (license license:gpl3+)))
c73d4c92
LC
452
453(define-public isc-dhcp
6548b1e1
MW
454 (let* ((bind-major-version "9")
455 (bind-minor-version "9")
ef3b9047
MW
456 (bind-patch-version "9")
457 (bind-release-type "") ; for patch release, use "-P"
458 (bind-release-version "") ; for patch release, e.g. "4"
6548b1e1
MW
459 (bind-version (string-append bind-major-version
460 "."
461 bind-minor-version
462 "."
463 bind-patch-version
464 bind-release-type
465 bind-release-version)))
466 (package
467 (name "isc-dhcp")
ef3b9047 468 (version "4.3.4")
6548b1e1
MW
469 (source (origin
470 (method url-fetch)
471 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
472 version "/dhcp-" version ".tar.gz"))
473 (sha256
474 (base32
ef3b9047 475 "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm"))))
6548b1e1
MW
476 (build-system gnu-build-system)
477 (arguments
e54465ff
MW
478 `(#:parallel-build? #f
479 #:phases
6548b1e1
MW
480 (modify-phases %standard-phases
481 (add-after 'unpack 'replace-bundled-bind
482 (lambda* (#:key inputs #:allow-other-keys)
483 (delete-file "bind/bind.tar.gz")
484 (copy-file (assoc-ref inputs "bind-source-tarball")
485 "bind/bind.tar.gz")
486 (chmod "bind/bind.tar.gz" #o644)
487 (substitute* "bind/version.tmp"
488 (("^MAJORVER=.*")
489 (format #f "MAJORVER=~a\n" ,bind-major-version))
490 (("^MINORVER=.*")
491 (format #f "MINORVER=~a\n" ,bind-minor-version))
492 (("^PATCHVER=.*")
493 (format #f "PATCHVER=~a\n" ,bind-patch-version))
494 (("^RELEASETYPE=.*")
495 (format #f "RELEASETYPE=~a\n" ,bind-release-type))
496 (("^RELEASEVER=.*")
497 (format #f "RELEASEVER=~a\n" ,bind-release-version)))
498 #t))
499 (add-after 'configure 'post-configure
500 (lambda* (#:key outputs #:allow-other-keys)
501 ;; Point to the right client script, which will be
502 ;; installed in a later phase.
503 (substitute* "includes/dhcpd.h"
504 (("#define[[:blank:]]+_PATH_DHCLIENT_SCRIPT.*")
505 (let ((out (assoc-ref outputs "out")))
506 (string-append "#define _PATH_DHCLIENT_SCRIPT \""
507 out "/libexec/dhclient-script"
508 "\"\n"))))
c73d4c92 509
6548b1e1
MW
510 ;; During the 'build' phase, 'bind.tar.gz' is extracted, so
511 ;; we must patch shebangs in there and make sure the right
512 ;; shell is used.
513 (with-directory-excursion "bind"
514 (substitute* "Makefile"
515 (("\\./configure")
516 (let ((sh (which "sh")))
517 (string-append "./configure CONFIG_SHELL="
518 sh " SHELL=" sh))))
c73d4c92 519
6548b1e1
MW
520 (let ((bind-directory (string-append "bind-" ,bind-version)))
521 (system* "tar" "xf" "bind.tar.gz")
522 (for-each patch-shebang
523 (find-files bind-directory ".*"))
524 (zero? (system* "tar" "cf" "bind.tar.gz"
525 bind-directory
526 ;; avoid non-determinism in the archive
527 "--sort=name"
528 "--mtime=@0"
529 "--owner=root:0"
530 "--group=root:0"))))))
531 (add-after 'install 'post-install
532 (lambda* (#:key inputs outputs #:allow-other-keys)
533 ;; Install the dhclient script for GNU/Linux and make sure
534 ;; if finds all the programs it needs.
535 (let* ((out (assoc-ref outputs "out"))
536 (libexec (string-append out "/libexec"))
537 (coreutils (assoc-ref inputs "coreutils"))
538 (inetutils (assoc-ref inputs "inetutils"))
539 (net-tools (assoc-ref inputs "net-tools"))
540 (sed (assoc-ref inputs "sed")))
541 (substitute* "client/scripts/linux"
542 (("/sbin/ip")
543 (string-append (assoc-ref inputs "iproute")
544 "/sbin/ip")))
c73d4c92 545
6548b1e1
MW
546 (mkdir-p libexec)
547 (copy-file "client/scripts/linux"
548 (string-append libexec "/dhclient-script"))
c73d4c92 549
6548b1e1
MW
550 (wrap-program
551 (string-append libexec "/dhclient-script")
552 `("PATH" ":" prefix
553 ,(map (lambda (dir)
554 (string-append dir "/bin:"
555 dir "/sbin"))
556 (list inetutils net-tools coreutils sed))))))))))
c73d4c92 557
6548b1e1 558 (native-inputs `(("perl" ,perl)))
c73d4c92 559
6548b1e1
MW
560 (inputs `(("inetutils" ,inetutils)
561 ("net-tools" ,net-tools)
562 ("iproute" ,iproute)
dc343935 563
6548b1e1
MW
564 ;; XXX isc-dhcp bundles a copy of bind that has security
565 ;; flaws, so we use a newer version.
566 ("bind-source-tarball"
567 ,(origin
568 (method url-fetch)
569 (uri (string-append "http://ftp.isc.org/isc/bind9/"
570 bind-version
571 "/bind-" bind-version ".tar.gz"))
572 (sha256
573 (base32
ef3b9047 574 "0w8qqm6p2y6x57j2l0a3278g173wd84dsr4py9z00191f3wra74q"))))
c73d4c92 575
6548b1e1
MW
576 ;; When cross-compiling, we need the cross Coreutils and sed.
577 ;; Otherwise just use those from %FINAL-INPUTS.
578 ,@(if (%current-target-system)
579 `(("coreutils" ,coreutils)
580 ("sed" ,sed))
581 '())))
582
583 (home-page "http://www.isc.org/products/DHCP/")
584 (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
585 (description
586 "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
c73d4c92
LC
587reference implementation of all aspects of DHCP, through a suite of DHCP
588tools: server, client, and relay agent.")
159a5e01
LC
589 (license license:isc)
590 (properties '((cpe-name . "dhcp"))))))
02c86a5e
LC
591
592(define-public libpcap
593 (package
594 (name "libpcap")
42e8f734 595 (version "1.7.4")
02c86a5e
LC
596 (source (origin
597 (method url-fetch)
598 (uri (string-append "http://www.tcpdump.org/release/libpcap-"
599 version ".tar.gz"))
600 (sha256
601 (base32
42e8f734 602 "1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs"))))
02c86a5e
LC
603 (build-system gnu-build-system)
604 (native-inputs `(("bison" ,bison) ("flex" ,flex)))
e03f6d5e
RW
605 (arguments '(#:configure-flags '("--with-pcap=linux")
606 #:tests? #f)) ; no 'check' target
02c86a5e
LC
607 (home-page "http://www.tcpdump.org")
608 (synopsis "Network packet capture library")
609 (description
610 "libpcap is an interface for user-level packet capture. It provides a
611portable framework for low-level network monitoring. Applications include
612network statistics collection, security monitoring, network debugging, etc.")
613
614 ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
f61e0e79 615 (license license:bsd-3)))
02c86a5e 616
1da34f5a
LC
617(define-public tcpdump
618 (package
619 (name "tcpdump")
6e32aa56 620 (version "4.7.4")
1da34f5a
LC
621 (source (origin
622 (method url-fetch)
623 (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
624 version ".tar.gz"))
625 (sha256
626 (base32
6e32aa56 627 "1byr8w6grk08fsq0444jmcz9ar89lq9nf4mjq2cny0w9k8k21rbb"))))
1da34f5a 628 (build-system gnu-build-system)
10db1e6c 629 (inputs `(("libpcap" ,libpcap)
cc2b77df 630 ("openssl" ,openssl)))
1da34f5a 631 (native-inputs `(("perl" ,perl))) ; for tests
1da34f5a
LC
632 (home-page "http://www.tcpdump.org/")
633 (synopsis "Network packet analyzer")
634 (description
635 "Tcpdump is a command-line tool to analyze network traffic passing
636through the network interface controller.")
f61e0e79 637 (license license:bsd-3)))
1da34f5a 638
02c86a5e
LC
639(define-public jnettop
640 (package
641 (name "jnettop")
642 (version "0.13.0")
643 (source (origin
644 (method url-fetch)
645 (uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
646 version ".tar.gz"))
647 (sha256
648 (base32
649 "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
650 (build-system gnu-build-system)
651 (native-inputs
652 `(("pkg-config" ,pkg-config)))
653 (inputs
654 `(("glib" ,glib)
655 ("ncurses" ,ncurses)
656 ("libpcap" ,libpcap)))
657 (home-page "http://jnettop.kubs.info/")
658 (synopsis "Visualize network traffic by bandwidth use")
659 (description
660 "Jnettop is a traffic visualiser, which captures traffic going
661through the host it is running from and displays streams sorted
662by bandwidth they use.")
f61e0e79 663 (license license:gpl2+)))
87216303
EB
664
665(define-public clusterssh
666 (package
667 (name "clusterssh")
668 (version "3.28")
669 (source (origin
670 (method url-fetch)
671 (uri (string-append "mirror://sourceforge/clusterssh/"
de67e922
LF
672 "1.%20ClusterSSH%20Series%203/" version
673 "/clusterssh-" version ".tar.gz"))
87216303
EB
674 (sha256
675 (base32
676 "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
677 (build-system gnu-build-system)
678 (inputs `(("perl" ,perl)))
679 (propagated-inputs `(("xterm" ,xterm)
680 ("perl-tk" ,perl-tk)
681 ("perl-x11-protocol" ,perl-x11-protocol)))
682 (arguments
683 `(#:phases
684 (alist-cons-after
685 'install 'set-load-paths
686 (lambda* (#:key inputs outputs #:allow-other-keys)
687 ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
688 ;; path for PROG
689 (let* ((out (assoc-ref outputs "out"))
690 (prog (string-append out "/bin/cssh"))
691 (perl-ver ,(package-version perl))
692 (x11-inc (string-append
693 (assoc-ref inputs "perl-x11-protocol")
694 "/lib/perl5/site_perl/" perl-ver))
695 (tk-inc (string-append
696 (assoc-ref inputs "perl-tk")
697 "/lib/perl5/site_perl/" perl-ver
698 "/x86_64-linux")))
699 (wrap-program
700 prog
701 `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
702 %standard-phases)))
703 ;; The clusterssh.sourceforge.net address requires login to view
704 (home-page "http://sourceforge.net/projects/clusterssh/")
705 (synopsis "Secure concurrent multi-server terminal control")
706 (description
707 "ClusterSSH controls a number of xterm windows via a single graphical
708console window to allow commands to be interactively run on multiple servers
709over ssh connections.")
f61e0e79 710 (license license:gpl2+)))
fccf2fe0
LC
711
712(define-public rottlog
713 (package
714 (name "rottlog")
715 (version "0.72.2")
716 (source (origin
717 (method url-fetch)
718 (uri (string-append "mirror://gnu/rottlog/rottlog-"
719 version ".tar.gz"))
720 (sha256
721 (base32
722 "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
723 (modules '((guix build utils)))
724 (snippet
725 '(substitute* "Makefile.in"
726 (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
727 ;; Don't try to chown root.
728 "")
729 (("mkdir -p \\$\\(ROTT_STATDIR\\)")
730 ;; Don't attempt to create /var/lib/rottlog.
731 "true")))))
732 (build-system gnu-build-system)
733 (arguments
268ad34e 734 '(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
fccf2fe0 735 "--localstatedir=/var")
268ad34e
LC
736
737 ;; Install example config files in OUT/etc.
738 #:make-flags (list (string-append "ROTT_ETCDIR="
739 (assoc-ref %outputs "out")
740 "/etc"))
741
8dc0ecae 742 #:phases (modify-phases %standard-phases
11e74634
JN
743 (add-after 'build 'set-packdir
744 (lambda _
745 ;; Set a default location for archived logs.
746 (substitute* "rc/rc"
747 (("packdir=\"\"")
748 "packdir=\"/var/log\""))
749 #t))
8dc0ecae
LC
750 (add-after 'install 'install-info
751 (lambda _
752 (zero? (system* "make" "install-info")))))))
fccf2fe0
LC
753 (native-inputs `(("texinfo" ,texinfo)
754 ("util-linux" ,util-linux))) ; for 'cal'
755 (home-page "http://www.gnu.org/software/rottlog/")
756 (synopsis "Log rotation and management")
757 (description
758 "GNU Rot[t]log is a program for managing log files. It is used to
759automatically rotate out log files when they have reached a given size or
760according to a given schedule. It can also be used to automatically compress
761and archive such logs. Rot[t]log will mail reports of its activity to the
762system administrator.")
f61e0e79 763 (license license:gpl3+)))
e1485c7b
LC
764
765(define-public sudo
766 (package
767 (name "sudo")
6baa83d2 768 (version "1.8.17p1")
e1485c7b
LC
769 (source (origin
770 (method url-fetch)
771 (uri
6baa83d2 772 (list (string-append "https://www.sudo.ws/sudo/dist/sudo-"
e1485c7b
LC
773 version ".tar.gz")
774 (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
775 version ".tar.gz")))
776 (sha256
777 (base32
6baa83d2 778 "1k2mn65l1kmsxm8wh0gjxy496xhbpiimbpm6yv6kw6snzc3xg466"))))
e1485c7b
LC
779 (build-system gnu-build-system)
780 (arguments
0086ec73
LC
781 `(#:configure-flags
782 (list "--with-logpath=/var/log/sudo.log"
7b78f359 783 "--with-rundir=/var/run/sudo" ;must be cleaned up at boot time
0086ec73
LC
784 "--with-vardir=/var/db/sudo"
785 "--with-iologdir=/var/log/sudo-io"
786
787 ;; 'visudo.c' expects _PATH_MV to be defined, but glibc doesn't
788 ;; provide it.
789 (string-append "CPPFLAGS=-D_PATH_MV='\""
790 (assoc-ref %build-inputs "coreutils")
791 "/bin/mv\"'"))
511495fb
LC
792
793 ;; Avoid non-determinism; see <http://bugs.gnu.org/21918>.
794 #:parallel-build? #f
795
e1485c7b
LC
796 #:phases (alist-cons-before
797 'configure 'pre-configure
798 (lambda _
0086ec73
LC
799 (substitute* "src/sudo_usage.h.in"
800 ;; Do not capture 'configure' arguments since we would
801 ;; unduly retain references, and also because the
802 ;; CPPFLAGS above would close the string literal
803 ;; prematurely.
804 (("@CONFIGURE_ARGS@") "\"\""))
e1485c7b 805 (substitute* (find-files "." "Makefile\\.in")
0086ec73 806 (("-o [[:graph:]]+ -g [[:graph:]]+")
e1485c7b
LC
807 ;; Allow installation as non-root.
808 "")
809 (("^install: (.*)install-sudoers(.*)" _ before after)
810 ;; Don't try to create /etc/sudoers.
e1626e3b
SB
811 (string-append "install: " before after "\n"))
812 (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
813 ;; Don't try to create /run/sudo.
814 "$(TMPDIR)/dummy")
815 (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
816 ;; Don't try to create /var/db/sudo.
817 "$(TMPDIR)/dummy")))
e1485c7b
LC
818 %standard-phases)
819
820 ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
821 ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
822 #:tests? #f))
823 (inputs
824 `(("groff" ,groff)
825 ("linux-pam" ,linux-pam)
826 ("coreutils" ,coreutils)))
6baa83d2 827 (home-page "https://www.sudo.ws/")
e1485c7b
LC
828 (synopsis "Run commands as root")
829 (description
830 "Sudo (su \"do\") allows a system administrator to delegate authority to
831give certain users (or groups of users) the ability to run some (or all)
832commands as root or another user while providing an audit trail of the
833commands and their arguments.")
834
835 ;; See <http://www.sudo.ws/sudo/license.html>.
f61e0e79 836 (license license:x11)))
952298d7 837
1ce6f43a 838(define-public wpa-supplicant-minimal
952298d7 839 (package
1ce6f43a 840 (name "wpa-supplicant-minimal")
e91e28d6 841 (version "2.5")
952298d7
LC
842 (source (origin
843 (method url-fetch)
844 (uri (string-append
9a727700 845 "http://w1.fi/releases/wpa_supplicant-"
952298d7
LC
846 version
847 ".tar.gz"))
848 (sha256
849 (base32
419630e0
MW
850 "05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))
851 (patches
fc1adab1
AK
852 (search-patches "wpa-supplicant-CVE-2015-5310.patch"
853 "wpa-supplicant-CVE-2015-5314.patch"
854 "wpa-supplicant-CVE-2015-5315.patch"
0a17fd7c
MW
855 "wpa-supplicant-CVE-2015-5316.patch"
856 "wpa-supplicant-CVE-2016-4476.patch"
857 "wpa-supplicant-CVE-2016-4477-pt1.patch"
858 "wpa-supplicant-CVE-2016-4477-pt2.patch"
859 "wpa-supplicant-CVE-2016-4477-pt3.patch"
860 "wpa-supplicant-CVE-2016-4477-pt4.patch"))))
952298d7
LC
861 (build-system gnu-build-system)
862 (arguments
863 '(#:phases (alist-replace
864 'configure
865 (lambda* (#:key outputs #:allow-other-keys)
866 (chdir "wpa_supplicant")
867 (copy-file "defconfig" ".config")
868 (let ((port (open-file ".config" "al")))
869 (display "
870 CONFIG_DEBUG_SYSLOG=y
40b4c6d6 871
61bdd0d8
LC
872 # Choose GnuTLS (the default is OpenSSL.)
873 CONFIG_TLS=gnutls
874
952298d7
LC
875 CONFIG_DRIVER_NL80211=y
876 CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
877 CONFIG_LIBNL32=y
878 CONFIG_READLINE=y\n" port)
879 (close-port port)))
ffd74de0
LC
880
881 (alist-cons-after
882 'install 'install-man-pages
883 (lambda* (#:key outputs #:allow-other-keys)
884 (let* ((out (assoc-ref outputs "out"))
885 (man (string-append out "/share/man"))
886 (man5 (string-append man "/man5"))
887 (man8 (string-append man "/man8")))
888 (define (copy-man-page target)
889 (lambda (file)
890 (copy-file file
891 (string-append target "/"
892 (basename file)))))
893
894 (mkdir-p man5) (mkdir man8)
895 (for-each (copy-man-page man5)
896 (find-files "doc/docbook" "\\.5"))
897 (for-each (copy-man-page man8)
898 (find-files "doc/docbook" "\\.8"))
899 #t))
900 %standard-phases))
952298d7
LC
901
902 #:make-flags (list "CC=gcc"
903 (string-append "BINDIR=" (assoc-ref %outputs "out")
904 "/sbin")
905 (string-append "LIBDIR=" (assoc-ref %outputs "out")
906 "/lib"))
907 #:tests? #f))
908 (inputs
909 `(("readline" ,readline)
910 ("libnl" ,libnl)
61bdd0d8
LC
911 ("gnutls" ,gnutls)
912 ("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
952298d7
LC
913 (native-inputs
914 `(("pkg-config" ,pkg-config)))
9a727700 915 (home-page "http://w1.fi/wpa_supplicant/")
952298d7
LC
916 (synopsis "Connecting to WPA and WPA2-protected wireless networks")
917 (description
918 "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
919802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
920the client stations. It implements key negotiation with a WPA Authenticator
921and it controls the roaming and IEEE 802.11 authentication/association of the
922WLAN driver.
923
924This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
925
926 ;; In practice, this is linked against Readline, which makes it GPLv3+.
f61e0e79 927 (license license:bsd-3)))
c6b76405 928
4fb7e0de 929(define-public wpa-supplicant
1ce6f43a 930 (package (inherit wpa-supplicant-minimal)
4fb7e0de
MW
931 (name "wpa-supplicant")
932 (inputs `(("dbus" ,dbus)
1ce6f43a 933 ,@(package-inputs wpa-supplicant-minimal)))
4fb7e0de 934 (arguments
1ce6f43a 935 (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
4fb7e0de 936 ((#:phases phases)
6744aba8
MW
937 `(alist-cons-after
938 'configure 'configure-for-dbus
939 (lambda _
940 (let ((port (open-file ".config" "al")))
941 (display "
4fb7e0de
MW
942 CONFIG_CTRL_IFACE_DBUS=y
943 CONFIG_CTRL_IFACE_DBUS_NEW=y
944 CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
6744aba8
MW
945 (close-port port))
946 #t)
947 (alist-cons-after
948 'install-man-pages 'install-dbus-conf
949 (lambda* (#:key outputs #:allow-other-keys)
950 (let* ((out (assoc-ref outputs "out"))
951 (dir (string-append out "/etc/dbus-1/system.d")))
952 (mkdir-p dir)
953 (copy-file "dbus/dbus-wpa_supplicant.conf"
954 (string-append dir "/wpa_supplicant.conf"))))
955 ,phases)))))))
4fb7e0de 956
c6b76405
LC
957(define-public wakelan
958 (package
959 (name "wakelan")
960 (version "1.1")
961 (source (origin
962 (method url-fetch)
963 (uri (string-append
964 "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
965 version ".tar.gz"))
966 (sha256
967 (base32
968 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
969 (build-system gnu-build-system)
970 (arguments
971 '(#:phases (alist-replace
972 'configure
973 (lambda* (#:key outputs #:allow-other-keys)
974 (let ((out (assoc-ref outputs "out")))
975 (mkdir-p (string-append out "/bin"))
976 (mkdir-p (string-append out "/share/man/man1"))
977
978 ;; It's an old configure script that doesn't understand
979 ;; the extra options we pass.
980 (setenv "CONFIG_SHELL" (which "bash"))
981 (zero?
982 (system* "./configure"
983 (string-append "--prefix=" out)
984 (string-append "--mandir=" out
985 "/share/man")))))
986 %standard-phases)
987 #:tests? #f))
988 (home-page "http://kernel.org") ; really, no home page
989 (synopsis "Send a wake-on-LAN packet")
990 (description
991 "WakeLan broadcasts a properly formatted UDP packet across the local area
992network, which causes enabled computers to power on.")
f61e0e79 993 (license license:gpl2+)))
d43f4296
LC
994
995(define-public dmidecode
996 (package
997 (name "dmidecode")
06438b07 998 (version "3.0")
d43f4296
LC
999 (source (origin
1000 (method url-fetch)
1001 (uri (string-append
1002 "mirror://savannah/dmidecode/dmidecode-"
06438b07 1003 version ".tar.xz"))
d43f4296
LC
1004 (sha256
1005 (base32
06438b07 1006 "0iby0xfk5x3cdr0x0gxj5888jjyjhafvaq0l79civ73jjfqmphvy"))))
d43f4296
LC
1007 (build-system gnu-build-system)
1008 (arguments
06438b07 1009 '(#:phases (modify-phases %standard-phases (delete 'configure))
d43f4296
LC
1010 #:tests? #f ; no 'check' target
1011 #:make-flags (list (string-append "prefix="
1012 (assoc-ref %outputs "out")))))
1013 (home-page "http://www.nongnu.org/dmidecode/")
1014 (synopsis "Read hardware information from the BIOS")
1015 (description
1016 "Dmidecode reports information about your system's hardware as described
1017in your system BIOS according to the SMBIOS/DMI standard. This typically
1018includes system manufacturer, model name, serial number, BIOS version, asset
1019tag as well as a lot of other details of varying level of interest and
1020reliability depending on the manufacturer. This will often include usage
1021status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
1022module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
f61e0e79 1023 (license license:gpl2+)))
42dc3af5 1024
13c8c2bf
MW
1025(define-public acpica
1026 (package
1027 (name "acpica")
2036a648 1028 (version "20150410")
13c8c2bf
MW
1029 (source (origin
1030 (method url-fetch)
1031 (uri (string-append
1032 "https://acpica.org/sites/acpica/files/acpica-unix2-"
1033 version ".tar.gz"))
1034 (sha256
1035 (base32
2036a648 1036 "0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
13c8c2bf
MW
1037 (build-system gnu-build-system)
1038 (native-inputs `(("flex" ,flex)
1039 ("bison" ,bison)))
1040 (arguments
1041 '(#:make-flags (list (string-append "PREFIX=" %output)
1042 "HOST=_LINUX"
1043 "OPT_CFLAGS=-Wall -fno-strict-aliasing")
1044 #:tests? #f ; no 'check' target.
1045 #:phases (alist-delete 'configure %standard-phases)))
1046 (home-page "http://acpica.org/")
35b9e423 1047 (synopsis "Tools for the development and debug of ACPI tables")
13c8c2bf
MW
1048 (description
1049 "The ACPI Component Architecture (ACPICA) project provides an
1050OS-independent reference implementation of the Advanced Configuration and
1051Power Interface Specification (ACPI). ACPICA code contains those portions of
1052ACPI meant to be directly integrated into the host OS as a kernel-resident
1053subsystem, and a small set of tools to assist in developing and debugging ACPI
1054tables. This package contains only the user-space tools needed for ACPI table
1055development, not the kernel implementation of ACPI.")
f61e0e79 1056 (license license:gpl2))) ; Dual GPLv2/ACPICA Licence
4cf7bd2b
MW
1057
1058(define-public stress
1059 (package
1060 (name "stress")
1061 (version "1.0.1")
1062 (source (origin
1063 (method url-fetch)
1064 (uri (string-append "mirror://debian/pool/main/s/stress/stress_"
1065 version ".orig.tar.gz"))
1066 (sha256
1067 (base32
1068 "1v9vnzlihqfjsxa93hdbrq72pqqk00dkylmlg8jpxhm7s1w9qfl1"))))
1069 (build-system gnu-build-system)
1070 (home-page "http://packages.debian.org/wheezy/stress")
9e771e3b 1071 (synopsis "Impose load on and stress test a computer system")
4cf7bd2b 1072 (description
35b9e423 1073 "Stress is a tool that imposes a configurable amount of CPU, memory, I/O,
4cf7bd2b
MW
1074or disk stress on a POSIX-compliant operating system and reports any errors it
1075detects.
1076
35b9e423 1077Stress is not a benchmark. It is a tool used by system administrators to
4cf7bd2b
MW
1078evaluate how well their systems will scale, by kernel programmers to evaluate
1079perceived performance characteristics, and by systems programmers to expose
1080the classes of bugs which only or more frequently manifest themselves when the
1081system is under heavy load.")
f61e0e79 1082 (license license:gpl2+)))
b36fcf95
EB
1083
1084(define-public detox
1085 (package
1086 (name "detox")
1087 (version "1.2.0")
1088 (source (origin
1089 (method url-fetch)
de67e922
LF
1090 (uri (string-append "mirror://sourceforge/detox/detox/" version
1091 "/detox-" version ".tar.bz2"))
b36fcf95
EB
1092 (sha256
1093 (base32
1094 "1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
1095 (build-system gnu-build-system)
1096 ;; Both flex and popt are used in this case for their runtime libraries
1097 ;; (libfl and libpopt).
1098 (inputs
1099 `(("flex" ,flex)
1100 ("popt" ,popt)))
1101 (arguments
1102 `(#:configure-flags `(,(string-append "--with-popt="
1103 (assoc-ref %build-inputs "popt")))
1104 #:tests? #f)) ;no 'check' target
1105 (home-page "http://detox.sourceforge.net")
e881752c 1106 (synopsis "Clean up file names")
b36fcf95
EB
1107 (description
1108 "Detox is a program that renames files to make them easier to work with
1109under Unix and related operating systems. Spaces and various other unsafe
1110characters (such as \"$\") get replaced with \"_\". ISO 8859-1 (Latin-1)
1111characters can be replaced as well, as can UTF-8 characters.")
f61e0e79 1112 (license license:bsd-3)))
c4492a16
LC
1113
1114(define-public testdisk
1115 (package
1116 (name "testdisk")
cf91cfc0 1117 (version "7.0")
c4492a16
LC
1118 (source (origin
1119 (method url-fetch)
1120 (uri (string-append "http://www.cgsecurity.org/testdisk-"
1121 version ".tar.bz2"))
1122 (sha256
1123 (base32
cf91cfc0 1124 "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0"))))
c4492a16
LC
1125 (build-system gnu-build-system)
1126 (inputs
d6a08ec0 1127 `(("ntfs-3g" ,ntfs-3g)
c4492a16 1128 ("util-linux" ,util-linux)
cc2b77df 1129 ("openssl" ,openssl)
d6a08ec0 1130 ;; FIXME: add reiserfs
f61e0e79 1131 ("zlib" ,zlib)
c4492a16
LC
1132 ("e2fsprogs" ,e2fsprogs)
1133 ("libjpeg" ,libjpeg)
1134 ("ncurses" ,ncurses)))
1135 (home-page "http://www.cgsecurity.org/wiki/TestDisk")
1136 (synopsis "Data recovery tool")
1137 (description
1138 "TestDisk is a program for data recovery, primarily designed to help
1139recover lost partitions and/or make non-booting disks bootable again.")
f61e0e79 1140 (license license:gpl2+)))
c4492a16 1141
15926aec
AS
1142(define-public tree
1143 (package
1144 (name "tree")
1145 (version "1.7.0")
1146 (source (origin
1147 (method url-fetch)
1148 (uri (string-append
1149 "http://mama.indstate.edu/users/ice/tree/src/tree-"
1150 version ".tgz"))
1151 (sha256
1152 (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
1153 (build-system gnu-build-system)
1154 (arguments
1155 '(#:phases (alist-delete 'configure %standard-phases)
1156 #:tests? #f ; no check target
1157 #:make-flags (let ((out (assoc-ref %outputs "out")))
1158 (list (string-append "prefix=" out)))))
1159 (synopsis "Recursively list the contents of a directory")
1160 (description
1161 "Tree is a recursive directory listing command that produces a depth
1162indented listing of files, which is colorized ala dircolors if the LS_COLORS
1163environment variable is set and output is to tty.")
1164 (home-page "http://mama.indstate.edu/users/ice/tree/")
1165 (license license:gpl2+)))
1166
c2619e10
LC
1167(define-public direvent
1168 (package
1169 (name "direvent")
1170 (version "5.0")
1171 (source (origin
1172 (method url-fetch)
1173 (uri (string-append "mirror://gnu/direvent/direvent-"
1174 version ".tar.gz"))
1175 (sha256
1176 (base32
1177 "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
1178 (modules '((guix build utils)))
1179 (snippet '(substitute* "tests/testsuite"
1180 (("#![[:blank:]]?/bin/sh")
1181 "#!$SHELL")))))
1182 (build-system gnu-build-system)
1183 (arguments
1184 '(#:phases (alist-cons-before
1185 'build 'patch-/bin/sh
1186 (lambda* (#:key inputs #:allow-other-keys)
1187 ;; Use the right shell when executing the watcher.
1188 (let ((bash (assoc-ref inputs "bash")))
1189 (substitute* "src/direvent.c"
1190 (("\"/bin/sh\"")
1191 (string-append "\"" bash "/bin/sh\"")))))
1192 %standard-phases)))
1193 (home-page "http://www.gnu.org/software/direvent/")
1194 (synopsis "Daemon to monitor directories for events such as file removal")
1195 (description
1196 "A daemon that monitors directories for events, such as creating,
35b9e423 1197deleting or modifying files. It can monitor different sets of directories for
c2619e10
LC
1198different events. When an event is detected, direvent calls a specified
1199external program with information about the event, such as the location
c5779c93
LC
1200within the file system where it occurred. Thus, \"direvent\" provides an
1201easy way to react immediately if given files undergo changes, for example, to
c2619e10 1202track changes in important system configuration files.")
f61e0e79 1203 (license license:gpl3+)))
da6c3749
TUBK
1204
1205(define-public libcap-ng
1206 (package
1207 (name "libcap-ng")
1208 (version "0.7.4")
1209 (source (origin
1210 (method url-fetch)
1211 (uri (string-append
1212 "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
1213 version ".tar.gz"))
1214 (sha256
1215 (base32
1216 "0ssvnh4cvhya0c1j6k6192zvqcq7nc0x01fb5nwhr0prfqr0i8j8"))))
1217 (build-system gnu-build-system)
1218 (inputs `(("python" ,python)))
1219 (home-page "http://people.redhat.com/sgrubb/libcap-ng/")
1220 (synopsis "Library for more easily working with POSIX capabilities")
1221 (description
1222 "The libcap-ng library is intended to make programming with POSIX
1223capabilities easier than the traditional libcap library. It includes
1224utilities that can analyse all currently running applications and print out
1225any capabilities and whether or not it has an open ended bounding set. The
1226included utilities are designed to let admins and developers spot apps from
1227various ways that may be running with too much privilege.")
1228 ;; The library is lgpl2.1+, but also ships some utils which are gpl2+.
f61e0e79 1229 (license (list license:lgpl2.1+ license:gpl2+))))
d02f2cc4
TUBK
1230
1231(define-public smartmontools
1232 (package
1233 (name "smartmontools")
85de4365 1234 (version "6.5")
d02f2cc4
TUBK
1235 (source (origin
1236 (method url-fetch)
1237 (uri (string-append
1238 "mirror://sourceforge/smartmontools/smartmontools/"
1239 version "/smartmontools-" version ".tar.gz"))
1240 (sha256
1241 (base32
85de4365 1242 "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49"))))
d02f2cc4
TUBK
1243 (build-system gnu-build-system)
1244 (inputs `(("libcap-ng" ,libcap-ng)))
1245 (home-page "http://www.smartmontools.org/")
1246 (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
1247 (description
1248 "The smartmontools package contains utility programs to control and
1249monitor storage systems using the Self-Monitoring, Analysis and Reporting
1250Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
1251In many cases, these utilities will provide advanced warning of disk
1252degradation and failure.")
f61e0e79 1253 (license license:gpl2+)))
6efd0823
RW
1254
1255(define-public fdupes
1256 (package
1257 (name "fdupes")
47d7b303 1258 (version "1.6.1")
6efd0823
RW
1259 (source
1260 (origin
1261 (method url-fetch)
1262 (uri (string-append
47d7b303 1263 "https://github.com/adrianlopezroche/fdupes/archive/v"
6efd0823 1264 version ".tar.gz"))
47d7b303 1265 (file-name (string-append name "-" version ".tar.gz"))
6efd0823
RW
1266 (sha256
1267 (base32
47d7b303 1268 "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx"))))
6efd0823
RW
1269 (build-system gnu-build-system)
1270 (arguments
e192a230
TGR
1271 '(#:phases (modify-phases %standard-phases
1272 (delete 'configure))
6efd0823 1273 #:tests? #f ; no 'check' target
47d7b303
TGR
1274 #:make-flags (list "CC=gcc"
1275 (string-append "PREFIX="
6efd0823
RW
1276 (assoc-ref %outputs "out")))))
1277 (home-page "https://github.com/adrianlopezroche/fdupes")
1278 (synopsis "Identify duplicate files")
1279 (description
1280 "fdupes is a program for identifying duplicate files residing within
1281specified directories.")
1282 (license license:expat)))
4ecfbda7
DT
1283
1284(define-public graphios
1285 (package
1286 (name "graphios")
1287 (version "2.0.3")
1288 (source
1289 (origin
1290 (method url-fetch)
1291 (uri (string-append
1292 "https://pypi.python.org/packages/source/g/graphios/graphios-"
1293 version ".tar.gz"))
1294 (sha256
1295 (base32
1296 "1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
1297 (build-system python-build-system)
1298 (arguments
1299 ;; Be warned: Building with Python 3 succeeds, but the build process
1300 ;; throws a syntax error that is ignored.
1301 `(#:python ,python-2
1302 #:phases
1303 (modify-phases %standard-phases
1304 (add-before 'build 'fix-setup.py
1305 (lambda* (#:key outputs #:allow-other-keys)
1306 ;; Fix hardcoded, unprefixed file names.
1307 (let ((out (assoc-ref outputs "out")))
1308 (substitute* '("setup.py")
1309 (("/etc") (string-append out "/etc"))
1310 (("/usr") out)
1311 (("distro_ver = .*") "distro_ver = ''"))
1312 #t))))))
1313 (inputs
1314 `(("python-setuptools" ,python2-setuptools)))
1315 (home-page "https://github.com/shawn-sterling/graphios")
1316 (synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
1317 (description
1318 "Graphios is a script to emit nagios perfdata to various upstream metrics
1319processing and time-series systems. It's currently compatible with Graphite,
1320Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
1321of supported upstream metrics systems simultaneously.")
1322 (license license:gpl2+)))
8d801045
ED
1323
1324(define-public ansible
1325 (package
1326 (name "ansible")
697e86dd 1327 (version "2.1.0.0")
8d801045
ED
1328 (source
1329 (origin
1330 (method url-fetch)
697e86dd 1331 (uri (pypi-uri "ansible" version))
8d801045
ED
1332 (sha256
1333 (base32
697e86dd 1334 "1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
8d801045
ED
1335 (build-system python-build-system)
1336 (native-inputs
1337 `(("python2-setuptools" ,python2-setuptools)
1338 ("python2-pycrypto" ,python2-pycrypto)
1339 ("python2-httplib2" ,python2-httplib2)
1340 ("python2-passlib" ,python2-passlib)
1341 ("python2-nose" ,python2-nose)
1342 ("python2-mock" ,python2-mock)
1343 ("python2-jinja2" ,python2-jinja2)
1344 ("python2-pyyaml" ,python2-pyyaml)
1345 ("python2-paramiko" ,python2-paramiko)))
1346 (inputs
1347 `(("python2-pycrypto" ,python2-pycrypto)
1348 ("python2-jinja2" ,python2-jinja2)
1349 ("python2-pyyaml" ,python2-pyyaml)
1350 ("python2-paramiko" ,python2-paramiko)))
1351 (arguments
1352 `(#:python ,python-2)) ; incompatible with Python 3
1353 (home-page "http://ansible.com/")
1354 (synopsis "Radically simple IT automation")
1355 (description "Ansible is a radically simple IT automation system. It
1356handles configuration-management, application deployment, cloud provisioning,
1357ad-hoc task-execution, and multinode orchestration - including trivializing
1358things like zero downtime rolling updates with load balancers.")
1359 (license license:gpl3+)))
44157e9f
EB
1360
1361(define-public cpulimit
1362 (package
1363 (name "cpulimit")
1364 (version "0.2")
1365 (source
1366 (origin
1367 (method url-fetch)
1368 (uri (string-append "https://github.com/opsengine/cpulimit/archive/v"
1369 version ".tar.gz"))
1370 (file-name (string-append name "-" version ".tar.gz"))
1371 (sha256
1372 (base32
1373 "1nn2w849xd5bw4y5sqnll29nxdwl5h0cv4smc7dwmpb9qnd2ycb4"))))
1374 (build-system gnu-build-system)
1375 (arguments
1376 `(#:phases (modify-phases %standard-phases
1377 (delete 'configure)
1378 (replace
1379 'build
1380 (lambda _
1381 (zero? (system* "make" "CC=gcc" "-Csrc"))))
1382 (replace
1383 'check
1384 (lambda _
1385 (zero? (system* "make" "CC=gcc" "-Ctests"))))
1386 (replace
1387 'install
1388 (lambda* (#:key outputs #:allow-other-keys)
1389 (let* ((out (assoc-ref outputs "out"))
1390 (bin (string-append out "/bin")))
1391 (install-file "src/cpulimit" bin)))))))
1392 (home-page "https://github.com/opsengine/cpulimit")
1393 (synopsis "Limit CPU usage")
1394 (description
1395 "Cpulimit limits the CPU usage of a process. It does not change the nice
1396value or other scheduling priority settings, but the real CPU usage, and is
1397able to adapt itself dynamically to the overall system load. Children
1398processes and threads of the specified process may optionally share the same
1399limits.")
1400 (license license:gpl2+)))
2328b47c
EB
1401
1402(define-public autojump
1403 (package
1404 (name "autojump")
1d33b9ea 1405 (version "22.3.4")
2328b47c
EB
1406 (source
1407 (origin
1408 (method url-fetch)
1409 (uri (string-append "https://github.com/wting/autojump/archive/"
1410 "release-v" version ".tar.gz"))
1411 (file-name (string-append name "-" version ".tar.gz"))
1412 (sha256
1413 (base32
1d33b9ea 1414 "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
2328b47c
EB
1415 (build-system gnu-build-system)
1416 (native-inputs ;for tests
1417 `(("python-mock" ,python-mock)
1418 ("python-pytest" ,python-pytest)))
1419 (inputs
1420 `(("python" ,python-wrapper)))
1421 (arguments
1422 `(#:phases (modify-phases %standard-phases
1423 (delete 'configure)
1424 (delete 'build)
1425 (replace 'check
1426 (lambda _
1427 (zero?
0c4520d6 1428 (system* "python" "tests/unit/autojump_utils_test.py"))))
2328b47c
EB
1429 (replace 'install
1430 ;; The install.py script doesn't allow system installation
1431 ;; into an arbitrary prefix, so do our own install.
1432 (lambda* (#:key outputs #:allow-other-keys)
1433 (let* ((out (assoc-ref outputs "out"))
1434 (bin (string-append out "/bin"))
1435 (share (string-append out "/share/autojump"))
1436 (py (string-append out "/lib/python"
1437 ,(version-major+minor
1438 (package-version python-wrapper))
1439 "/site-packages"))
1440 (man (string-append out "/share/man/man1")))
1441 (install-file "bin/autojump" bin)
1442 (for-each (λ (f) (install-file f py))
1443 (find-files "bin" "\\.py$"))
1444 (for-each (λ (f) (install-file f share))
1445 (find-files "bin" "autojump\\..*$"))
1446 (substitute* (string-append share "/autojump.sh")
1447 (("/usr/local") out))
1448 (install-file "docs/autojump.1" man)
1449 (wrap-program (string-append bin "/autojump")
1450 `("PYTHONPATH" ":" prefix (,py)))
1451 #t))))))
1452 (home-page "https://github.com/wting/autojump")
1453 (synopsis "Shell extension for filesystem navigation")
1454 (description
1455 "Autojump provides a faster way to navigate your filesystem, with a \"cd
1456command that learns\". It works by maintaining a database of the directories
1457you use the most from the command line and allows you to \"jump\" to
1458frequently used directories by typing only a small pattern.")
1459 (license license:gpl3+)))
765973cd
LF
1460
1461(define-public iftop
1462 (package
1463 (name "iftop")
1464 (version "1.0pre4")
1465 (source (origin
1466 (method url-fetch)
1467 (uri (string-append "http://www.ex-parrot.com/~pdw/iftop/download"
1468 "/iftop-" version ".tar.gz"))
1469 (sha256
1470 (base32
1471 "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp"))))
1472 (build-system gnu-build-system)
1473 (inputs
1474 `(("libpcap" ,libpcap)
1475 ("ncurses" ,ncurses)))
1476 (synopsis "Monitor network usage")
1477 (description "Iftop does for network usage what @command{top} does
1478for CPU usage. It listens to network traffic on a named interface and
1479displays a table of current bandwidth usage by pairs of hosts.")
1480 (home-page "http://www.ex-parrot.com/~pdw/iftop/")
d4e21fbb 1481 (license license:gpl2+)))
f1957fc1
PP
1482
1483(define-public munge
1484 (package
1485 (name "munge")
b52ae4de 1486 (version "0.5.12")
f1957fc1
PP
1487 (source (origin
1488 (method url-fetch)
b52ae4de
EF
1489 (uri (string-append "https://github.com/dun/munge/releases/"
1490 "download/munge-" version "/munge-"
1491 version ".tar.xz"))
f1957fc1
PP
1492 (sha256
1493 (base32
b52ae4de 1494 "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
f1957fc1
PP
1495 (inputs
1496 `(("openssl" ,openssl)
1497 ("libgcrypt" ,libgcrypt)))
1498 (build-system gnu-build-system)
b52ae4de 1499 (home-page "https://dun.github.io/munge/")
f1957fc1
PP
1500 (synopsis "Cluster computing authentication service")
1501 (description
1502 "Munge is an authentication service for creating and validating
1503credentials. It allows a process to authenticate the UID and GID of another
1504local or remote process within a group of hosts having common users and
1505groups. These hosts form a security realm that is defined by a shared
1506cryptographic key. Clients within this security realm can create and validate
1507credentials without the use of root privileges, reserved ports, or
1508platform-specific methods.")
1509 (license license:gpl3+)))
3d7a157c
RW
1510
1511(define-public audit
1512 (package
1513 (name "audit")
1514 (version "2.4.5")
1515 (source (origin
1516 (method url-fetch)
1517 (uri (string-append "http://people.redhat.com/sgrubb/audit/"
1518 "audit-" version ".tar.gz"))
1519 (sha256
1520 (base32
1521 "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
1522 (build-system gnu-build-system)
1523 (home-page "http://people.redhat.com/sgrubb/audit/")
1524 (arguments
1525 `(#:configure-flags (list "--with-python=no")
1526 #:phases
1527 (modify-phases %standard-phases
1528 (add-after 'unpack 'fix-tests
1529 (lambda _
1530 ;; In the build environmnte /etc/passwd does not contain an entry
1531 ;; for root/0, so we have to patch the expected value.
1532 (substitute* "auparse/test/auparse_test.ref"
1533 (("=0 \\(root\\)") "=0 (unknown(0))"))
1534 #t)))))
1535 (inputs
1536 `(("openldap" ,openldap)
1537 ("openssl" ,openssl)
1538 ("sasl" ,cyrus-sasl)))
1539 (synopsis "User-space component to the Linux auditing system")
1540 (description
1541 "auditd is the user-space component to the Linux auditing system, which
1542allows logging of system calls made by user-land processes. It's responsible
1543for writing audit records to the disk. Viewing the logs is done with the
1544@code{ausearch} or @code{aureport} utilities. Configuring the audit rules is
1545done with the @code{auditctl} utility.")
1546 (license license:gpl2+)))
d0457553
TUBK
1547
1548(define-public nmap
1549 (package
1550 (name "nmap")
dbffd7d7 1551 (version "7.12")
d0457553
TUBK
1552 (source (origin
1553 (method url-fetch)
1554 (uri (string-append "https://nmap.org/dist/nmap-" version
1555 ".tar.bz2"))
1556 (sha256
1557 (base32
dbffd7d7 1558 "014vagh9ak10hidwzp9s6g30y5h5fhsh8wykcnc1hnn9hwm0ipv3"))
d0457553
TUBK
1559 (modules '((guix build utils)))
1560 (snippet
1561 '(map delete-file-recursively
1562 ;; Remove bundled lua, pcap, and pcre libraries.
1563 ;; FIXME: Remove bundled liblinear once packaged.
1564 '("liblua"
1565 "libpcap"
1566 "libpcre"
1567 ;; Remove pre-compiled binares.
1568 "mswin32")))))
1569 (build-system gnu-build-system)
1570 (inputs
1571 `(("openssl" ,openssl)
1572 ("libpcap" ,libpcap)
1573 ("pcre" ,pcre)
1574 ("lua" ,lua)
1575 ;; For 'ndiff'.
1576 ("python" ,python-2)))
1577
1578 ;; TODO Add zenmap output.
1579 (outputs '("out" "ndiff"))
1580 (arguments
1581 '(#:configure-flags '("--without-zenmap")
1582 #:phases
1583 (modify-phases %standard-phases
1584 (replace 'install
1585 (lambda* (#:key outputs #:allow-other-keys)
1586 (define (make out . args)
1587 (unless (zero? (apply system* "make"
1588 (string-append "prefix=" out)
1589 args))
1590 (error "make failed")))
1591 (define (python-path dir)
1592 (string-append dir "/lib/python2.7/site-packages"))
1593 (let ((out (assoc-ref outputs "out"))
1594 (ndiff (assoc-ref outputs "ndiff")))
1595 (for-each mkdir-p (list out ndiff))
1596 (make out
1597 "install-nmap"
1598 "install-nse"
1599 "install-ncat"
1600 "install-nping")
1601 (make ndiff "install-ndiff")
1602 (wrap-program (string-append ndiff "/bin/ndiff")
1603 `("PYTHONPATH" prefix
1604 (,(python-path ndiff)))))))
1605 ;; These are the tests that do not require network access.
1606 (replace 'check
1607 (lambda _ (zero? (system* "make"
1608 "check-nse"
1609 "check-ndiff"
1610 "check-dns")))))
1611 ;; Nmap can't cope with out-of-source building.
1612 #:out-of-source? #f))
1613 (home-page "https://nmap.org/")
1614 (synopsis "Network discovery and security auditing tool")
1615 (description
1616 "Nmap (\"Network Mapper\") is a network discovery and security auditing
1617tool. It is also useful for tasks such as network inventory, managing service
1618upgrade schedules, and monitoring host or service uptime. It also provides an
1619advanced netcat implementation (ncat), a utility for comparing scan
1620results (ndiff), and a packet generation and response analysis tool (nping).")
1621 ;; This package uses nmap's bundled versions of libdnet and liblinear, which
1622 ;; both use a 3-clause BSD license.
1623 (license (list license:nmap license:bsd-3))))
1a0346f0
P
1624
1625(define-public dstat
1626 (package
1627 (name "dstat")
1628 (version "0.7.3")
1629 (source (origin
1630 (method url-fetch)
1631 (uri (string-append
1632 "https://github.com/dagwieers/dstat/archive/"
1633 version ".tar.gz"))
1634 (file-name (string-append "dstat-" version ".tar.gz"))
1635 (sha256
1636 (base32
1637 "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6"))))
1638 (build-system gnu-build-system)
1639 (arguments
1640 `(#:tests? #f ;; no make check
1641 #:make-flags (let ((out (assoc-ref %outputs "out")))
1642 (list (string-append "DESTDIR=" out)
1643 "prefix=/"))
1644 ;; no configure script
1645 #:phases (alist-delete 'configure %standard-phases)))
1646 (inputs `(("python-2" ,python-2)))
1647 (synopsis "Versatile resource statistics tool")
1648 (description "Dstat is a versatile replacement for @command{vmstat},
1649@command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes
1650some of their limitations and adds some extra features, more counters and
1651flexibility. Dstat is handy for monitoring systems during performance tuning
1652tests, benchmarks or troubleshooting.
1653
1654Dstat allows you to view all of your system resources in real-time, you can,
1655e.g., compare disk utilization in combination with interrupts from your IDE
1656controller, or compare the network bandwidth numbers directly with the disk
1657throughput (in the same interval).")
1658 (home-page "http://dag.wiee.rs/home-made/dstat/")
c59f62e9 1659 (license license:gpl2+)))
0405e5f4
EB
1660
1661(define-public thefuck
1662 (package
1663 (name "thefuck")
d24e011e 1664 (version "3.11")
0405e5f4
EB
1665 (source (origin
1666 (method url-fetch)
1667 (uri (string-append "https://github.com/nvbn/thefuck/archive/"
1668 version ".tar.gz"))
1669 (file-name (string-append name "-" version ".tar.gz"))
1670 (sha256
1671 (base32
d24e011e 1672 "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
0405e5f4
EB
1673 (build-system python-build-system)
1674 (native-inputs
1675 `(("python-setuptools" ,python-setuptools)))
1676 (inputs
1677 `(("python-colorama" ,python-colorama)
1678 ("python-decorator" ,python-decorator)
1679 ("python-psutil" ,python-psutil)
1680 ("python-six" ,python-six)))
1681 (home-page "https://github.com/nvbn/thefuck")
1682 (synopsis "Correct mistyped console command")
1683 (description
1684 "The Fuck tries to match a rule for a previous, mistyped command, creates
1685a new command using the matched rule, and runs it.")
1686 (license license:x11)))
61402398
JF
1687
1688(define-public di
1689 (package
1690 (name "di")
1691 (version "4.42")
1692 (source
1693 (origin
1694 (method url-fetch)
1695 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
1696 (sha256
1697 (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n"))))
1698 (build-system gnu-build-system)
1699 (arguments
1700 `(#:tests? #f ; Obscure test failures.
1701 #:phases
1702 (modify-phases %standard-phases
1703 (delete 'configure)
1704 (add-before 'build 'setup-environment
1705 (lambda* (#:key outputs #:allow-other-keys)
1706 (setenv "CC" "gcc")
1707 (setenv "prefix" (assoc-ref outputs "out"))
1708 #t)))
1709 #:make-flags (list "--environment-overrides")))
1710 (home-page "https://www.gentoo.com/di/")
1711 (synopsis "Advanced df like disk information utility")
1712 (description
1713 "'di' is a disk information utility, displaying everything
1714(and more) that your @code{df} command does. It features the ability to
1715display your disk usage in whatever format you prefer. It is designed to be
1716highly portable. Great for heterogenous networks.")
1717 (license license:zlib)))
5ec8b02d 1718
1719(define-public cbatticon
1720 (package
1721 (name "cbatticon")
1722 (version "1.6.4")
1723 (source (origin
1724 (method url-fetch)
1725 (uri (string-append "https://github.com/valr/"
1726 name "/archive/" version ".tar.gz"))
1727 (sha256
1728 (base32
1729 "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx"))
1730 (file-name (string-append name "-" version ".tar.gz"))))
1731 (build-system gnu-build-system)
1732 (arguments
1733 `(#:tests? #f ; no tests
1734 #:make-flags
1735 (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
1736 "CC=gcc")
1737 #:phases
1738 (modify-phases %standard-phases
1739 (delete 'configure)))) ; no configure script
1740 (inputs
1741 `(("gtk+" ,gtk+)
1742 ("gnu-gettext" ,gnu-gettext)
1743 ("libnotify" ,libnotify)))
1744 (native-inputs
1745 `(("pkg-config" ,pkg-config)))
1746 (synopsis "Lightweight battery icon for the system tray")
1747 (description "cbatticon is a lightweight battery icon that displays
1748the status of your battery in the system tray.")
1749 (home-page "https://github.com/valr/cbatticon")
1750 (license license:gpl2+)))
c08533b2 1751
1752(define-public interrobang
1753 (let ((revision "1")
1754 (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
1755 (package
1756 (name "interrobang")
1757 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
1758 (source (origin
1759 (method git-fetch)
1760 (uri (git-reference
1761 (url "git://github.com/TrilbyWhite/interrobang")
1762 (commit commit)))
1763 (file-name (string-append name "-" version))
1764 (sha256
1765 (base32
1766 "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
1767 (build-system gnu-build-system)
1768 (arguments
1769 `(#:tests? #f ; no tests
1770 #:phases
1771 (modify-phases %standard-phases
1772 (delete 'configure)) ; no configure script
1773 #:make-flags (list (string-append "PREFIX="
1774 (assoc-ref %outputs "out")))))
1775 (inputs
1776 `(("libx11" ,libx11)))
1777 (native-inputs
1778 `(("pkg-config" ,pkg-config)))
1779 (synopsis "Scriptable launcher menu")
1780 (description "Interrobang is a scriptable launcher menu with a customizable
1781shortcut syntax and completion options.")
1782 (home-page "https://github.com/TrilbyWhite/interrobang")
1783 (license license:gpl3+))))