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