gnu: rottlog: Adjust the default 'weekly' config.
[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))
309e523e
LC
750 (add-before 'install 'tweak-rc-weekly
751 (lambda _
752 (substitute* "rc/weekly"
753 (("/bin/kill")
754 (which "kill"))
755 (("syslogd\\.pid")
756 ;; The file is called 'syslog.pid' (no 'd').
757 "syslog.pid"))
758 #t))
8dc0ecae
LC
759 (add-after 'install 'install-info
760 (lambda _
761 (zero? (system* "make" "install-info")))))))
fccf2fe0
LC
762 (native-inputs `(("texinfo" ,texinfo)
763 ("util-linux" ,util-linux))) ; for 'cal'
764 (home-page "http://www.gnu.org/software/rottlog/")
765 (synopsis "Log rotation and management")
766 (description
767 "GNU Rot[t]log is a program for managing log files. It is used to
768automatically rotate out log files when they have reached a given size or
769according to a given schedule. It can also be used to automatically compress
770and archive such logs. Rot[t]log will mail reports of its activity to the
771system administrator.")
f61e0e79 772 (license license:gpl3+)))
e1485c7b
LC
773
774(define-public sudo
775 (package
776 (name "sudo")
6baa83d2 777 (version "1.8.17p1")
e1485c7b
LC
778 (source (origin
779 (method url-fetch)
780 (uri
6baa83d2 781 (list (string-append "https://www.sudo.ws/sudo/dist/sudo-"
e1485c7b
LC
782 version ".tar.gz")
783 (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
784 version ".tar.gz")))
785 (sha256
786 (base32
6baa83d2 787 "1k2mn65l1kmsxm8wh0gjxy496xhbpiimbpm6yv6kw6snzc3xg466"))))
e1485c7b
LC
788 (build-system gnu-build-system)
789 (arguments
0086ec73
LC
790 `(#:configure-flags
791 (list "--with-logpath=/var/log/sudo.log"
7b78f359 792 "--with-rundir=/var/run/sudo" ;must be cleaned up at boot time
0086ec73
LC
793 "--with-vardir=/var/db/sudo"
794 "--with-iologdir=/var/log/sudo-io"
795
796 ;; 'visudo.c' expects _PATH_MV to be defined, but glibc doesn't
797 ;; provide it.
798 (string-append "CPPFLAGS=-D_PATH_MV='\""
799 (assoc-ref %build-inputs "coreutils")
800 "/bin/mv\"'"))
511495fb
LC
801
802 ;; Avoid non-determinism; see <http://bugs.gnu.org/21918>.
803 #:parallel-build? #f
804
e1485c7b
LC
805 #:phases (alist-cons-before
806 'configure 'pre-configure
807 (lambda _
0086ec73
LC
808 (substitute* "src/sudo_usage.h.in"
809 ;; Do not capture 'configure' arguments since we would
810 ;; unduly retain references, and also because the
811 ;; CPPFLAGS above would close the string literal
812 ;; prematurely.
813 (("@CONFIGURE_ARGS@") "\"\""))
e1485c7b 814 (substitute* (find-files "." "Makefile\\.in")
0086ec73 815 (("-o [[:graph:]]+ -g [[:graph:]]+")
e1485c7b
LC
816 ;; Allow installation as non-root.
817 "")
818 (("^install: (.*)install-sudoers(.*)" _ before after)
819 ;; Don't try to create /etc/sudoers.
e1626e3b
SB
820 (string-append "install: " before after "\n"))
821 (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
822 ;; Don't try to create /run/sudo.
823 "$(TMPDIR)/dummy")
824 (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
825 ;; Don't try to create /var/db/sudo.
826 "$(TMPDIR)/dummy")))
e1485c7b
LC
827 %standard-phases)
828
829 ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
830 ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
831 #:tests? #f))
832 (inputs
833 `(("groff" ,groff)
834 ("linux-pam" ,linux-pam)
835 ("coreutils" ,coreutils)))
6baa83d2 836 (home-page "https://www.sudo.ws/")
e1485c7b
LC
837 (synopsis "Run commands as root")
838 (description
839 "Sudo (su \"do\") allows a system administrator to delegate authority to
840give certain users (or groups of users) the ability to run some (or all)
841commands as root or another user while providing an audit trail of the
842commands and their arguments.")
843
844 ;; See <http://www.sudo.ws/sudo/license.html>.
f61e0e79 845 (license license:x11)))
952298d7 846
1ce6f43a 847(define-public wpa-supplicant-minimal
952298d7 848 (package
1ce6f43a 849 (name "wpa-supplicant-minimal")
e91e28d6 850 (version "2.5")
952298d7
LC
851 (source (origin
852 (method url-fetch)
853 (uri (string-append
9a727700 854 "http://w1.fi/releases/wpa_supplicant-"
952298d7
LC
855 version
856 ".tar.gz"))
857 (sha256
858 (base32
419630e0
MW
859 "05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))
860 (patches
fc1adab1
AK
861 (search-patches "wpa-supplicant-CVE-2015-5310.patch"
862 "wpa-supplicant-CVE-2015-5314.patch"
863 "wpa-supplicant-CVE-2015-5315.patch"
0a17fd7c
MW
864 "wpa-supplicant-CVE-2015-5316.patch"
865 "wpa-supplicant-CVE-2016-4476.patch"
866 "wpa-supplicant-CVE-2016-4477-pt1.patch"
867 "wpa-supplicant-CVE-2016-4477-pt2.patch"
868 "wpa-supplicant-CVE-2016-4477-pt3.patch"
869 "wpa-supplicant-CVE-2016-4477-pt4.patch"))))
952298d7
LC
870 (build-system gnu-build-system)
871 (arguments
872 '(#:phases (alist-replace
873 'configure
874 (lambda* (#:key outputs #:allow-other-keys)
875 (chdir "wpa_supplicant")
876 (copy-file "defconfig" ".config")
877 (let ((port (open-file ".config" "al")))
878 (display "
879 CONFIG_DEBUG_SYSLOG=y
40b4c6d6 880
61bdd0d8
LC
881 # Choose GnuTLS (the default is OpenSSL.)
882 CONFIG_TLS=gnutls
883
952298d7
LC
884 CONFIG_DRIVER_NL80211=y
885 CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
886 CONFIG_LIBNL32=y
887 CONFIG_READLINE=y\n" port)
888 (close-port port)))
ffd74de0
LC
889
890 (alist-cons-after
891 'install 'install-man-pages
892 (lambda* (#:key outputs #:allow-other-keys)
893 (let* ((out (assoc-ref outputs "out"))
894 (man (string-append out "/share/man"))
895 (man5 (string-append man "/man5"))
896 (man8 (string-append man "/man8")))
897 (define (copy-man-page target)
898 (lambda (file)
899 (copy-file file
900 (string-append target "/"
901 (basename file)))))
902
903 (mkdir-p man5) (mkdir man8)
904 (for-each (copy-man-page man5)
905 (find-files "doc/docbook" "\\.5"))
906 (for-each (copy-man-page man8)
907 (find-files "doc/docbook" "\\.8"))
908 #t))
909 %standard-phases))
952298d7
LC
910
911 #:make-flags (list "CC=gcc"
912 (string-append "BINDIR=" (assoc-ref %outputs "out")
913 "/sbin")
914 (string-append "LIBDIR=" (assoc-ref %outputs "out")
915 "/lib"))
916 #:tests? #f))
917 (inputs
918 `(("readline" ,readline)
919 ("libnl" ,libnl)
61bdd0d8
LC
920 ("gnutls" ,gnutls)
921 ("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
952298d7
LC
922 (native-inputs
923 `(("pkg-config" ,pkg-config)))
9a727700 924 (home-page "http://w1.fi/wpa_supplicant/")
952298d7
LC
925 (synopsis "Connecting to WPA and WPA2-protected wireless networks")
926 (description
927 "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
928802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
929the client stations. It implements key negotiation with a WPA Authenticator
930and it controls the roaming and IEEE 802.11 authentication/association of the
931WLAN driver.
932
933This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
934
935 ;; In practice, this is linked against Readline, which makes it GPLv3+.
f61e0e79 936 (license license:bsd-3)))
c6b76405 937
4fb7e0de 938(define-public wpa-supplicant
1ce6f43a 939 (package (inherit wpa-supplicant-minimal)
4fb7e0de
MW
940 (name "wpa-supplicant")
941 (inputs `(("dbus" ,dbus)
1ce6f43a 942 ,@(package-inputs wpa-supplicant-minimal)))
4fb7e0de 943 (arguments
1ce6f43a 944 (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
4fb7e0de 945 ((#:phases phases)
6744aba8
MW
946 `(alist-cons-after
947 'configure 'configure-for-dbus
948 (lambda _
949 (let ((port (open-file ".config" "al")))
950 (display "
4fb7e0de
MW
951 CONFIG_CTRL_IFACE_DBUS=y
952 CONFIG_CTRL_IFACE_DBUS_NEW=y
953 CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
6744aba8
MW
954 (close-port port))
955 #t)
956 (alist-cons-after
957 'install-man-pages 'install-dbus-conf
958 (lambda* (#:key outputs #:allow-other-keys)
959 (let* ((out (assoc-ref outputs "out"))
960 (dir (string-append out "/etc/dbus-1/system.d")))
961 (mkdir-p dir)
962 (copy-file "dbus/dbus-wpa_supplicant.conf"
963 (string-append dir "/wpa_supplicant.conf"))))
964 ,phases)))))))
4fb7e0de 965
c6b76405
LC
966(define-public wakelan
967 (package
968 (name "wakelan")
969 (version "1.1")
970 (source (origin
971 (method url-fetch)
972 (uri (string-append
973 "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
974 version ".tar.gz"))
975 (sha256
976 (base32
977 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
978 (build-system gnu-build-system)
979 (arguments
980 '(#:phases (alist-replace
981 'configure
982 (lambda* (#:key outputs #:allow-other-keys)
983 (let ((out (assoc-ref outputs "out")))
984 (mkdir-p (string-append out "/bin"))
985 (mkdir-p (string-append out "/share/man/man1"))
986
987 ;; It's an old configure script that doesn't understand
988 ;; the extra options we pass.
989 (setenv "CONFIG_SHELL" (which "bash"))
990 (zero?
991 (system* "./configure"
992 (string-append "--prefix=" out)
993 (string-append "--mandir=" out
994 "/share/man")))))
995 %standard-phases)
996 #:tests? #f))
997 (home-page "http://kernel.org") ; really, no home page
998 (synopsis "Send a wake-on-LAN packet")
999 (description
1000 "WakeLan broadcasts a properly formatted UDP packet across the local area
1001network, which causes enabled computers to power on.")
f61e0e79 1002 (license license:gpl2+)))
d43f4296
LC
1003
1004(define-public dmidecode
1005 (package
1006 (name "dmidecode")
06438b07 1007 (version "3.0")
d43f4296
LC
1008 (source (origin
1009 (method url-fetch)
1010 (uri (string-append
1011 "mirror://savannah/dmidecode/dmidecode-"
06438b07 1012 version ".tar.xz"))
d43f4296
LC
1013 (sha256
1014 (base32
06438b07 1015 "0iby0xfk5x3cdr0x0gxj5888jjyjhafvaq0l79civ73jjfqmphvy"))))
d43f4296
LC
1016 (build-system gnu-build-system)
1017 (arguments
06438b07 1018 '(#:phases (modify-phases %standard-phases (delete 'configure))
d43f4296
LC
1019 #:tests? #f ; no 'check' target
1020 #:make-flags (list (string-append "prefix="
1021 (assoc-ref %outputs "out")))))
1022 (home-page "http://www.nongnu.org/dmidecode/")
1023 (synopsis "Read hardware information from the BIOS")
1024 (description
1025 "Dmidecode reports information about your system's hardware as described
1026in your system BIOS according to the SMBIOS/DMI standard. This typically
1027includes system manufacturer, model name, serial number, BIOS version, asset
1028tag as well as a lot of other details of varying level of interest and
1029reliability depending on the manufacturer. This will often include usage
1030status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
1031module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
f61e0e79 1032 (license license:gpl2+)))
42dc3af5 1033
13c8c2bf
MW
1034(define-public acpica
1035 (package
1036 (name "acpica")
2036a648 1037 (version "20150410")
13c8c2bf
MW
1038 (source (origin
1039 (method url-fetch)
1040 (uri (string-append
1041 "https://acpica.org/sites/acpica/files/acpica-unix2-"
1042 version ".tar.gz"))
1043 (sha256
1044 (base32
2036a648 1045 "0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
13c8c2bf
MW
1046 (build-system gnu-build-system)
1047 (native-inputs `(("flex" ,flex)
1048 ("bison" ,bison)))
1049 (arguments
1050 '(#:make-flags (list (string-append "PREFIX=" %output)
1051 "HOST=_LINUX"
1052 "OPT_CFLAGS=-Wall -fno-strict-aliasing")
1053 #:tests? #f ; no 'check' target.
1054 #:phases (alist-delete 'configure %standard-phases)))
1055 (home-page "http://acpica.org/")
35b9e423 1056 (synopsis "Tools for the development and debug of ACPI tables")
13c8c2bf
MW
1057 (description
1058 "The ACPI Component Architecture (ACPICA) project provides an
1059OS-independent reference implementation of the Advanced Configuration and
1060Power Interface Specification (ACPI). ACPICA code contains those portions of
1061ACPI meant to be directly integrated into the host OS as a kernel-resident
1062subsystem, and a small set of tools to assist in developing and debugging ACPI
1063tables. This package contains only the user-space tools needed for ACPI table
1064development, not the kernel implementation of ACPI.")
f61e0e79 1065 (license license:gpl2))) ; Dual GPLv2/ACPICA Licence
4cf7bd2b
MW
1066
1067(define-public stress
1068 (package
1069 (name "stress")
1070 (version "1.0.1")
1071 (source (origin
1072 (method url-fetch)
1073 (uri (string-append "mirror://debian/pool/main/s/stress/stress_"
1074 version ".orig.tar.gz"))
1075 (sha256
1076 (base32
1077 "1v9vnzlihqfjsxa93hdbrq72pqqk00dkylmlg8jpxhm7s1w9qfl1"))))
1078 (build-system gnu-build-system)
1079 (home-page "http://packages.debian.org/wheezy/stress")
9e771e3b 1080 (synopsis "Impose load on and stress test a computer system")
4cf7bd2b 1081 (description
35b9e423 1082 "Stress is a tool that imposes a configurable amount of CPU, memory, I/O,
4cf7bd2b
MW
1083or disk stress on a POSIX-compliant operating system and reports any errors it
1084detects.
1085
35b9e423 1086Stress is not a benchmark. It is a tool used by system administrators to
4cf7bd2b
MW
1087evaluate how well their systems will scale, by kernel programmers to evaluate
1088perceived performance characteristics, and by systems programmers to expose
1089the classes of bugs which only or more frequently manifest themselves when the
1090system is under heavy load.")
f61e0e79 1091 (license license:gpl2+)))
b36fcf95
EB
1092
1093(define-public detox
1094 (package
1095 (name "detox")
1096 (version "1.2.0")
1097 (source (origin
1098 (method url-fetch)
de67e922
LF
1099 (uri (string-append "mirror://sourceforge/detox/detox/" version
1100 "/detox-" version ".tar.bz2"))
b36fcf95
EB
1101 (sha256
1102 (base32
1103 "1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
1104 (build-system gnu-build-system)
1105 ;; Both flex and popt are used in this case for their runtime libraries
1106 ;; (libfl and libpopt).
1107 (inputs
1108 `(("flex" ,flex)
1109 ("popt" ,popt)))
1110 (arguments
1111 `(#:configure-flags `(,(string-append "--with-popt="
1112 (assoc-ref %build-inputs "popt")))
1113 #:tests? #f)) ;no 'check' target
1114 (home-page "http://detox.sourceforge.net")
e881752c 1115 (synopsis "Clean up file names")
b36fcf95
EB
1116 (description
1117 "Detox is a program that renames files to make them easier to work with
1118under Unix and related operating systems. Spaces and various other unsafe
1119characters (such as \"$\") get replaced with \"_\". ISO 8859-1 (Latin-1)
1120characters can be replaced as well, as can UTF-8 characters.")
f61e0e79 1121 (license license:bsd-3)))
c4492a16
LC
1122
1123(define-public testdisk
1124 (package
1125 (name "testdisk")
cf91cfc0 1126 (version "7.0")
c4492a16
LC
1127 (source (origin
1128 (method url-fetch)
1129 (uri (string-append "http://www.cgsecurity.org/testdisk-"
1130 version ".tar.bz2"))
1131 (sha256
1132 (base32
cf91cfc0 1133 "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0"))))
c4492a16
LC
1134 (build-system gnu-build-system)
1135 (inputs
d6a08ec0 1136 `(("ntfs-3g" ,ntfs-3g)
c4492a16 1137 ("util-linux" ,util-linux)
cc2b77df 1138 ("openssl" ,openssl)
d6a08ec0 1139 ;; FIXME: add reiserfs
f61e0e79 1140 ("zlib" ,zlib)
c4492a16
LC
1141 ("e2fsprogs" ,e2fsprogs)
1142 ("libjpeg" ,libjpeg)
1143 ("ncurses" ,ncurses)))
1144 (home-page "http://www.cgsecurity.org/wiki/TestDisk")
1145 (synopsis "Data recovery tool")
1146 (description
1147 "TestDisk is a program for data recovery, primarily designed to help
1148recover lost partitions and/or make non-booting disks bootable again.")
f61e0e79 1149 (license license:gpl2+)))
c4492a16 1150
15926aec
AS
1151(define-public tree
1152 (package
1153 (name "tree")
1154 (version "1.7.0")
1155 (source (origin
1156 (method url-fetch)
1157 (uri (string-append
1158 "http://mama.indstate.edu/users/ice/tree/src/tree-"
1159 version ".tgz"))
1160 (sha256
1161 (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
1162 (build-system gnu-build-system)
1163 (arguments
1164 '(#:phases (alist-delete 'configure %standard-phases)
1165 #:tests? #f ; no check target
1166 #:make-flags (let ((out (assoc-ref %outputs "out")))
1167 (list (string-append "prefix=" out)))))
1168 (synopsis "Recursively list the contents of a directory")
1169 (description
1170 "Tree is a recursive directory listing command that produces a depth
1171indented listing of files, which is colorized ala dircolors if the LS_COLORS
1172environment variable is set and output is to tty.")
1173 (home-page "http://mama.indstate.edu/users/ice/tree/")
1174 (license license:gpl2+)))
1175
c2619e10
LC
1176(define-public direvent
1177 (package
1178 (name "direvent")
1179 (version "5.0")
1180 (source (origin
1181 (method url-fetch)
1182 (uri (string-append "mirror://gnu/direvent/direvent-"
1183 version ".tar.gz"))
1184 (sha256
1185 (base32
1186 "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
1187 (modules '((guix build utils)))
1188 (snippet '(substitute* "tests/testsuite"
1189 (("#![[:blank:]]?/bin/sh")
1190 "#!$SHELL")))))
1191 (build-system gnu-build-system)
1192 (arguments
1193 '(#:phases (alist-cons-before
1194 'build 'patch-/bin/sh
1195 (lambda* (#:key inputs #:allow-other-keys)
1196 ;; Use the right shell when executing the watcher.
1197 (let ((bash (assoc-ref inputs "bash")))
1198 (substitute* "src/direvent.c"
1199 (("\"/bin/sh\"")
1200 (string-append "\"" bash "/bin/sh\"")))))
1201 %standard-phases)))
1202 (home-page "http://www.gnu.org/software/direvent/")
1203 (synopsis "Daemon to monitor directories for events such as file removal")
1204 (description
1205 "A daemon that monitors directories for events, such as creating,
35b9e423 1206deleting or modifying files. It can monitor different sets of directories for
c2619e10
LC
1207different events. When an event is detected, direvent calls a specified
1208external program with information about the event, such as the location
c5779c93
LC
1209within the file system where it occurred. Thus, \"direvent\" provides an
1210easy way to react immediately if given files undergo changes, for example, to
c2619e10 1211track changes in important system configuration files.")
f61e0e79 1212 (license license:gpl3+)))
da6c3749
TUBK
1213
1214(define-public libcap-ng
1215 (package
1216 (name "libcap-ng")
1217 (version "0.7.4")
1218 (source (origin
1219 (method url-fetch)
1220 (uri (string-append
1221 "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
1222 version ".tar.gz"))
1223 (sha256
1224 (base32
1225 "0ssvnh4cvhya0c1j6k6192zvqcq7nc0x01fb5nwhr0prfqr0i8j8"))))
1226 (build-system gnu-build-system)
1227 (inputs `(("python" ,python)))
1228 (home-page "http://people.redhat.com/sgrubb/libcap-ng/")
1229 (synopsis "Library for more easily working with POSIX capabilities")
1230 (description
1231 "The libcap-ng library is intended to make programming with POSIX
1232capabilities easier than the traditional libcap library. It includes
1233utilities that can analyse all currently running applications and print out
1234any capabilities and whether or not it has an open ended bounding set. The
1235included utilities are designed to let admins and developers spot apps from
1236various ways that may be running with too much privilege.")
1237 ;; The library is lgpl2.1+, but also ships some utils which are gpl2+.
f61e0e79 1238 (license (list license:lgpl2.1+ license:gpl2+))))
d02f2cc4
TUBK
1239
1240(define-public smartmontools
1241 (package
1242 (name "smartmontools")
85de4365 1243 (version "6.5")
d02f2cc4
TUBK
1244 (source (origin
1245 (method url-fetch)
1246 (uri (string-append
1247 "mirror://sourceforge/smartmontools/smartmontools/"
1248 version "/smartmontools-" version ".tar.gz"))
1249 (sha256
1250 (base32
85de4365 1251 "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49"))))
d02f2cc4
TUBK
1252 (build-system gnu-build-system)
1253 (inputs `(("libcap-ng" ,libcap-ng)))
1254 (home-page "http://www.smartmontools.org/")
1255 (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
1256 (description
1257 "The smartmontools package contains utility programs to control and
1258monitor storage systems using the Self-Monitoring, Analysis and Reporting
1259Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
1260In many cases, these utilities will provide advanced warning of disk
1261degradation and failure.")
f61e0e79 1262 (license license:gpl2+)))
6efd0823
RW
1263
1264(define-public fdupes
1265 (package
1266 (name "fdupes")
47d7b303 1267 (version "1.6.1")
6efd0823
RW
1268 (source
1269 (origin
1270 (method url-fetch)
1271 (uri (string-append
47d7b303 1272 "https://github.com/adrianlopezroche/fdupes/archive/v"
6efd0823 1273 version ".tar.gz"))
47d7b303 1274 (file-name (string-append name "-" version ".tar.gz"))
6efd0823
RW
1275 (sha256
1276 (base32
47d7b303 1277 "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx"))))
6efd0823
RW
1278 (build-system gnu-build-system)
1279 (arguments
e192a230
TGR
1280 '(#:phases (modify-phases %standard-phases
1281 (delete 'configure))
6efd0823 1282 #:tests? #f ; no 'check' target
47d7b303
TGR
1283 #:make-flags (list "CC=gcc"
1284 (string-append "PREFIX="
6efd0823
RW
1285 (assoc-ref %outputs "out")))))
1286 (home-page "https://github.com/adrianlopezroche/fdupes")
1287 (synopsis "Identify duplicate files")
1288 (description
1289 "fdupes is a program for identifying duplicate files residing within
1290specified directories.")
1291 (license license:expat)))
4ecfbda7
DT
1292
1293(define-public graphios
1294 (package
1295 (name "graphios")
1296 (version "2.0.3")
1297 (source
1298 (origin
1299 (method url-fetch)
1300 (uri (string-append
1301 "https://pypi.python.org/packages/source/g/graphios/graphios-"
1302 version ".tar.gz"))
1303 (sha256
1304 (base32
1305 "1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
1306 (build-system python-build-system)
1307 (arguments
1308 ;; Be warned: Building with Python 3 succeeds, but the build process
1309 ;; throws a syntax error that is ignored.
1310 `(#:python ,python-2
1311 #:phases
1312 (modify-phases %standard-phases
1313 (add-before 'build 'fix-setup.py
1314 (lambda* (#:key outputs #:allow-other-keys)
1315 ;; Fix hardcoded, unprefixed file names.
1316 (let ((out (assoc-ref outputs "out")))
1317 (substitute* '("setup.py")
1318 (("/etc") (string-append out "/etc"))
1319 (("/usr") out)
1320 (("distro_ver = .*") "distro_ver = ''"))
1321 #t))))))
1322 (inputs
1323 `(("python-setuptools" ,python2-setuptools)))
1324 (home-page "https://github.com/shawn-sterling/graphios")
1325 (synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
1326 (description
1327 "Graphios is a script to emit nagios perfdata to various upstream metrics
1328processing and time-series systems. It's currently compatible with Graphite,
1329Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
1330of supported upstream metrics systems simultaneously.")
1331 (license license:gpl2+)))
8d801045
ED
1332
1333(define-public ansible
1334 (package
1335 (name "ansible")
697e86dd 1336 (version "2.1.0.0")
8d801045
ED
1337 (source
1338 (origin
1339 (method url-fetch)
697e86dd 1340 (uri (pypi-uri "ansible" version))
8d801045
ED
1341 (sha256
1342 (base32
697e86dd 1343 "1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
8d801045
ED
1344 (build-system python-build-system)
1345 (native-inputs
1346 `(("python2-setuptools" ,python2-setuptools)
1347 ("python2-pycrypto" ,python2-pycrypto)
1348 ("python2-httplib2" ,python2-httplib2)
1349 ("python2-passlib" ,python2-passlib)
1350 ("python2-nose" ,python2-nose)
1351 ("python2-mock" ,python2-mock)
1352 ("python2-jinja2" ,python2-jinja2)
1353 ("python2-pyyaml" ,python2-pyyaml)
1354 ("python2-paramiko" ,python2-paramiko)))
1355 (inputs
1356 `(("python2-pycrypto" ,python2-pycrypto)
1357 ("python2-jinja2" ,python2-jinja2)
1358 ("python2-pyyaml" ,python2-pyyaml)
1359 ("python2-paramiko" ,python2-paramiko)))
1360 (arguments
1361 `(#:python ,python-2)) ; incompatible with Python 3
1362 (home-page "http://ansible.com/")
1363 (synopsis "Radically simple IT automation")
1364 (description "Ansible is a radically simple IT automation system. It
1365handles configuration-management, application deployment, cloud provisioning,
1366ad-hoc task-execution, and multinode orchestration - including trivializing
1367things like zero downtime rolling updates with load balancers.")
1368 (license license:gpl3+)))
44157e9f
EB
1369
1370(define-public cpulimit
1371 (package
1372 (name "cpulimit")
1373 (version "0.2")
1374 (source
1375 (origin
1376 (method url-fetch)
1377 (uri (string-append "https://github.com/opsengine/cpulimit/archive/v"
1378 version ".tar.gz"))
1379 (file-name (string-append name "-" version ".tar.gz"))
1380 (sha256
1381 (base32
1382 "1nn2w849xd5bw4y5sqnll29nxdwl5h0cv4smc7dwmpb9qnd2ycb4"))))
1383 (build-system gnu-build-system)
1384 (arguments
1385 `(#:phases (modify-phases %standard-phases
1386 (delete 'configure)
1387 (replace
1388 'build
1389 (lambda _
1390 (zero? (system* "make" "CC=gcc" "-Csrc"))))
1391 (replace
1392 'check
1393 (lambda _
1394 (zero? (system* "make" "CC=gcc" "-Ctests"))))
1395 (replace
1396 'install
1397 (lambda* (#:key outputs #:allow-other-keys)
1398 (let* ((out (assoc-ref outputs "out"))
1399 (bin (string-append out "/bin")))
1400 (install-file "src/cpulimit" bin)))))))
1401 (home-page "https://github.com/opsengine/cpulimit")
1402 (synopsis "Limit CPU usage")
1403 (description
1404 "Cpulimit limits the CPU usage of a process. It does not change the nice
1405value or other scheduling priority settings, but the real CPU usage, and is
1406able to adapt itself dynamically to the overall system load. Children
1407processes and threads of the specified process may optionally share the same
1408limits.")
1409 (license license:gpl2+)))
2328b47c
EB
1410
1411(define-public autojump
1412 (package
1413 (name "autojump")
1d33b9ea 1414 (version "22.3.4")
2328b47c
EB
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (string-append "https://github.com/wting/autojump/archive/"
1419 "release-v" version ".tar.gz"))
1420 (file-name (string-append name "-" version ".tar.gz"))
1421 (sha256
1422 (base32
1d33b9ea 1423 "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
2328b47c
EB
1424 (build-system gnu-build-system)
1425 (native-inputs ;for tests
1426 `(("python-mock" ,python-mock)
1427 ("python-pytest" ,python-pytest)))
1428 (inputs
1429 `(("python" ,python-wrapper)))
1430 (arguments
1431 `(#:phases (modify-phases %standard-phases
1432 (delete 'configure)
1433 (delete 'build)
1434 (replace 'check
1435 (lambda _
1436 (zero?
0c4520d6 1437 (system* "python" "tests/unit/autojump_utils_test.py"))))
2328b47c
EB
1438 (replace 'install
1439 ;; The install.py script doesn't allow system installation
1440 ;; into an arbitrary prefix, so do our own install.
1441 (lambda* (#:key outputs #:allow-other-keys)
1442 (let* ((out (assoc-ref outputs "out"))
1443 (bin (string-append out "/bin"))
1444 (share (string-append out "/share/autojump"))
1445 (py (string-append out "/lib/python"
1446 ,(version-major+minor
1447 (package-version python-wrapper))
1448 "/site-packages"))
1449 (man (string-append out "/share/man/man1")))
1450 (install-file "bin/autojump" bin)
1451 (for-each (λ (f) (install-file f py))
1452 (find-files "bin" "\\.py$"))
1453 (for-each (λ (f) (install-file f share))
1454 (find-files "bin" "autojump\\..*$"))
1455 (substitute* (string-append share "/autojump.sh")
1456 (("/usr/local") out))
1457 (install-file "docs/autojump.1" man)
1458 (wrap-program (string-append bin "/autojump")
1459 `("PYTHONPATH" ":" prefix (,py)))
1460 #t))))))
1461 (home-page "https://github.com/wting/autojump")
1462 (synopsis "Shell extension for filesystem navigation")
1463 (description
1464 "Autojump provides a faster way to navigate your filesystem, with a \"cd
1465command that learns\". It works by maintaining a database of the directories
1466you use the most from the command line and allows you to \"jump\" to
1467frequently used directories by typing only a small pattern.")
1468 (license license:gpl3+)))
765973cd
LF
1469
1470(define-public iftop
1471 (package
1472 (name "iftop")
1473 (version "1.0pre4")
1474 (source (origin
1475 (method url-fetch)
1476 (uri (string-append "http://www.ex-parrot.com/~pdw/iftop/download"
1477 "/iftop-" version ".tar.gz"))
1478 (sha256
1479 (base32
1480 "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp"))))
1481 (build-system gnu-build-system)
1482 (inputs
1483 `(("libpcap" ,libpcap)
1484 ("ncurses" ,ncurses)))
1485 (synopsis "Monitor network usage")
1486 (description "Iftop does for network usage what @command{top} does
1487for CPU usage. It listens to network traffic on a named interface and
1488displays a table of current bandwidth usage by pairs of hosts.")
1489 (home-page "http://www.ex-parrot.com/~pdw/iftop/")
d4e21fbb 1490 (license license:gpl2+)))
f1957fc1
PP
1491
1492(define-public munge
1493 (package
1494 (name "munge")
b52ae4de 1495 (version "0.5.12")
f1957fc1
PP
1496 (source (origin
1497 (method url-fetch)
b52ae4de
EF
1498 (uri (string-append "https://github.com/dun/munge/releases/"
1499 "download/munge-" version "/munge-"
1500 version ".tar.xz"))
f1957fc1
PP
1501 (sha256
1502 (base32
b52ae4de 1503 "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
f1957fc1
PP
1504 (inputs
1505 `(("openssl" ,openssl)
1506 ("libgcrypt" ,libgcrypt)))
1507 (build-system gnu-build-system)
b52ae4de 1508 (home-page "https://dun.github.io/munge/")
f1957fc1
PP
1509 (synopsis "Cluster computing authentication service")
1510 (description
1511 "Munge is an authentication service for creating and validating
1512credentials. It allows a process to authenticate the UID and GID of another
1513local or remote process within a group of hosts having common users and
1514groups. These hosts form a security realm that is defined by a shared
1515cryptographic key. Clients within this security realm can create and validate
1516credentials without the use of root privileges, reserved ports, or
1517platform-specific methods.")
1518 (license license:gpl3+)))
3d7a157c
RW
1519
1520(define-public audit
1521 (package
1522 (name "audit")
1523 (version "2.4.5")
1524 (source (origin
1525 (method url-fetch)
1526 (uri (string-append "http://people.redhat.com/sgrubb/audit/"
1527 "audit-" version ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
1531 (build-system gnu-build-system)
1532 (home-page "http://people.redhat.com/sgrubb/audit/")
1533 (arguments
1534 `(#:configure-flags (list "--with-python=no")
1535 #:phases
1536 (modify-phases %standard-phases
1537 (add-after 'unpack 'fix-tests
1538 (lambda _
1539 ;; In the build environmnte /etc/passwd does not contain an entry
1540 ;; for root/0, so we have to patch the expected value.
1541 (substitute* "auparse/test/auparse_test.ref"
1542 (("=0 \\(root\\)") "=0 (unknown(0))"))
1543 #t)))))
1544 (inputs
1545 `(("openldap" ,openldap)
1546 ("openssl" ,openssl)
1547 ("sasl" ,cyrus-sasl)))
1548 (synopsis "User-space component to the Linux auditing system")
1549 (description
1550 "auditd is the user-space component to the Linux auditing system, which
1551allows logging of system calls made by user-land processes. It's responsible
1552for writing audit records to the disk. Viewing the logs is done with the
1553@code{ausearch} or @code{aureport} utilities. Configuring the audit rules is
1554done with the @code{auditctl} utility.")
1555 (license license:gpl2+)))
d0457553
TUBK
1556
1557(define-public nmap
1558 (package
1559 (name "nmap")
dbffd7d7 1560 (version "7.12")
d0457553
TUBK
1561 (source (origin
1562 (method url-fetch)
1563 (uri (string-append "https://nmap.org/dist/nmap-" version
1564 ".tar.bz2"))
1565 (sha256
1566 (base32
dbffd7d7 1567 "014vagh9ak10hidwzp9s6g30y5h5fhsh8wykcnc1hnn9hwm0ipv3"))
d0457553
TUBK
1568 (modules '((guix build utils)))
1569 (snippet
1570 '(map delete-file-recursively
1571 ;; Remove bundled lua, pcap, and pcre libraries.
1572 ;; FIXME: Remove bundled liblinear once packaged.
1573 '("liblua"
1574 "libpcap"
1575 "libpcre"
1576 ;; Remove pre-compiled binares.
1577 "mswin32")))))
1578 (build-system gnu-build-system)
1579 (inputs
1580 `(("openssl" ,openssl)
1581 ("libpcap" ,libpcap)
1582 ("pcre" ,pcre)
1583 ("lua" ,lua)
1584 ;; For 'ndiff'.
1585 ("python" ,python-2)))
1586
1587 ;; TODO Add zenmap output.
1588 (outputs '("out" "ndiff"))
1589 (arguments
1590 '(#:configure-flags '("--without-zenmap")
1591 #:phases
1592 (modify-phases %standard-phases
1593 (replace 'install
1594 (lambda* (#:key outputs #:allow-other-keys)
1595 (define (make out . args)
1596 (unless (zero? (apply system* "make"
1597 (string-append "prefix=" out)
1598 args))
1599 (error "make failed")))
1600 (define (python-path dir)
1601 (string-append dir "/lib/python2.7/site-packages"))
1602 (let ((out (assoc-ref outputs "out"))
1603 (ndiff (assoc-ref outputs "ndiff")))
1604 (for-each mkdir-p (list out ndiff))
1605 (make out
1606 "install-nmap"
1607 "install-nse"
1608 "install-ncat"
1609 "install-nping")
1610 (make ndiff "install-ndiff")
1611 (wrap-program (string-append ndiff "/bin/ndiff")
1612 `("PYTHONPATH" prefix
1613 (,(python-path ndiff)))))))
1614 ;; These are the tests that do not require network access.
1615 (replace 'check
1616 (lambda _ (zero? (system* "make"
1617 "check-nse"
1618 "check-ndiff"
1619 "check-dns")))))
1620 ;; Nmap can't cope with out-of-source building.
1621 #:out-of-source? #f))
1622 (home-page "https://nmap.org/")
1623 (synopsis "Network discovery and security auditing tool")
1624 (description
1625 "Nmap (\"Network Mapper\") is a network discovery and security auditing
1626tool. It is also useful for tasks such as network inventory, managing service
1627upgrade schedules, and monitoring host or service uptime. It also provides an
1628advanced netcat implementation (ncat), a utility for comparing scan
1629results (ndiff), and a packet generation and response analysis tool (nping).")
1630 ;; This package uses nmap's bundled versions of libdnet and liblinear, which
1631 ;; both use a 3-clause BSD license.
1632 (license (list license:nmap license:bsd-3))))
1a0346f0
P
1633
1634(define-public dstat
1635 (package
1636 (name "dstat")
1637 (version "0.7.3")
1638 (source (origin
1639 (method url-fetch)
1640 (uri (string-append
1641 "https://github.com/dagwieers/dstat/archive/"
1642 version ".tar.gz"))
1643 (file-name (string-append "dstat-" version ".tar.gz"))
1644 (sha256
1645 (base32
1646 "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6"))))
1647 (build-system gnu-build-system)
1648 (arguments
1649 `(#:tests? #f ;; no make check
1650 #:make-flags (let ((out (assoc-ref %outputs "out")))
1651 (list (string-append "DESTDIR=" out)
1652 "prefix=/"))
1653 ;; no configure script
1654 #:phases (alist-delete 'configure %standard-phases)))
1655 (inputs `(("python-2" ,python-2)))
1656 (synopsis "Versatile resource statistics tool")
1657 (description "Dstat is a versatile replacement for @command{vmstat},
1658@command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes
1659some of their limitations and adds some extra features, more counters and
1660flexibility. Dstat is handy for monitoring systems during performance tuning
1661tests, benchmarks or troubleshooting.
1662
1663Dstat allows you to view all of your system resources in real-time, you can,
1664e.g., compare disk utilization in combination with interrupts from your IDE
1665controller, or compare the network bandwidth numbers directly with the disk
1666throughput (in the same interval).")
1667 (home-page "http://dag.wiee.rs/home-made/dstat/")
c59f62e9 1668 (license license:gpl2+)))
0405e5f4
EB
1669
1670(define-public thefuck
1671 (package
1672 (name "thefuck")
d24e011e 1673 (version "3.11")
0405e5f4
EB
1674 (source (origin
1675 (method url-fetch)
1676 (uri (string-append "https://github.com/nvbn/thefuck/archive/"
1677 version ".tar.gz"))
1678 (file-name (string-append name "-" version ".tar.gz"))
1679 (sha256
1680 (base32
d24e011e 1681 "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
0405e5f4
EB
1682 (build-system python-build-system)
1683 (native-inputs
1684 `(("python-setuptools" ,python-setuptools)))
1685 (inputs
1686 `(("python-colorama" ,python-colorama)
1687 ("python-decorator" ,python-decorator)
1688 ("python-psutil" ,python-psutil)
1689 ("python-six" ,python-six)))
1690 (home-page "https://github.com/nvbn/thefuck")
1691 (synopsis "Correct mistyped console command")
1692 (description
1693 "The Fuck tries to match a rule for a previous, mistyped command, creates
1694a new command using the matched rule, and runs it.")
1695 (license license:x11)))
61402398
JF
1696
1697(define-public di
1698 (package
1699 (name "di")
1700 (version "4.42")
1701 (source
1702 (origin
1703 (method url-fetch)
1704 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
1705 (sha256
1706 (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n"))))
1707 (build-system gnu-build-system)
1708 (arguments
1709 `(#:tests? #f ; Obscure test failures.
1710 #:phases
1711 (modify-phases %standard-phases
1712 (delete 'configure)
1713 (add-before 'build 'setup-environment
1714 (lambda* (#:key outputs #:allow-other-keys)
1715 (setenv "CC" "gcc")
1716 (setenv "prefix" (assoc-ref outputs "out"))
1717 #t)))
1718 #:make-flags (list "--environment-overrides")))
1719 (home-page "https://www.gentoo.com/di/")
1720 (synopsis "Advanced df like disk information utility")
1721 (description
1722 "'di' is a disk information utility, displaying everything
1723(and more) that your @code{df} command does. It features the ability to
1724display your disk usage in whatever format you prefer. It is designed to be
1725highly portable. Great for heterogenous networks.")
1726 (license license:zlib)))
5ec8b02d 1727
1728(define-public cbatticon
1729 (package
1730 (name "cbatticon")
1731 (version "1.6.4")
1732 (source (origin
1733 (method url-fetch)
1734 (uri (string-append "https://github.com/valr/"
1735 name "/archive/" version ".tar.gz"))
1736 (sha256
1737 (base32
1738 "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx"))
1739 (file-name (string-append name "-" version ".tar.gz"))))
1740 (build-system gnu-build-system)
1741 (arguments
1742 `(#:tests? #f ; no tests
1743 #:make-flags
1744 (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
1745 "CC=gcc")
1746 #:phases
1747 (modify-phases %standard-phases
1748 (delete 'configure)))) ; no configure script
1749 (inputs
1750 `(("gtk+" ,gtk+)
1751 ("gnu-gettext" ,gnu-gettext)
1752 ("libnotify" ,libnotify)))
1753 (native-inputs
1754 `(("pkg-config" ,pkg-config)))
1755 (synopsis "Lightweight battery icon for the system tray")
1756 (description "cbatticon is a lightweight battery icon that displays
1757the status of your battery in the system tray.")
1758 (home-page "https://github.com/valr/cbatticon")
1759 (license license:gpl2+)))
c08533b2 1760
1761(define-public interrobang
1762 (let ((revision "1")
1763 (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
1764 (package
1765 (name "interrobang")
1766 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
1767 (source (origin
1768 (method git-fetch)
1769 (uri (git-reference
1770 (url "git://github.com/TrilbyWhite/interrobang")
1771 (commit commit)))
1772 (file-name (string-append name "-" version))
1773 (sha256
1774 (base32
1775 "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
1776 (build-system gnu-build-system)
1777 (arguments
1778 `(#:tests? #f ; no tests
1779 #:phases
1780 (modify-phases %standard-phases
1781 (delete 'configure)) ; no configure script
1782 #:make-flags (list (string-append "PREFIX="
1783 (assoc-ref %outputs "out")))))
1784 (inputs
1785 `(("libx11" ,libx11)))
1786 (native-inputs
1787 `(("pkg-config" ,pkg-config)))
1788 (synopsis "Scriptable launcher menu")
1789 (description "Interrobang is a scriptable launcher menu with a customizable
1790shortcut syntax and completion options.")
1791 (home-page "https://github.com/TrilbyWhite/interrobang")
1792 (license license:gpl3+))))