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