gnu: icecat: Add more fixes from upstream mozilla-esr52.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
bfb06e58 2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
340c7033 3;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
02843215 4;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
2468ca04 5;;; Copyright © 2014, 2015, 2016, 2017, 2018 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>
d7c64ad5 9;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
f1957fc1 10;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
d10fa5c7 11;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
4fb14fad 12;;; Copyright © 2016, 2017 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>
4a78fd46 15;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
e22473ff 16;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
1b5b24c9
BS
17;;; Copyright © 2016 John Darrington <jmd@gnu.org>
18;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
6e75ea48 19;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
58989684 20;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
050e5756 21;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
710d889d 22;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
3ebf2c29 23;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
1df895b0 24;;;
233e7676 25;;; This file is part of GNU Guix.
1df895b0 26;;;
233e7676 27;;; GNU Guix is free software; you can redistribute it and/or modify it
1df895b0
LC
28;;; under the terms of the GNU General Public License as published by
29;;; the Free Software Foundation; either version 3 of the License, or (at
30;;; your option) any later version.
31;;;
233e7676 32;;; GNU Guix is distributed in the hope that it will be useful, but
1df895b0
LC
33;;; WITHOUT ANY WARRANTY; without even the implied warranty of
34;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35;;; GNU General Public License for more details.
36;;;
37;;; You should have received a copy of the GNU General Public License
233e7676 38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
1df895b0 39
4aeea896 40(define-module (gnu packages admin)
f61e0e79 41 #:use-module ((guix licenses) #:prefix license:)
1df895b0 42 #:use-module (guix packages)
4fb7e0de 43 #:use-module (guix utils)
1df895b0 44 #:use-module (guix download)
aaff68ee 45 #:use-module (guix git-download)
fbc1a58f 46 #:use-module (guix build-system cmake)
1df895b0 47 #:use-module (guix build-system gnu)
d1ce1125 48 #:use-module (guix build-system perl)
4ecfbda7 49 #:use-module (guix build-system python)
c773aba8 50 #:use-module (guix build-system trivial)
59a43334 51 #:use-module (gnu packages)
c73d4c92 52 #:use-module (gnu packages base)
ac257f12 53 #:use-module (gnu packages check)
3d7a157c 54 #:use-module (gnu packages cyrus-sasl)
9a9e72d5 55 #:use-module (gnu packages ncurses)
9927622f 56 #:use-module (gnu packages readline)
f15164e7 57 #:use-module (gnu packages linux)
d0457553 58 #:use-module (gnu packages lua)
f15164e7 59 #:use-module (gnu packages guile)
1dba6407 60 #:use-module (gnu packages gettext)
050e5756
MB
61 #:use-module (gnu packages imagemagick)
62 #:use-module (gnu packages inkscape)
d0457553 63 #:use-module (gnu packages pcre)
c73d4c92 64 #:use-module (gnu packages perl)
5ccde207 65 #:use-module (gnu packages perl-check)
87216303 66 #:use-module (gnu packages tcl)
f61e0e79 67 #:use-module (gnu packages compression)
faa6bdf8 68 #:use-module (gnu packages cross-base)
a7fd7b68 69 #:use-module (gnu packages tls)
61bdd0d8 70 #:use-module (gnu packages gnupg)
02c86a5e
LC
71 #:use-module (gnu packages bison)
72 #:use-module (gnu packages flex)
73 #:use-module (gnu packages glib)
3d7a157c 74 #:use-module (gnu packages openldap)
c1f73569 75 #:use-module (gnu packages mcrypt)
87216303 76 #:use-module (gnu packages pkg-config)
b36fcf95 77 #:use-module (gnu packages popt)
1a0346f0 78 #:use-module (gnu packages python)
cc6f4912 79 #:use-module (gnu packages python-crypto)
1b2f753d 80 #:use-module (gnu packages python-web)
050e5756 81 #:use-module (gnu packages qt)
2468ca04 82 #:use-module (gnu packages terminals)
fccf2fe0 83 #:use-module (gnu packages texinfo)
e1485c7b 84 #:use-module (gnu packages groff)
42dc3af5 85 #:use-module (gnu packages pciutils)
d10fa5c7 86 #:use-module (gnu packages libunwind)
42dc3af5
MW
87 #:use-module (gnu packages libusb)
88 #:use-module (gnu packages libftdi)
c4492a16 89 #:use-module (gnu packages image)
da6c3749 90 #:use-module (gnu packages xorg)
d10fa5c7 91 #:use-module (gnu packages xdisorg)
e932d371 92 #:use-module (gnu packages man)
5ec8b02d 93 #:use-module (gnu packages autotools)
94 #:use-module (gnu packages gnome)
89e34644 95 #:use-module (gnu packages kerberos)
58989684 96 #:use-module (gnu packages gtk)
3ebf2c29
PAR
97 #:use-module (gnu packages xml)
98 #:use-module (gnu packages boost)
99 #:use-module (gnu packages elf)
100 #:use-module (gnu packages mpi))
f15164e7 101
c1f73569
RW
102(define-public aide
103 (package
104 (name "aide")
b067ad3e 105 (version "0.16")
c1f73569
RW
106 (source (origin
107 (method url-fetch)
108 (uri (string-append "mirror://sourceforge/aide/aide/"
109 version "/aide-" version ".tar.gz"))
110 (sha256
111 (base32
b067ad3e 112 "0ibkv4z2gk14fn014kq13rp2ysiq6nn2cflv2q5i7zf466hm6758"))))
c1f73569
RW
113 (build-system gnu-build-system)
114 (native-inputs
115 `(("bison" ,bison)
116 ("flex" ,flex)))
117 (inputs
118 `(("libgcrypt" ,libgcrypt)
119 ("libgpg-error" ,libgpg-error)
120 ("libmhash" ,libmhash)
b067ad3e 121 ("pcre" ,pcre)
c1f73569
RW
122 ("zlib" ,zlib)))
123 (synopsis "File and directory integrity checker")
124 (description
125 "AIDE (Advanced Intrusion Detection Environment) is a file and directory
126integrity checker. It creates a database from the regular expression rules
127that it finds from its configuration files. Once this database is initialized
128it can be used to verify the integrity of the files. It has several message
129digest algorithms that are used to check the integrity of files. All of the
130usual file attributes can be checked for inconsistencies.")
131 (home-page "http://aide.sourceforge.net/")
132 (license license:gpl2+)))
133
4971d5d0
RJ
134(define-public progress
135 (package
136 (name "progress")
eec9c4a7 137 (version "0.13.1")
4971d5d0
RJ
138 (source (origin
139 (method url-fetch)
140 (uri (string-append "https://github.com/Xfennec/"
141 name "/archive/v" version ".tar.gz"))
142 (sha256
eec9c4a7 143 (base32 "199rk6608q9m6l0fbjm0xl2w1c5krf8245dqnksdp4rqp7l9ak06"))
4971d5d0
RJ
144 (file-name (string-append name "-" version ".tar.gz"))))
145 (build-system gnu-build-system)
eec9c4a7
TGR
146 (native-inputs
147 `(("pkg-config" ,pkg-config)
148 ("which" ,which)))
4971d5d0
RJ
149 (inputs
150 `(("ncurses" ,ncurses)))
151 (arguments
152 `(#:tests? #f ; There is no test suite.
eec9c4a7 153 #:make-flags (list "CC=gcc"
4971d5d0
RJ
154 (string-append "PREFIX=" (assoc-ref %outputs "out")))
155 #:phases
156 (modify-phases %standard-phases
157 (delete 'configure)))) ; There's no configure phase.
158 (home-page "https://github.com/Xfennec/progress")
159 (synopsis "Program to view the progress of the coreutils commands")
160 (description "A program that looks for coreutils basic commands (cp, mv,
161dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays
162the percentage of copied data. It can also show estimated time and throughput,
163and provides a \"top-like\" mode (monitoring).")
164 (license license:gpl3+)))
165
e932d371 166(define-public shepherd
133056bd
LC
167 (package
168 (name "shepherd")
ca5b7311 169 (version "0.4.0")
133056bd
LC
170 (source (origin
171 (method url-fetch)
ca5b7311 172 (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
133056bd
LC
173 version ".tar.gz"))
174 (sha256
175 (base32
ca5b7311 176 "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
133056bd
LC
177 (build-system gnu-build-system)
178 (arguments
179 '(#:configure-flags '("--localstatedir=/var")))
425ab478
LC
180 (native-inputs
181 `(("pkg-config" ,pkg-config)
182
183 ;; This is the Guile we use as a cross-compiler...
c8eb2b8c 184 ("guile" ,guile-2.2)))
425ab478
LC
185 (inputs
186 ;; ... and this is the one that appears in shebangs when cross-compiling.
bfb06e58
LC
187 `(("guile" ,guile-2.2)
188
189 ;; The 'shepherd' command uses Readline when used interactively. It's
190 ;; an unusual use case though, so we don't propagate it.
191 ("guile-readline" ,guile-readline)))
133056bd
LC
192 (synopsis "System service manager")
193 (description
194 "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
195the execution of system services, replacing similar functionality found in
196typical init systems. It provides dependency-handling through a convenient
197interface and is based on GNU Guile.")
198 (license license:gpl3+)
95088559
LC
199 (home-page "https://www.gnu.org/software/shepherd/")
200 (properties '((ftp-server . "alpha.gnu.org")))))
e932d371 201
db341bfa
CB
202(define-public daemontools
203 (package
204 (name "daemontools")
205 (version "0.76")
206 (source (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://cr.yp.to/" name "/"
210 name "-" version ".tar.gz"))
211 (sha256
212 (base32
213 "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5"))))
214 (build-system gnu-build-system)
215 (arguments
216 `(#:tests? #f ;; No tests as far as I can tell.
217 #:phases
218 (modify-phases %standard-phases
219 (add-after 'unpack 'chdir
220 (lambda _
221 (chdir ,(string-append name "-" version))))
222 (delete 'configure)
223 (add-before 'build 'patch
224 (lambda _
225 (substitute* "src/error.h"
226 (("extern int errno;")
227 "#include <errno.h>"))))
228 (replace 'build
229 (lambda _
230 (invoke "package/compile")))
231 (replace 'install
232 (lambda* (#:key outputs #:allow-other-keys)
233 (let* ((out (assoc-ref outputs "out"))
234 (bin (string-append out "/bin")))
235 (for-each (lambda (file)
236 (install-file file bin))
237 (find-files "command"))))))))
238 (synopsis "Tools for managing UNIX style services")
239 (description
240 "@code{daemontools} is a collection of tools for managing UNIX
241services.")
242 (license license:public-domain)
243 (home-page "https://cr.yp.to/daemontools.html")))
244
fbc1a58f
CR
245(define-public dfc
246 (package
247 (name "dfc")
48167ccd 248 (version "3.1.1")
fbc1a58f
CR
249 (source
250 (origin
251 (method url-fetch)
252 (uri (string-append
48167ccd 253 "http://projects.gw-computing.net/attachments/download/615/dfc-"
fbc1a58f
CR
254 version ".tar.gz"))
255 (sha256
256 (base32
48167ccd 257 "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n"))))
fbc1a58f
CR
258 (build-system cmake-build-system)
259 (arguments '(#:tests? #f)) ; There are no tests.
b94a6ca0 260 (native-inputs `(("gettext" ,gettext-minimal)))
fbc1a58f
CR
261 (home-page "http://projects.gw-computing.net/projects/dfc")
262 (synopsis "Display file system space usage using graphs and colors")
263 (description
264 "dfc (df color) is a modern version of df. It uses colors, draws pretty
265graphs and can export its output to different formats.")
f61e0e79 266 (license license:bsd-3)))
fbc1a58f 267
340c7033
CR
268(define-public htop
269 (package
270 (name "htop")
fe4adc12 271 (version "2.2.0")
340c7033
CR
272 (source (origin
273 (method url-fetch)
20e6c852 274 (uri (string-append "http://hisham.hm/htop/releases/"
340c7033
CR
275 version "/htop-" version ".tar.gz"))
276 (sha256
277 (base32
fe4adc12 278 "0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr"))))
340c7033
CR
279 (build-system gnu-build-system)
280 (inputs
281 `(("ncurses" ,ncurses)))
710d889d
AI
282 (native-inputs
283 `(("python" ,python-minimal-wrapper))) ; for scripts/MakeHeader.py
284 (home-page "https://hisham.hm/htop/")
340c7033
CR
285 (synopsis "Interactive process viewer")
286 (description
287 "This is htop, an interactive process viewer. It is a text-mode
288application (for console or X terminals) and requires ncurses.")
f61e0e79 289 (license license:gpl2)))
340c7033 290
1df895b0
LC
291(define-public pies
292 (package
293 (name "pies")
a9764b7d 294 (version "1.3")
1df895b0
LC
295 (source
296 (origin
a9764b7d
LC
297 (method url-fetch)
298 (uri (string-append "mirror://gnu/pies/pies-"
299 version ".tar.bz2"))
300 (sha256
301 (base32
302 "12r7rjjyibjdj08dvwbp0iflfpzl4s0zhn6cr6zj3hwf9gbzgl1g"))))
1df895b0 303 (build-system gnu-build-system)
a9764b7d
LC
304 (arguments
305 '(#:phases (modify-phases %standard-phases
306 (add-before 'build 'patch-/bin/sh
307 (lambda* (#:key inputs #:allow-other-keys)
308 ;; Use the right shell when executing user-provided
309 ;; shell commands.
310 (let ((bash (assoc-ref inputs "bash")))
311 (substitute* "src/progman.c"
312 (("\"/bin/sh\"")
313 (string-append "\"" bash "/bin/sh\"")))
314 #t))))))
6fd52309 315 (home-page "https://www.gnu.org/software/pies/")
f50d2669 316 (synopsis "Program invocation and execution supervisor")
1df895b0 317 (description
79c311b8 318 "GNU pies is a program that supervises the invocation and execution of
a22dc0c4
LC
319other programs. It reads the list of programs to be started from its
320configuration file, executes them, and then monitors their status,
321re-executing them as necessary.")
f61e0e79 322 (license license:gpl3+)))
1df895b0
LC
323
324(define-public inetutils
325 (package
326 (name "inetutils")
8b1c8e4e 327 (version "1.9.4")
01eafd38
LC
328 (source (origin
329 (method url-fetch)
330 (uri (string-append "mirror://gnu/inetutils/inetutils-"
331 version ".tar.gz"))
332 (sha256
333 (base32
8b1c8e4e 334 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
1df895b0 335 (build-system gnu-build-system)
483188b7 336 (arguments
e4015e57
LC
337 `(#:configure-flags '("--localstatedir=/var"
338
339 ;; Make sure 'PATH_PROCNET_DEV' gets defined when
340 ;; cross-compiling (by default it does not.)
341 ,@(if (%current-target-system)
342 '("--with-path-procnet-dev=/proc/net/dev")
343 '()))
ed6a21b4
MB
344 ;; On some systems, 'libls.sh' may fail with an error such as:
345 ;; "Failed to tell switch -a apart from -A".
346 #:parallel-tests? #f))
9927622f 347 (inputs `(("ncurses" ,ncurses)
6f5d28f9
MC
348 ("readline" ,readline))) ;for 'ftp'
349 (native-inputs `(("netstat" ,net-tools))) ;for tests
6fd52309 350 (home-page "https://www.gnu.org/software/inetutils/")
f50d2669 351 (synopsis "Basic networking utilities")
1df895b0 352 (description
a22dc0c4 353 "Inetutils is a collection of common network programs, such as an ftp
e048de60
LF
354client and server, a telnet client and server, an rsh client and server, and
355hostname.")
f61e0e79 356 (license license:gpl3+)))
9a9e72d5
LC
357
358(define-public shadow
359 (package
360 (name "shadow")
b193fb28 361 (version "4.5")
9a9e72d5 362 (source (origin
ca2a55d4
SB
363 (method url-fetch)
364 (uri (string-append
4153ef23 365 "https://github.com/shadow-maint/shadow/releases/"
366 "download/" version "/shadow-" version ".tar.xz"))
20ecede9 367 (patches (search-patches "shadow-CVE-2018-7169.patch"))
ca2a55d4
SB
368 (sha256
369 (base32
b193fb28 370 "0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w"))))
9a9e72d5
LC
371 (build-system gnu-build-system)
372 (arguments
ce6223e6 373 `(;; Assume System V `setpgrp (void)', which is the default on GNU
9a9e72d5 374 ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
52701a3d 375 #:configure-flags
376 '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
9a9e72d5 377
52701a3d 378 #:phases
379 (modify-phases %standard-phases
380 (add-before 'build 'set-nscd-file-name
381 (lambda* (#:key inputs #:allow-other-keys)
382 ;; Use the right file name for nscd.
ce6223e6
LC
383 (let ((libc (assoc-ref inputs
384 ,(if (%current-target-system)
385 "cross-libc"
386 "libc"))))
52701a3d 387 (substitute* "lib/nscd.c"
388 (("/usr/sbin/nscd")
389 (string-append libc "/sbin/nscd"))))))
390 (add-after 'install 'remove-groups
391 (lambda* (#:key outputs #:allow-other-keys)
392 ;; Remove `groups', which is already provided by Coreutils.
393 (let* ((out (assoc-ref outputs "out"))
394 (bin (string-append out "/bin"))
395 (man (string-append out "/share/man")))
396 (delete-file (string-append bin "/groups"))
397 (for-each delete-file (find-files man "^groups\\."))
398 #t))))))
9a9e72d5 399
5dfbd769
LC
400 (inputs (if (string-contains (or (%current-target-system)
401 (%current-system))
402 "-linux")
403 `(("linux-pam" ,linux-pam))
404 '()))
9a9e72d5
LC
405 (home-page "http://pkg-shadow.alioth.debian.org/")
406 (synopsis "Authentication-related tools such as passwd, su, and login")
407 (description
408 "Shadow provides a number of authentication-related tools, including:
409login, passwd, su, groupadd, and useradd.")
410
411 ;; The `vipw' program is GPLv2+.
412 ;; libmisc/salt.c is public domain.
f61e0e79 413 (license license:bsd-3)))
1e151896
LC
414
415(define-public mingetty
416 (package
417 (name "mingetty")
418 (version "1.08")
419 (source (origin
420 (method url-fetch)
de67e922
LF
421 (uri (string-append "mirror://sourceforge/mingetty/mingetty/"
422 version "/mingetty-" version ".tar.gz"))
1e151896
LC
423 (sha256
424 (base32
425 "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
426 (build-system gnu-build-system)
427 (arguments
dc1d3cde
KK
428 `(#:phases
429 (modify-phases %standard-phases
430 (replace 'configure
431 (lambda* (#:key inputs outputs #:allow-other-keys)
432 (let* ((out (assoc-ref outputs "out"))
433 (man8 (string-append out "/share/man/man8"))
434 (sbin (string-append out "/sbin"))
435 (shadow (assoc-ref inputs "shadow"))
436 (login (string-append shadow "/bin/login")))
437 (substitute* "Makefile"
438 (("^SBINDIR.*")
439 (string-append "SBINDIR = " out
440 "/sbin\n"))
441 (("^MANDIR.*")
442 (string-append "MANDIR = " out
443 "/share/man/man8\n")))
444
445 ;; Pick the right 'login' by default.
446 (substitute* "mingetty.c"
447 (("\"/bin/login\"")
448 (string-append "\"" login "\"")))
449
450 (mkdir-p sbin)
451 (mkdir-p man8))
452 #t)))
1e151896
LC
453 #:tests? #f)) ; no tests
454 (inputs `(("shadow" ,shadow)))
455
3b3b60d0 456 (home-page "https://sourceforge.net/projects/mingetty")
1e151896
LC
457 (synopsis "Getty for the text console")
458 (description
459 "Small console getty that is started on the Linux text console,
460asks for a login name and then transfers over to 'login'. It is extended to
461allow automatic login and starting any app.")
f61e0e79 462 (license license:gpl2+)))
c773aba8
LC
463
464(define-public net-base
465 (package
466 (name "net-base")
db719df7 467 (version "5.3")
c773aba8
LC
468 (source (origin
469 (method url-fetch)
470 (uri (string-append
34af3684 471 "mirror://debian/pool/main/n/netbase/netbase_"
db719df7 472 version ".tar.xz"))
c773aba8
LC
473 (sha256
474 (base32
db719df7 475 "12xqjwg3p4rzmmh2iib6sigm9l29y3dgk74mmnw64k84jnbwdxl1"))))
c773aba8
LC
476 (build-system trivial-build-system)
477 (arguments
478 `(#:modules ((guix build utils))
479 #:builder (begin
480 (use-modules (guix build utils)
481 (srfi srfi-26))
482
483 (let* ((source (assoc-ref %build-inputs "source"))
484 (tar (assoc-ref %build-inputs "tar"))
db719df7 485 (xz (assoc-ref %build-inputs "xz"))
c773aba8
LC
486 (output (assoc-ref %outputs "out"))
487 (etc (string-append output "/etc")))
db719df7 488 (setenv "PATH" (string-append xz "/bin"))
c773aba8
LC
489 (system* (string-append tar "/bin/tar") "xvf"
490 source)
491 (chdir ,(string-append "netbase-" version))
492 (mkdir-p etc)
493 (for-each copy-file
494 '("etc-services" "etc-protocols" "etc-rpc")
495 (map (cut string-append etc "/" <>)
496 '("services" "protocols" "rpc")))
497 #t))))
498 (native-inputs `(("tar" ,tar)
f61e0e79 499 ("xz" ,xz)))
c773aba8
LC
500 (synopsis "IANA protocol, port, and RPC number assignments")
501 (description
502 "This package provides the /etc/services, /etc/protocols, and /etc/rpc
503files, which contain information about the IANA-assigned port, protocol, and
e881752c 504ONC RPC numbers.")
c773aba8 505 (home-page "http://packages.debian.org/sid/netbase")
f61e0e79 506 (license license:gpl2)))
94c4a58a
LC
507
508(define-public netcat
509 (package
510 (name "netcat")
511 (version "0.7.1")
512 (source (origin
513 (method url-fetch)
de67e922
LF
514 (uri (string-append "mirror://sourceforge/netcat/netcat/" version
515 "/netcat-" version ".tar.bz2"))
94c4a58a
LC
516 (sha256
517 (base32
518 "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm"))))
519 (build-system gnu-build-system)
0e4e89c2
MW
520 (arguments
521 `(#:configure-flags
522 ;; By default, man and info pages are put in PREFIX/{man,info},
523 ;; but we want them in PREFIX/share/{man,info}.
524 (let ((out (assoc-ref %outputs "out")))
525 (list (string-append "--mandir=" out "/share/man")
526 (string-append "--infodir=" out "/share/info")))))
94c4a58a
LC
527 (home-page "http://netcat.sourceforge.net")
528 (synopsis "Read and write data over TCP/IP")
529 (description
530 "Netcat is a featured networking utility which reads and writes data
531across network connections, using the TCP/IP protocol. It is designed to be a
532reliable \"back-end\" tool that can be used directly or easily driven by other
35b9e423 533programs and scripts. At the same time, it is a feature-rich network debugging
94c4a58a
LC
534and exploration tool, since it can create almost any kind of connection you
535would need and has several interesting built-in capabilities.")
f61e0e79 536 (license license:gpl2+)))
d038cac1 537
8d0edc82
OP
538(define-public sipcalc
539 (package
540 (name "sipcalc")
541 (version "1.1.6")
542 (source
543 (origin
544 (method url-fetch)
545 (uri (string-append "http://www.routemeister.net/projects"
546 "/sipcalc/files/sipcalc" "-" version ".tar.gz"))
547 (sha256
548 (base32
549 "0mv3wndj4z2bsshh2k8d5sy3j8wxzgf8mzmmkvj1k8gpcz37dm6g"))))
550 (build-system gnu-build-system)
551 (home-page "http://www.routemeister.net/projects/sipcalc/")
552 (synopsis "Command-line IP subnet calculator")
553 (description
554 "Sipcalc is an advanced command-line IP subnet calculator. It can take
555multiple forms of input (IPv4/IPv6/interface/hostname) and output a multitude
556of information about a given subnet.
557
558Features include:
559
560@itemize @bullet
561@item IPv4
562@itemize
563@item Retrieving of address information from interfaces.
564@item Classfull and CIDR output.
565@item Multiple address and netmask input and output formats (dotted quad, hex,
566number of bits).
567@item Output of broadcast address, network class, Cisco wildcard,
568hosts/range, network range.
569@item The ability to split a network based on a smaller netmask, now also with
570recursive runs on the generated subnets. (also IPv6)
571@end itemize
572@item IPv6
573@itemize
574@item Compressed and expanded input and output addresses.
575@item Standard IPv6 network output.
576@item v4 in v6 output.
577@item Reverse DNS address generation.
578@end itemize
579@end itemize\n")
580 (license license:bsd-3)))
581
d038cac1
LC
582(define-public alive
583 (package
584 (name "alive")
585 (version "2.0.2")
586 (source (origin
587 (method url-fetch)
588 (uri (string-append "mirror://gnu/alive/alive-"
589 version ".tar.xz"))
590 (sha256
591 (base32
592 "1vrzg51ai68x9yld7vbgl58sxaw5qpx8rbakwcxn4cqq6vpxj38j"))))
593 (build-system gnu-build-system)
594 (arguments '(#:configure-flags '("alive_cv_nice_ping=yes")))
595 (inputs `(("guile" ,guile-2.0)
596 ("inetutils" ,inetutils)))
6fd52309 597 (home-page "https://www.gnu.org/software/alive/")
d038cac1
LC
598 (synopsis "Autologin and keep-alive daemon")
599 (description
600 "GNU Alive sends periodic pings to a server, generally to keep a
601connection alive.")
f61e0e79 602 (license license:gpl3+)))
c73d4c92
LC
603
604(define-public isc-dhcp
6548b1e1
MW
605 (let* ((bind-major-version "9")
606 (bind-minor-version "9")
0592c4cd 607 (bind-patch-version "11")
8be2428e 608 (bind-release-type "-P") ; for patch release, use "-P"
0592c4cd 609 (bind-release-version "1") ; for patch release, e.g. "6"
6548b1e1
MW
610 (bind-version (string-append bind-major-version
611 "."
612 bind-minor-version
613 "."
614 bind-patch-version
615 bind-release-type
616 bind-release-version)))
617 (package
618 (name "isc-dhcp")
8a325748 619 (version "4.3.6-P1")
6548b1e1
MW
620 (source (origin
621 (method url-fetch)
622 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
623 version "/dhcp-" version ".tar.gz"))
624 (sha256
625 (base32
8a325748 626 "1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"))))
6548b1e1
MW
627 (build-system gnu-build-system)
628 (arguments
e54465ff
MW
629 `(#:parallel-build? #f
630 #:phases
6548b1e1
MW
631 (modify-phases %standard-phases
632 (add-after 'unpack 'replace-bundled-bind
633 (lambda* (#:key inputs #:allow-other-keys)
634 (delete-file "bind/bind.tar.gz")
635 (copy-file (assoc-ref inputs "bind-source-tarball")
636 "bind/bind.tar.gz")
637 (chmod "bind/bind.tar.gz" #o644)
638 (substitute* "bind/version.tmp"
639 (("^MAJORVER=.*")
640 (format #f "MAJORVER=~a\n" ,bind-major-version))
641 (("^MINORVER=.*")
642 (format #f "MINORVER=~a\n" ,bind-minor-version))
643 (("^PATCHVER=.*")
644 (format #f "PATCHVER=~a\n" ,bind-patch-version))
645 (("^RELEASETYPE=.*")
646 (format #f "RELEASETYPE=~a\n" ,bind-release-type))
647 (("^RELEASEVER=.*")
648 (format #f "RELEASEVER=~a\n" ,bind-release-version)))
649 #t))
650 (add-after 'configure 'post-configure
651 (lambda* (#:key outputs #:allow-other-keys)
652 ;; Point to the right client script, which will be
653 ;; installed in a later phase.
654 (substitute* "includes/dhcpd.h"
655 (("#define[[:blank:]]+_PATH_DHCLIENT_SCRIPT.*")
656 (let ((out (assoc-ref outputs "out")))
657 (string-append "#define _PATH_DHCLIENT_SCRIPT \""
658 out "/libexec/dhclient-script"
659 "\"\n"))))
c73d4c92 660
6548b1e1
MW
661 ;; During the 'build' phase, 'bind.tar.gz' is extracted, so
662 ;; we must patch shebangs in there and make sure the right
663 ;; shell is used.
664 (with-directory-excursion "bind"
665 (substitute* "Makefile"
666 (("\\./configure")
667 (let ((sh (which "sh")))
668 (string-append "./configure CONFIG_SHELL="
669 sh " SHELL=" sh))))
c73d4c92 670
6548b1e1
MW
671 (let ((bind-directory (string-append "bind-" ,bind-version)))
672 (system* "tar" "xf" "bind.tar.gz")
673 (for-each patch-shebang
674 (find-files bind-directory ".*"))
675 (zero? (system* "tar" "cf" "bind.tar.gz"
676 bind-directory
677 ;; avoid non-determinism in the archive
678 "--sort=name"
679 "--mtime=@0"
680 "--owner=root:0"
681 "--group=root:0"))))))
682 (add-after 'install 'post-install
683 (lambda* (#:key inputs outputs #:allow-other-keys)
684 ;; Install the dhclient script for GNU/Linux and make sure
685 ;; if finds all the programs it needs.
686 (let* ((out (assoc-ref outputs "out"))
687 (libexec (string-append out "/libexec"))
688 (coreutils (assoc-ref inputs "coreutils"))
689 (inetutils (assoc-ref inputs "inetutils"))
690 (net-tools (assoc-ref inputs "net-tools"))
691 (sed (assoc-ref inputs "sed")))
692 (substitute* "client/scripts/linux"
693 (("/sbin/ip")
694 (string-append (assoc-ref inputs "iproute")
695 "/sbin/ip")))
c73d4c92 696
6548b1e1
MW
697 (mkdir-p libexec)
698 (copy-file "client/scripts/linux"
699 (string-append libexec "/dhclient-script"))
c73d4c92 700
6548b1e1
MW
701 (wrap-program
702 (string-append libexec "/dhclient-script")
703 `("PATH" ":" prefix
704 ,(map (lambda (dir)
705 (string-append dir "/bin:"
706 dir "/sbin"))
707 (list inetutils net-tools coreutils sed))))))))))
c73d4c92 708
6548b1e1 709 (native-inputs `(("perl" ,perl)))
c73d4c92 710
6548b1e1
MW
711 (inputs `(("inetutils" ,inetutils)
712 ("net-tools" ,net-tools)
713 ("iproute" ,iproute)
dc343935 714
6548b1e1
MW
715 ;; XXX isc-dhcp bundles a copy of bind that has security
716 ;; flaws, so we use a newer version.
717 ("bind-source-tarball"
718 ,(origin
719 (method url-fetch)
720 (uri (string-append "http://ftp.isc.org/isc/bind9/"
721 bind-version
722 "/bind-" bind-version ".tar.gz"))
723 (sha256
724 (base32
0592c4cd 725 "1a4g6nzzrbmhngdgvgv1jjq4fm06m8fwc2a0gskkchplxl7dva20"))))
c73d4c92 726
6548b1e1
MW
727 ;; When cross-compiling, we need the cross Coreutils and sed.
728 ;; Otherwise just use those from %FINAL-INPUTS.
729 ,@(if (%current-target-system)
730 `(("coreutils" ,coreutils)
731 ("sed" ,sed))
732 '())))
733
734 (home-page "http://www.isc.org/products/DHCP/")
735 (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
736 (description
737 "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
c73d4c92
LC
738reference implementation of all aspects of DHCP, through a suite of DHCP
739tools: server, client, and relay agent.")
159a5e01
LC
740 (license license:isc)
741 (properties '((cpe-name . "dhcp"))))))
02c86a5e
LC
742
743(define-public libpcap
744 (package
745 (name "libpcap")
df4a2b44 746 (version "1.8.1")
02c86a5e
LC
747 (source (origin
748 (method url-fetch)
749 (uri (string-append "http://www.tcpdump.org/release/libpcap-"
750 version ".tar.gz"))
751 (sha256
752 (base32
df4a2b44 753 "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7"))))
02c86a5e
LC
754 (build-system gnu-build-system)
755 (native-inputs `(("bison" ,bison) ("flex" ,flex)))
e03f6d5e
RW
756 (arguments '(#:configure-flags '("--with-pcap=linux")
757 #:tests? #f)) ; no 'check' target
02c86a5e
LC
758 (home-page "http://www.tcpdump.org")
759 (synopsis "Network packet capture library")
760 (description
761 "libpcap is an interface for user-level packet capture. It provides a
762portable framework for low-level network monitoring. Applications include
763network statistics collection, security monitoring, network debugging, etc.")
764
765 ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
f61e0e79 766 (license license:bsd-3)))
02c86a5e 767
1da34f5a
LC
768(define-public tcpdump
769 (package
770 (name "tcpdump")
81635ad0 771 (version "4.9.2")
1da34f5a
LC
772 (source (origin
773 (method url-fetch)
73a2ef36
LF
774 (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
775 version ".tar.gz"))
1da34f5a
LC
776 (sha256
777 (base32
81635ad0 778 "0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr"))))
1da34f5a 779 (build-system gnu-build-system)
10db1e6c 780 (inputs `(("libpcap" ,libpcap)
cc2b77df 781 ("openssl" ,openssl)))
1da34f5a 782 (native-inputs `(("perl" ,perl))) ; for tests
1da34f5a
LC
783 (home-page "http://www.tcpdump.org/")
784 (synopsis "Network packet analyzer")
785 (description
786 "Tcpdump is a command-line tool to analyze network traffic passing
787through the network interface controller.")
f61e0e79 788 (license license:bsd-3)))
1da34f5a 789
02c86a5e
LC
790(define-public jnettop
791 (package
792 (name "jnettop")
793 (version "0.13.0")
794 (source (origin
795 (method url-fetch)
796 (uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
797 version ".tar.gz"))
798 (sha256
799 (base32
800 "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
801 (build-system gnu-build-system)
802 (native-inputs
803 `(("pkg-config" ,pkg-config)))
804 (inputs
805 `(("glib" ,glib)
806 ("ncurses" ,ncurses)
807 ("libpcap" ,libpcap)))
808 (home-page "http://jnettop.kubs.info/")
809 (synopsis "Visualize network traffic by bandwidth use")
810 (description
811 "Jnettop is a traffic visualiser, which captures traffic going
812through the host it is running from and displays streams sorted
813by bandwidth they use.")
f61e0e79 814 (license license:gpl2+)))
87216303
EB
815
816(define-public clusterssh
817 (package
818 (name "clusterssh")
819 (version "3.28")
820 (source (origin
821 (method url-fetch)
822 (uri (string-append "mirror://sourceforge/clusterssh/"
de67e922
LF
823 "1.%20ClusterSSH%20Series%203/" version
824 "/clusterssh-" version ".tar.gz"))
87216303
EB
825 (sha256
826 (base32
827 "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
828 (build-system gnu-build-system)
829 (inputs `(("perl" ,perl)))
830 (propagated-inputs `(("xterm" ,xterm)
831 ("perl-tk" ,perl-tk)
832 ("perl-x11-protocol" ,perl-x11-protocol)))
833 (arguments
834 `(#:phases
dc1d3cde
KK
835 (modify-phases %standard-phases
836 (add-after 'install 'set-load-paths
837 (lambda* (#:key inputs outputs #:allow-other-keys)
838 ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
839 ;; path for PROG
840 (let* ((out (assoc-ref outputs "out"))
841 (prog (string-append out "/bin/cssh"))
842 (perl-ver ,(package-version perl))
843 (x11-inc (string-append
844 (assoc-ref inputs "perl-x11-protocol")
845 "/lib/perl5/site_perl/" perl-ver))
846 (tk-inc (string-append
847 (assoc-ref inputs "perl-tk")
848 "/lib/perl5/site_perl/" perl-ver
849 "/x86_64-linux")))
850 (wrap-program
851 prog
852 `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc))))
853 #t)))))
87216303 854 ;; The clusterssh.sourceforge.net address requires login to view
3b3b60d0 855 (home-page "https://sourceforge.net/projects/clusterssh/")
87216303
EB
856 (synopsis "Secure concurrent multi-server terminal control")
857 (description
858 "ClusterSSH controls a number of xterm windows via a single graphical
859console window to allow commands to be interactively run on multiple servers
860over ssh connections.")
f61e0e79 861 (license license:gpl2+)))
fccf2fe0 862
d1ce1125
MB
863(define-public rename
864 (package
865 (name "rename")
866 (version "0.20")
867 (source (origin
868 (method url-fetch)
869 (uri (string-append
870 "mirror://cpan/authors/id/R/RM/RMBARKER/File-Rename-"
871 version ".tar.gz"))
872 (sha256
873 (base32
874 "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"))))
875 (build-system perl-build-system)
876 (native-inputs
877 `(("perl-module-build" ,perl-module-build)
878 ("perl-test-pod" ,perl-test-pod)
879 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
880 (home-page "https://metacpan.org/pod/distribution/File-Rename/rename.PL")
881 (synopsis "Perl extension for renaming multiple files")
882 (description
883 "This package provides a Perl interface (@code{Perl::Rename}) as well
884as a command-line utility (@command{rename}) that can rename multiple files
885at once based on a Perl regular expression.")
886 (license license:perl-license)))
887
fccf2fe0
LC
888(define-public rottlog
889 (package
890 (name "rottlog")
891 (version "0.72.2")
892 (source (origin
893 (method url-fetch)
894 (uri (string-append "mirror://gnu/rottlog/rottlog-"
895 version ".tar.gz"))
896 (sha256
897 (base32
898 "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
899 (modules '((guix build utils)))
900 (snippet
901 '(substitute* "Makefile.in"
902 (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
903 ;; Don't try to chown root.
904 "")
905 (("mkdir -p \\$\\(ROTT_STATDIR\\)")
906 ;; Don't attempt to create /var/lib/rottlog.
907 "true")))))
908 (build-system gnu-build-system)
909 (arguments
268ad34e 910 '(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
fccf2fe0 911 "--localstatedir=/var")
268ad34e
LC
912
913 ;; Install example config files in OUT/etc.
914 #:make-flags (list (string-append "ROTT_ETCDIR="
915 (assoc-ref %outputs "out")
916 "/etc"))
917
8dc0ecae 918 #:phases (modify-phases %standard-phases
d436c6b5
MB
919 (add-after 'unpack 'patch-paths
920 (lambda _
921 (substitute* "rc/rc"
922 (("/usr/sbin/sendmail") "sendmail"))
923 #t))
11e74634
JN
924 (add-after 'build 'set-packdir
925 (lambda _
926 ;; Set a default location for archived logs.
927 (substitute* "rc/rc"
928 (("packdir=\"\"")
929 "packdir=\"/var/log\""))
930 #t))
309e523e
LC
931 (add-before 'install 'tweak-rc-weekly
932 (lambda _
933 (substitute* "rc/weekly"
934 (("/bin/kill")
935 (which "kill"))
936 (("syslogd\\.pid")
937 ;; The file is called 'syslog.pid' (no 'd').
938 "syslog.pid"))
939 #t))
8dc0ecae
LC
940 (add-after 'install 'install-info
941 (lambda _
942 (zero? (system* "make" "install-info")))))))
fccf2fe0
LC
943 (native-inputs `(("texinfo" ,texinfo)
944 ("util-linux" ,util-linux))) ; for 'cal'
6fd52309 945 (home-page "https://www.gnu.org/software/rottlog/")
fccf2fe0
LC
946 (synopsis "Log rotation and management")
947 (description
948 "GNU Rot[t]log is a program for managing log files. It is used to
949automatically rotate out log files when they have reached a given size or
950according to a given schedule. It can also be used to automatically compress
951and archive such logs. Rot[t]log will mail reports of its activity to the
952system administrator.")
f61e0e79 953 (license license:gpl3+)))
e1485c7b
LC
954
955(define-public sudo
956 (package
957 (name "sudo")
c3812c43 958 (version "1.8.22")
e1485c7b
LC
959 (source (origin
960 (method url-fetch)
961 (uri
6baa83d2 962 (list (string-append "https://www.sudo.ws/sudo/dist/sudo-"
e1485c7b
LC
963 version ".tar.gz")
964 (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
965 version ".tar.gz")))
966 (sha256
967 (base32
c3812c43 968 "00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj"))
6b7f1b6c
MB
969 (modules '((guix build utils)))
970 (snippet
971 '(delete-file-recursively "lib/zlib"))))
e1485c7b
LC
972 (build-system gnu-build-system)
973 (arguments
0086ec73
LC
974 `(#:configure-flags
975 (list "--with-logpath=/var/log/sudo.log"
7b78f359 976 "--with-rundir=/var/run/sudo" ;must be cleaned up at boot time
0086ec73
LC
977 "--with-vardir=/var/db/sudo"
978 "--with-iologdir=/var/log/sudo-io"
979
980 ;; 'visudo.c' expects _PATH_MV to be defined, but glibc doesn't
981 ;; provide it.
982 (string-append "CPPFLAGS=-D_PATH_MV='\""
983 (assoc-ref %build-inputs "coreutils")
984 "/bin/mv\"'"))
511495fb
LC
985
986 ;; Avoid non-determinism; see <http://bugs.gnu.org/21918>.
987 #:parallel-build? #f
988
7fae2063
TGR
989 #:phases
990 (modify-phases %standard-phases
991 (add-before 'configure 'pre-configure
992 (lambda _
993 (substitute* "src/sudo_usage.h.in"
994 ;; Do not capture 'configure' arguments since we would
995 ;; unduly retain references, and also because the
996 ;; CPPFLAGS above would close the string literal
997 ;; prematurely.
998 (("@CONFIGURE_ARGS@") "\"\""))
999 (substitute* (find-files "." "Makefile\\.in")
1000 (("-o [[:graph:]]+ -g [[:graph:]]+")
1001 ;; Allow installation as non-root.
1002 "")
1003 (("^install: (.*)install-sudoers(.*)" _ before after)
1004 ;; Don't try to create /etc/sudoers.
1005 (string-append "install: " before after "\n"))
1006 (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
1007 ;; Don't try to create /run/sudo.
1008 "$(TMPDIR)/dummy")
1009 (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
1010 ;; Don't try to create /var/db/sudo.
4b052c6a
EF
1011 "$(TMPDIR)/dummy"))
1012 #t)))
e1485c7b
LC
1013
1014 ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
1015 ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
1016 #:tests? #f))
1017 (inputs
1018 `(("groff" ,groff)
1019 ("linux-pam" ,linux-pam)
6b7f1b6c 1020 ("zlib" ,zlib)
e1485c7b 1021 ("coreutils" ,coreutils)))
6baa83d2 1022 (home-page "https://www.sudo.ws/")
e1485c7b
LC
1023 (synopsis "Run commands as root")
1024 (description
1025 "Sudo (su \"do\") allows a system administrator to delegate authority to
1026give certain users (or groups of users) the ability to run some (or all)
1027commands as root or another user while providing an audit trail of the
1028commands and their arguments.")
1029
1030 ;; See <http://www.sudo.ws/sudo/license.html>.
f61e0e79 1031 (license license:x11)))
952298d7 1032
1ce6f43a 1033(define-public wpa-supplicant-minimal
952298d7 1034 (package
1ce6f43a 1035 (name "wpa-supplicant-minimal")
fc008121 1036 (version "2.6")
952298d7
LC
1037 (source (origin
1038 (method url-fetch)
1039 (uri (string-append
9a727700 1040 "http://w1.fi/releases/wpa_supplicant-"
952298d7
LC
1041 version
1042 ".tar.gz"))
09748a35
LF
1043 (patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
1044 "wpa-supplicant-fix-key-reuse.patch"
1045 "wpa-supplicant-fix-zeroed-keys.patch"
1046 "wpa-supplicant-fix-nonce-reuse.patch"
1047 "wpa-supplicant-krack-followups.patch"))
952298d7
LC
1048 (sha256
1049 (base32
fc008121 1050 "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl"))))
952298d7
LC
1051 (build-system gnu-build-system)
1052 (arguments
dc1d3cde
KK
1053 '(#:phases
1054 (modify-phases %standard-phases
1055 (replace 'configure
1056 (lambda* (#:key outputs #:allow-other-keys)
1057 (chdir "wpa_supplicant")
1058 (copy-file "defconfig" ".config")
1059 (let ((port (open-file ".config" "al")))
1060 (display "
952298d7 1061 CONFIG_DEBUG_SYSLOG=y
40b4c6d6 1062
61bdd0d8
LC
1063 # Choose GnuTLS (the default is OpenSSL.)
1064 CONFIG_TLS=gnutls
1065
952298d7
LC
1066 CONFIG_DRIVER_NL80211=y
1067 CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
1068 CONFIG_LIBNL32=y
1069 CONFIG_READLINE=y\n" port)
dc1d3cde
KK
1070 (close-port port))))
1071 (add-after 'install 'install-man-pages
1072 (lambda* (#:key outputs #:allow-other-keys)
1073 (let* ((out (assoc-ref outputs "out"))
1074 (man (string-append out "/share/man"))
1075 (man5 (string-append man "/man5"))
1076 (man8 (string-append man "/man8")))
1077 (define (copy-man-page target)
1078 (lambda (file)
1079 (install-file file target)))
1080
1081 (mkdir-p man5) (mkdir man8)
1082 (for-each (copy-man-page man5)
1083 (find-files "doc/docbook" "\\.5"))
1084 (for-each (copy-man-page man8)
1085 (find-files "doc/docbook" "\\.8"))
1086 #t))))
952298d7
LC
1087
1088 #:make-flags (list "CC=gcc"
1089 (string-append "BINDIR=" (assoc-ref %outputs "out")
1090 "/sbin")
1091 (string-append "LIBDIR=" (assoc-ref %outputs "out")
1092 "/lib"))
1093 #:tests? #f))
1094 (inputs
1095 `(("readline" ,readline)
1096 ("libnl" ,libnl)
61bdd0d8
LC
1097 ("gnutls" ,gnutls)
1098 ("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
952298d7
LC
1099 (native-inputs
1100 `(("pkg-config" ,pkg-config)))
9a727700 1101 (home-page "http://w1.fi/wpa_supplicant/")
952298d7
LC
1102 (synopsis "Connecting to WPA and WPA2-protected wireless networks")
1103 (description
1104 "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
1105802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
1106the client stations. It implements key negotiation with a WPA Authenticator
1107and it controls the roaming and IEEE 802.11 authentication/association of the
1108WLAN driver.
1109
1110This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
1111
1112 ;; In practice, this is linked against Readline, which makes it GPLv3+.
f61e0e79 1113 (license license:bsd-3)))
c6b76405 1114
4fb7e0de 1115(define-public wpa-supplicant
1ce6f43a 1116 (package (inherit wpa-supplicant-minimal)
4fb7e0de
MW
1117 (name "wpa-supplicant")
1118 (inputs `(("dbus" ,dbus)
1ce6f43a 1119 ,@(package-inputs wpa-supplicant-minimal)))
4fb7e0de 1120 (arguments
1ce6f43a 1121 (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
4fb7e0de 1122 ((#:phases phases)
dc1d3cde
KK
1123 `(modify-phases ,phases
1124 (add-after 'configure 'configure-for-dbus
1125 (lambda _
1126 (let ((port (open-file ".config" "al")))
1127 (display "
4fb7e0de
MW
1128 CONFIG_CTRL_IFACE_DBUS=y
1129 CONFIG_CTRL_IFACE_DBUS_NEW=y
1130 CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
dc1d3cde
KK
1131 (close-port port))
1132 #t))
1133 (add-after 'install-man-pages 'install-dbus-conf
1134 (lambda* (#:key outputs #:allow-other-keys)
1135 (let* ((out (assoc-ref outputs "out"))
1136 (dir (string-append out "/etc/dbus-1/system.d")))
1137 (mkdir-p dir)
1138 (copy-file "dbus/dbus-wpa_supplicant.conf"
1139 (string-append dir "/wpa_supplicant.conf")))
1140 #t))))))))
4fb7e0de 1141
050e5756
MB
1142(define-public wpa-supplicant-gui
1143 (package
1144 (inherit wpa-supplicant)
1145 (name "wpa-supplicant-gui")
1146 (inputs `(("qtbase" ,qtbase)
1147 ("qtsvg" ,qtsvg)
1148 ,@(package-inputs wpa-supplicant)))
1149 (native-inputs
1150 ;; For icons.
1151 `(("imagemagick" ,imagemagick)
1152 ("inkscape" ,inkscape)
1153 ,@(package-native-inputs wpa-supplicant)))
1154 (arguments
1155 `(#:phases (modify-phases %standard-phases
1156 (add-after 'unpack 'chdir
1157 (lambda _
1158 (chdir "wpa_supplicant/wpa_gui-qt4")
1159 #t))
1160 (delete 'configure)
1161 (replace 'build
1162 (lambda _
1163 (invoke "qmake" "wpa_gui.pro")
1164 (invoke "make" "-j" (number->string (parallel-job-count)))
1165 (invoke "make" "-C" "icons")))
1166 (replace 'install
1167 (lambda* (#:key inputs outputs #:allow-other-keys)
1168 (let ((out (assoc-ref outputs "out"))
1169 (qt '("qtbase" "qtsvg")))
1170 (substitute* "wpa_gui.desktop"
1171 (("Exec=wpa_gui")
1172 (string-append "Exec=" out "/bin/wpa_gui")))
1173 (install-file "wpa_gui" (string-append out "/bin"))
1174 (install-file "wpa_gui.desktop"
1175 (string-append out "/share/applications"))
1176 (copy-recursively "icons/hicolor"
1177 (string-append out "/share/icons/hicolor"))
1178 (wrap-program (string-append out "/bin/wpa_gui")
1179 `("QT_PLUGIN_PATH" ":" prefix
1180 ,(map (lambda (label)
1181 (string-append (assoc-ref inputs label)
1182 "/lib/qt5/plugins/"))
1183 qt)))
1184 #t))))))
1185 (synopsis "Graphical user interface for WPA supplicant")))
1186
c6b76405
LC
1187(define-public wakelan
1188 (package
1189 (name "wakelan")
1190 (version "1.1")
1191 (source (origin
1192 (method url-fetch)
1193 (uri (string-append
1194 "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
1195 version ".tar.gz"))
1196 (sha256
1197 (base32
1198 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
1199 (build-system gnu-build-system)
1200 (arguments
dc1d3cde
KK
1201 '(#:phases
1202 (modify-phases %standard-phases
1203 (replace 'configure
1204 (lambda* (#:key outputs #:allow-other-keys)
1205 (let ((out (assoc-ref outputs "out")))
1206 (mkdir-p (string-append out "/bin"))
1207 (mkdir-p (string-append out "/share/man/man1"))
1208
1209 ;; It's an old configure script that doesn't understand
1210 ;; the extra options we pass.
1211 (setenv "CONFIG_SHELL" (which "bash"))
1212 (zero?
1213 (system* "./configure"
1214 (string-append "--prefix=" out)
1215 (string-append "--mandir=" out
1216 "/share/man")))))))
c6b76405
LC
1217 #:tests? #f))
1218 (home-page "http://kernel.org") ; really, no home page
1219 (synopsis "Send a wake-on-LAN packet")
1220 (description
1221 "WakeLan broadcasts a properly formatted UDP packet across the local area
1222network, which causes enabled computers to power on.")
f61e0e79 1223 (license license:gpl2+)))
d43f4296
LC
1224
1225(define-public dmidecode
1226 (package
1227 (name "dmidecode")
eab68c83 1228 (version "3.1")
d43f4296
LC
1229 (source (origin
1230 (method url-fetch)
1231 (uri (string-append
1232 "mirror://savannah/dmidecode/dmidecode-"
06438b07 1233 version ".tar.xz"))
d43f4296
LC
1234 (sha256
1235 (base32
eab68c83 1236 "1h0sg0lxa15nzf8s7884p6q7p6md9idm0c79wyqmk32l4ndwwrnp"))))
d43f4296
LC
1237 (build-system gnu-build-system)
1238 (arguments
06438b07 1239 '(#:phases (modify-phases %standard-phases (delete 'configure))
d43f4296
LC
1240 #:tests? #f ; no 'check' target
1241 #:make-flags (list (string-append "prefix="
1242 (assoc-ref %outputs "out")))))
340978d7 1243 (home-page "https://www.nongnu.org/dmidecode/")
d43f4296
LC
1244 (synopsis "Read hardware information from the BIOS")
1245 (description
1246 "Dmidecode reports information about your system's hardware as described
1247in your system BIOS according to the SMBIOS/DMI standard. This typically
1248includes system manufacturer, model name, serial number, BIOS version, asset
1249tag as well as a lot of other details of varying level of interest and
1250reliability depending on the manufacturer. This will often include usage
1251status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
1252module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
f61e0e79 1253 (license license:gpl2+)))
42dc3af5 1254
13c8c2bf
MW
1255(define-public acpica
1256 (package
1257 (name "acpica")
e56feffe 1258 (version "20180427")
13c8c2bf
MW
1259 (source (origin
1260 (method url-fetch)
1261 (uri (string-append
1262 "https://acpica.org/sites/acpica/files/acpica-unix2-"
1263 version ".tar.gz"))
1264 (sha256
1265 (base32
e56feffe 1266 "1hfdzyzzznh9h8yjlz54p02zwwxyp5k7fgzxlb9phhj3kalp60md"))))
13c8c2bf
MW
1267 (build-system gnu-build-system)
1268 (native-inputs `(("flex" ,flex)
1269 ("bison" ,bison)))
1270 (arguments
1271 '(#:make-flags (list (string-append "PREFIX=" %output)
4a462aa7 1272 "CC=gcc"
13c8c2bf
MW
1273 "HOST=_LINUX"
1274 "OPT_CFLAGS=-Wall -fno-strict-aliasing")
e56feffe 1275 #:tests? #f ; no 'check' target
dc1d3cde 1276 #:phases (modify-phases %standard-phases (delete 'configure))))
6c441efc 1277 (home-page "https://acpica.org/")
35b9e423 1278 (synopsis "Tools for the development and debug of ACPI tables")
13c8c2bf 1279 (description
3908546a 1280 "The ACPI Component Architecture (@dfn{ACPICA}) project provides an
13c8c2bf 1281OS-independent reference implementation of the Advanced Configuration and
3908546a
TGR
1282Power Interface Specification (@dfn{ACPI}). ACPICA code contains those portions
1283of ACPI meant to be directly integrated into the host OS as a kernel-resident
13c8c2bf
MW
1284subsystem, and a small set of tools to assist in developing and debugging ACPI
1285tables. This package contains only the user-space tools needed for ACPI table
1286development, not the kernel implementation of ACPI.")
e56feffe 1287 (license license:gpl2))) ; dual GPLv2/ACPICA Licence
4cf7bd2b
MW
1288
1289(define-public stress
1290 (package
1291 (name "stress")
ca52937c 1292 (version "1.0.4")
4cf7bd2b
MW
1293 (source (origin
1294 (method url-fetch)
1295 (uri (string-append "mirror://debian/pool/main/s/stress/stress_"
1296 version ".orig.tar.gz"))
1297 (sha256
1298 (base32
ca52937c 1299 "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5"))))
4cf7bd2b 1300 (build-system gnu-build-system)
abf7fed5 1301 (home-page "https://packages.debian.org/sid/stress")
9e771e3b 1302 (synopsis "Impose load on and stress test a computer system")
4cf7bd2b 1303 (description
35b9e423 1304 "Stress is a tool that imposes a configurable amount of CPU, memory, I/O,
4cf7bd2b
MW
1305or disk stress on a POSIX-compliant operating system and reports any errors it
1306detects.
1307
35b9e423 1308Stress is not a benchmark. It is a tool used by system administrators to
4cf7bd2b
MW
1309evaluate how well their systems will scale, by kernel programmers to evaluate
1310perceived performance characteristics, and by systems programmers to expose
1311the classes of bugs which only or more frequently manifest themselves when the
1312system is under heavy load.")
f61e0e79 1313 (license license:gpl2+)))
b36fcf95
EB
1314
1315(define-public detox
1316 (package
1317 (name "detox")
1318 (version "1.2.0")
1319 (source (origin
1320 (method url-fetch)
de67e922
LF
1321 (uri (string-append "mirror://sourceforge/detox/detox/" version
1322 "/detox-" version ".tar.bz2"))
b36fcf95
EB
1323 (sha256
1324 (base32
1325 "1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
1326 (build-system gnu-build-system)
1327 ;; Both flex and popt are used in this case for their runtime libraries
1328 ;; (libfl and libpopt).
1329 (inputs
1330 `(("flex" ,flex)
1331 ("popt" ,popt)))
1332 (arguments
1333 `(#:configure-flags `(,(string-append "--with-popt="
1334 (assoc-ref %build-inputs "popt")))
1335 #:tests? #f)) ;no 'check' target
1336 (home-page "http://detox.sourceforge.net")
e881752c 1337 (synopsis "Clean up file names")
b36fcf95
EB
1338 (description
1339 "Detox is a program that renames files to make them easier to work with
1340under Unix and related operating systems. Spaces and various other unsafe
1341characters (such as \"$\") get replaced with \"_\". ISO 8859-1 (Latin-1)
1342characters can be replaced as well, as can UTF-8 characters.")
f61e0e79 1343 (license license:bsd-3)))
c4492a16
LC
1344
1345(define-public testdisk
1346 (package
1347 (name "testdisk")
cf91cfc0 1348 (version "7.0")
c4492a16
LC
1349 (source (origin
1350 (method url-fetch)
1351 (uri (string-append "http://www.cgsecurity.org/testdisk-"
1352 version ".tar.bz2"))
1353 (sha256
1354 (base32
cf91cfc0 1355 "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0"))))
c4492a16
LC
1356 (build-system gnu-build-system)
1357 (inputs
d6a08ec0 1358 `(("ntfs-3g" ,ntfs-3g)
c4492a16 1359 ("util-linux" ,util-linux)
cc2b77df 1360 ("openssl" ,openssl)
d6a08ec0 1361 ;; FIXME: add reiserfs
f61e0e79 1362 ("zlib" ,zlib)
c4492a16
LC
1363 ("e2fsprogs" ,e2fsprogs)
1364 ("libjpeg" ,libjpeg)
1365 ("ncurses" ,ncurses)))
8fc46a43 1366 (home-page "https://www.cgsecurity.org/wiki/TestDisk")
c4492a16
LC
1367 (synopsis "Data recovery tool")
1368 (description
1369 "TestDisk is a program for data recovery, primarily designed to help
1370recover lost partitions and/or make non-booting disks bootable again.")
f61e0e79 1371 (license license:gpl2+)))
c4492a16 1372
15926aec
AS
1373(define-public tree
1374 (package
1375 (name "tree")
1376 (version "1.7.0")
1377 (source (origin
1378 (method url-fetch)
1379 (uri (string-append
1380 "http://mama.indstate.edu/users/ice/tree/src/tree-"
1381 version ".tgz"))
1382 (sha256
1383 (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
1384 (build-system gnu-build-system)
1385 (arguments
dc1d3cde 1386 '(#:phases (modify-phases %standard-phases (delete 'configure))
15926aec
AS
1387 #:tests? #f ; no check target
1388 #:make-flags (let ((out (assoc-ref %outputs "out")))
1389 (list (string-append "prefix=" out)))))
1390 (synopsis "Recursively list the contents of a directory")
1391 (description
1392 "Tree is a recursive directory listing command that produces a depth
1393indented listing of files, which is colorized ala dircolors if the LS_COLORS
1394environment variable is set and output is to tty.")
1395 (home-page "http://mama.indstate.edu/users/ice/tree/")
1396 (license license:gpl2+)))
1397
c2619e10
LC
1398(define-public direvent
1399 (package
1400 (name "direvent")
bac67a5a 1401 (version "5.1")
c2619e10
LC
1402 (source (origin
1403 (method url-fetch)
1404 (uri (string-append "mirror://gnu/direvent/direvent-"
1405 version ".tar.gz"))
1406 (sha256
1407 (base32
bac67a5a 1408 "1nwvjmx7kb14ni34c0b8x9a3791pc20gvhj7xaj66d8q4h6n0qf4"))
c2619e10
LC
1409 (modules '((guix build utils)))
1410 (snippet '(substitute* "tests/testsuite"
1411 (("#![[:blank:]]?/bin/sh")
1412 "#!$SHELL")))))
1413 (build-system gnu-build-system)
1414 (arguments
dc1d3cde
KK
1415 '(#:phases
1416 (modify-phases %standard-phases
1417 (add-before 'build 'patch-/bin/sh
1418 (lambda* (#:key inputs #:allow-other-keys)
1419 ;; Use the right shell when executing the watcher and
1420 ;; user-provided shell commands.
1421 (let ((bash (assoc-ref inputs "bash")))
1422 (substitute* '("src/direvent.c" "src/progman.c")
1423 (("\"/bin/sh\"")
1424 (string-append "\"" bash "/bin/sh\"")))
1425
1426 ;; Adjust the 'shell.at' test accordingly.
1427 (substitute* "tests/testsuite"
1428 (("SHELL=/bin/sh")
1429 (string-append "SHELL=" bash "/bin/sh")))
1430
1431 #t))))))
6fd52309 1432 (home-page "https://www.gnu.org/software/direvent/")
c2619e10
LC
1433 (synopsis "Daemon to monitor directories for events such as file removal")
1434 (description
1435 "A daemon that monitors directories for events, such as creating,
35b9e423 1436deleting or modifying files. It can monitor different sets of directories for
c2619e10
LC
1437different events. When an event is detected, direvent calls a specified
1438external program with information about the event, such as the location
c5779c93
LC
1439within the file system where it occurred. Thus, \"direvent\" provides an
1440easy way to react immediately if given files undergo changes, for example, to
c2619e10 1441track changes in important system configuration files.")
f61e0e79 1442 (license license:gpl3+)))
da6c3749
TUBK
1443
1444(define-public libcap-ng
1445 (package
1446 (name "libcap-ng")
cc304fe8 1447 (version "0.7.9")
da6c3749
TUBK
1448 (source (origin
1449 (method url-fetch)
1450 (uri (string-append
1451 "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
1452 version ".tar.gz"))
1453 (sha256
1454 (base32
cc304fe8 1455 "0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa"))))
da6c3749 1456 (build-system gnu-build-system)
dd935df2
TGR
1457 (arguments
1458 `(#:configure-flags
1459 (list "--without-python")))
4a2982a1 1460 (home-page "https://people.redhat.com/sgrubb/libcap-ng/")
da6c3749
TUBK
1461 (synopsis "Library for more easily working with POSIX capabilities")
1462 (description
1463 "The libcap-ng library is intended to make programming with POSIX
1464capabilities easier than the traditional libcap library. It includes
1465utilities that can analyse all currently running applications and print out
1466any capabilities and whether or not it has an open ended bounding set. The
1467included utilities are designed to let admins and developers spot apps from
1468various ways that may be running with too much privilege.")
1469 ;; The library is lgpl2.1+, but also ships some utils which are gpl2+.
f61e0e79 1470 (license (list license:lgpl2.1+ license:gpl2+))))
d02f2cc4
TUBK
1471
1472(define-public smartmontools
1473 (package
1474 (name "smartmontools")
bd2eedd1 1475 (version "6.6")
d02f2cc4
TUBK
1476 (source (origin
1477 (method url-fetch)
1478 (uri (string-append
1479 "mirror://sourceforge/smartmontools/smartmontools/"
1480 version "/smartmontools-" version ".tar.gz"))
1481 (sha256
1482 (base32
bd2eedd1 1483 "0m1hllbb78rr6cxkbalmz1gqkl0psgq8rrmv4gwcmz34n07kvx2i"))))
d02f2cc4
TUBK
1484 (build-system gnu-build-system)
1485 (inputs `(("libcap-ng" ,libcap-ng)))
51b6a1dd 1486 (home-page "https://www.smartmontools.org/")
d02f2cc4
TUBK
1487 (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
1488 (description
1489 "The smartmontools package contains utility programs to control and
1490monitor storage systems using the Self-Monitoring, Analysis and Reporting
c115b2db
TGR
1491Technology System (@dfn{S.M.A.R.T.}) built into most modern ATA and SCSI hard
1492disks. In many cases, these utilities will provide advanced warning of disk
d02f2cc4 1493degradation and failure.")
f61e0e79 1494 (license license:gpl2+)))
6efd0823
RW
1495
1496(define-public fdupes
1497 (package
1498 (name "fdupes")
47d7b303 1499 (version "1.6.1")
6efd0823
RW
1500 (source
1501 (origin
1502 (method url-fetch)
1503 (uri (string-append
47d7b303 1504 "https://github.com/adrianlopezroche/fdupes/archive/v"
6efd0823 1505 version ".tar.gz"))
47d7b303 1506 (file-name (string-append name "-" version ".tar.gz"))
6efd0823
RW
1507 (sha256
1508 (base32
47d7b303 1509 "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx"))))
6efd0823
RW
1510 (build-system gnu-build-system)
1511 (arguments
e192a230
TGR
1512 '(#:phases (modify-phases %standard-phases
1513 (delete 'configure))
6efd0823 1514 #:tests? #f ; no 'check' target
47d7b303
TGR
1515 #:make-flags (list "CC=gcc"
1516 (string-append "PREFIX="
6efd0823
RW
1517 (assoc-ref %outputs "out")))))
1518 (home-page "https://github.com/adrianlopezroche/fdupes")
1519 (synopsis "Identify duplicate files")
1520 (description
1521 "fdupes is a program for identifying duplicate files residing within
1522specified directories.")
1523 (license license:expat)))
4ecfbda7
DT
1524
1525(define-public graphios
1526 (package
1527 (name "graphios")
1528 (version "2.0.3")
1529 (source
1530 (origin
1531 (method url-fetch)
1532 (uri (string-append
1533 "https://pypi.python.org/packages/source/g/graphios/graphios-"
1534 version ".tar.gz"))
1535 (sha256
1536 (base32
1537 "1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
1538 (build-system python-build-system)
1539 (arguments
1540 ;; Be warned: Building with Python 3 succeeds, but the build process
1541 ;; throws a syntax error that is ignored.
1542 `(#:python ,python-2
1543 #:phases
1544 (modify-phases %standard-phases
1545 (add-before 'build 'fix-setup.py
1546 (lambda* (#:key outputs #:allow-other-keys)
1547 ;; Fix hardcoded, unprefixed file names.
1548 (let ((out (assoc-ref outputs "out")))
1549 (substitute* '("setup.py")
1550 (("/etc") (string-append out "/etc"))
1551 (("/usr") out)
1552 (("distro_ver = .*") "distro_ver = ''"))
1553 #t))))))
4ecfbda7
DT
1554 (home-page "https://github.com/shawn-sterling/graphios")
1555 (synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
1556 (description
1557 "Graphios is a script to emit nagios perfdata to various upstream metrics
1558processing and time-series systems. It's currently compatible with Graphite,
1559Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
1560of supported upstream metrics systems simultaneously.")
1561 (license license:gpl2+)))
8d801045
ED
1562
1563(define-public ansible
1564 (package
1565 (name "ansible")
e22473ff 1566 (version "2.4.2.0")
8d801045
ED
1567 (source
1568 (origin
1569 (method url-fetch)
697e86dd 1570 (uri (pypi-uri "ansible" version))
8d801045
ED
1571 (sha256
1572 (base32
e22473ff 1573 "0n3n9py4s3aykiii31xq8g4wmd6693jvby0424pjrg0bna01apri"))
b7866613 1574 (patches (search-patches "ansible-wrap-program-hack.patch"))))
8d801045
ED
1575 (build-system python-build-system)
1576 (native-inputs
09e3cf58
JL
1577 `(("python2-bcrypt" ,python2-bcrypt)
1578 ("python2-pycrypto" ,python2-pycrypto)
1579 ("python2-pynacl" ,python2-pynacl)
8d801045
ED
1580 ("python2-httplib2" ,python2-httplib2)
1581 ("python2-passlib" ,python2-passlib)
1582 ("python2-nose" ,python2-nose)
1583 ("python2-mock" ,python2-mock)
1584 ("python2-jinja2" ,python2-jinja2)
1585 ("python2-pyyaml" ,python2-pyyaml)
1586 ("python2-paramiko" ,python2-paramiko)))
1587 (inputs
1588 `(("python2-pycrypto" ,python2-pycrypto)
1589 ("python2-jinja2" ,python2-jinja2)
1590 ("python2-pyyaml" ,python2-pyyaml)
1591 ("python2-paramiko" ,python2-paramiko)))
1592 (arguments
1593 `(#:python ,python-2)) ; incompatible with Python 3
ff18d0f1 1594 (home-page "https://www.ansible.com/")
8d801045
ED
1595 (synopsis "Radically simple IT automation")
1596 (description "Ansible is a radically simple IT automation system. It
e22473ff
TGR
1597handles configuration management, application deployment, cloud provisioning,
1598ad hoc task execution, and multinode orchestration---including trivializing
1599things like zero-downtime rolling updates with load balancers.")
8d801045 1600 (license license:gpl3+)))
44157e9f
EB
1601
1602(define-public cpulimit
1603 (package
1604 (name "cpulimit")
1605 (version "0.2")
1606 (source
1607 (origin
1608 (method url-fetch)
1609 (uri (string-append "https://github.com/opsengine/cpulimit/archive/v"
1610 version ".tar.gz"))
1611 (file-name (string-append name "-" version ".tar.gz"))
1612 (sha256
1613 (base32
1614 "1nn2w849xd5bw4y5sqnll29nxdwl5h0cv4smc7dwmpb9qnd2ycb4"))))
1615 (build-system gnu-build-system)
1616 (arguments
1617 `(#:phases (modify-phases %standard-phases
1618 (delete 'configure)
1619 (replace
1620 'build
1621 (lambda _
1622 (zero? (system* "make" "CC=gcc" "-Csrc"))))
1623 (replace
1624 'check
1625 (lambda _
1626 (zero? (system* "make" "CC=gcc" "-Ctests"))))
1627 (replace
1628 'install
1629 (lambda* (#:key outputs #:allow-other-keys)
1630 (let* ((out (assoc-ref outputs "out"))
1631 (bin (string-append out "/bin")))
1632 (install-file "src/cpulimit" bin)))))))
1633 (home-page "https://github.com/opsengine/cpulimit")
1634 (synopsis "Limit CPU usage")
1635 (description
1636 "Cpulimit limits the CPU usage of a process. It does not change the nice
1637value or other scheduling priority settings, but the real CPU usage, and is
1638able to adapt itself dynamically to the overall system load. Children
1639processes and threads of the specified process may optionally share the same
1640limits.")
1641 (license license:gpl2+)))
2328b47c
EB
1642
1643(define-public autojump
1644 (package
1645 (name "autojump")
1d33b9ea 1646 (version "22.3.4")
2328b47c
EB
1647 (source
1648 (origin
1649 (method url-fetch)
1650 (uri (string-append "https://github.com/wting/autojump/archive/"
1651 "release-v" version ".tar.gz"))
1652 (file-name (string-append name "-" version ".tar.gz"))
1653 (sha256
1654 (base32
1d33b9ea 1655 "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
2328b47c
EB
1656 (build-system gnu-build-system)
1657 (native-inputs ;for tests
1658 `(("python-mock" ,python-mock)
1659 ("python-pytest" ,python-pytest)))
1660 (inputs
1661 `(("python" ,python-wrapper)))
1662 (arguments
1663 `(#:phases (modify-phases %standard-phases
1664 (delete 'configure)
1665 (delete 'build)
1666 (replace 'check
1667 (lambda _
1668 (zero?
0c4520d6 1669 (system* "python" "tests/unit/autojump_utils_test.py"))))
2328b47c
EB
1670 (replace 'install
1671 ;; The install.py script doesn't allow system installation
1672 ;; into an arbitrary prefix, so do our own install.
1673 (lambda* (#:key outputs #:allow-other-keys)
1674 (let* ((out (assoc-ref outputs "out"))
1675 (bin (string-append out "/bin"))
1676 (share (string-append out "/share/autojump"))
1677 (py (string-append out "/lib/python"
1678 ,(version-major+minor
1679 (package-version python-wrapper))
1680 "/site-packages"))
1681 (man (string-append out "/share/man/man1")))
1682 (install-file "bin/autojump" bin)
1683 (for-each (λ (f) (install-file f py))
1684 (find-files "bin" "\\.py$"))
1685 (for-each (λ (f) (install-file f share))
1686 (find-files "bin" "autojump\\..*$"))
1687 (substitute* (string-append share "/autojump.sh")
1688 (("/usr/local") out))
1689 (install-file "docs/autojump.1" man)
1690 (wrap-program (string-append bin "/autojump")
1691 `("PYTHONPATH" ":" prefix (,py)))
1692 #t))))))
1693 (home-page "https://github.com/wting/autojump")
8f65585b 1694 (synopsis "Shell extension for file system navigation")
2328b47c 1695 (description
8f65585b 1696 "Autojump provides a faster way to navigate your file system, with a \"cd
2328b47c
EB
1697command that learns\". It works by maintaining a database of the directories
1698you use the most from the command line and allows you to \"jump\" to
1699frequently used directories by typing only a small pattern.")
1700 (license license:gpl3+)))
765973cd 1701
1ca0ac1e
EB
1702(define-public fasd
1703 (package
1704 (name "fasd")
1705 (version "1.0.1")
1706 (source (origin
1707 (method git-fetch)
1708 (uri (git-reference
1709 (url "https://github.com/clvv/fasd.git")
1710 (commit version)))
1711 (file-name (git-file-name name version))
1712 (sha256
1713 (base32
1714 "1awi71jdv3mhjrmar2d4z1i90kn7apd7aq1w31sh6w4yibz9kiyj"))))
1715 (build-system gnu-build-system)
1716 (arguments
1717 `(#:phases (modify-phases %standard-phases
1718 (delete 'configure)) ;no configuration
1719 #:tests? #f ;no tests
1720 #:make-flags (list (string-append "PREFIX=" %output))))
1721 (home-page "https://github.com/clvv/fasd")
1722 (synopsis "Quick access to files and directories for shells")
1723 (description
1724 "Fasd (pronounced similar to \"fast\") is a command-line productivity
1725booster. Fasd offers quick access to files and directories for POSIX shells.
1726It is inspired by tools like autojump, z, and v. Fasd keeps track of files
1727and directories you have accessed so that you can quickly reference them in
1728the command line.")
1729 (license license:x11)))
1730
765973cd
LF
1731(define-public iftop
1732 (package
1733 (name "iftop")
1734 (version "1.0pre4")
1735 (source (origin
1736 (method url-fetch)
1737 (uri (string-append "http://www.ex-parrot.com/~pdw/iftop/download"
1738 "/iftop-" version ".tar.gz"))
1739 (sha256
1740 (base32
1741 "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp"))))
1742 (build-system gnu-build-system)
1743 (inputs
1744 `(("libpcap" ,libpcap)
1745 ("ncurses" ,ncurses)))
1746 (synopsis "Monitor network usage")
1747 (description "Iftop does for network usage what @command{top} does
1748for CPU usage. It listens to network traffic on a named interface and
1749displays a table of current bandwidth usage by pairs of hosts.")
1750 (home-page "http://www.ex-parrot.com/~pdw/iftop/")
d4e21fbb 1751 (license license:gpl2+)))
f1957fc1
PP
1752
1753(define-public munge
1754 (package
1755 (name "munge")
5578a9c6 1756 (version "0.5.13")
f1957fc1
PP
1757 (source (origin
1758 (method url-fetch)
b52ae4de
EF
1759 (uri (string-append "https://github.com/dun/munge/releases/"
1760 "download/munge-" version "/munge-"
1761 version ".tar.xz"))
f1957fc1
PP
1762 (sha256
1763 (base32
5578a9c6 1764 "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
f1957fc1
PP
1765 (inputs
1766 `(("openssl" ,openssl)
1767 ("libgcrypt" ,libgcrypt)))
1768 (build-system gnu-build-system)
b52ae4de 1769 (home-page "https://dun.github.io/munge/")
f1957fc1
PP
1770 (synopsis "Cluster computing authentication service")
1771 (description
1772 "Munge is an authentication service for creating and validating
1773credentials. It allows a process to authenticate the UID and GID of another
1774local or remote process within a group of hosts having common users and
1775groups. These hosts form a security realm that is defined by a shared
1776cryptographic key. Clients within this security realm can create and validate
1777credentials without the use of root privileges, reserved ports, or
1778platform-specific methods.")
1779 (license license:gpl3+)))
3d7a157c
RW
1780
1781(define-public audit
1782 (package
1783 (name "audit")
1784 (version "2.4.5")
1785 (source (origin
1786 (method url-fetch)
1787 (uri (string-append "http://people.redhat.com/sgrubb/audit/"
1788 "audit-" version ".tar.gz"))
1789 (sha256
1790 (base32
1791 "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
1792 (build-system gnu-build-system)
1793 (home-page "http://people.redhat.com/sgrubb/audit/")
1794 (arguments
1795 `(#:configure-flags (list "--with-python=no")
1796 #:phases
1797 (modify-phases %standard-phases
1798 (add-after 'unpack 'fix-tests
1799 (lambda _
1800 ;; In the build environmnte /etc/passwd does not contain an entry
1801 ;; for root/0, so we have to patch the expected value.
1802 (substitute* "auparse/test/auparse_test.ref"
1803 (("=0 \\(root\\)") "=0 (unknown(0))"))
1804 #t)))))
1805 (inputs
1806 `(("openldap" ,openldap)
1bafad56 1807 ("gnutls" ,gnutls)
3d7a157c
RW
1808 ("sasl" ,cyrus-sasl)))
1809 (synopsis "User-space component to the Linux auditing system")
1810 (description
1811 "auditd is the user-space component to the Linux auditing system, which
1812allows logging of system calls made by user-land processes. It's responsible
1813for writing audit records to the disk. Viewing the logs is done with the
1814@code{ausearch} or @code{aureport} utilities. Configuring the audit rules is
1815done with the @code{auditctl} utility.")
1816 (license license:gpl2+)))
d0457553
TUBK
1817
1818(define-public nmap
1819 (package
1820 (name "nmap")
069d0b7f 1821 (version "7.70")
d0457553
TUBK
1822 (source (origin
1823 (method url-fetch)
1824 (uri (string-append "https://nmap.org/dist/nmap-" version
1825 ".tar.bz2"))
1826 (sha256
1827 (base32
069d0b7f 1828 "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4"))
d0457553
TUBK
1829 (modules '((guix build utils)))
1830 (snippet
069d0b7f
MB
1831 '(begin
1832 (map delete-file-recursively
1833 ;; Remove bundled lua, pcap, and pcre libraries.
1834 ;; FIXME: Remove bundled liblinear once packaged.
1835 '("liblua"
1836 "libpcap"
1837 "libpcre"
1838 ;; Remove pre-compiled binares.
1839 "mswin32"))
1840 #t))))
d0457553
TUBK
1841 (build-system gnu-build-system)
1842 (inputs
1843 `(("openssl" ,openssl)
1844 ("libpcap" ,libpcap)
1845 ("pcre" ,pcre)
1846 ("lua" ,lua)
069d0b7f
MB
1847 ("zlib" ,zlib) ;for NSE compression support
1848
d0457553
TUBK
1849 ;; For 'ndiff'.
1850 ("python" ,python-2)))
1851
1852 ;; TODO Add zenmap output.
1853 (outputs '("out" "ndiff"))
1854 (arguments
1855 '(#:configure-flags '("--without-zenmap")
1856 #:phases
1857 (modify-phases %standard-phases
f4dc22bc
MB
1858 (add-after 'configure 'patch-Makefile
1859 (lambda _
1860 (substitute* "Makefile"
1861 ;; Do not attempt to build lua.
1862 (("build-dnet build-lua") "build-dnet"))
1863 #t))
d0457553
TUBK
1864 (replace 'install
1865 (lambda* (#:key outputs #:allow-other-keys)
1866 (define (make out . args)
1867 (unless (zero? (apply system* "make"
1868 (string-append "prefix=" out)
1869 args))
1870 (error "make failed")))
1871 (define (python-path dir)
1872 (string-append dir "/lib/python2.7/site-packages"))
1873 (let ((out (assoc-ref outputs "out"))
1874 (ndiff (assoc-ref outputs "ndiff")))
1875 (for-each mkdir-p (list out ndiff))
1876 (make out
1877 "install-nmap"
1878 "install-nse"
1879 "install-ncat"
1880 "install-nping")
1881 (make ndiff "install-ndiff")
1882 (wrap-program (string-append ndiff "/bin/ndiff")
1883 `("PYTHONPATH" prefix
1884 (,(python-path ndiff)))))))
1885 ;; These are the tests that do not require network access.
1886 (replace 'check
1887 (lambda _ (zero? (system* "make"
1888 "check-nse"
1889 "check-ndiff"
1890 "check-dns")))))
1891 ;; Nmap can't cope with out-of-source building.
1892 #:out-of-source? #f))
1893 (home-page "https://nmap.org/")
1894 (synopsis "Network discovery and security auditing tool")
1895 (description
1896 "Nmap (\"Network Mapper\") is a network discovery and security auditing
1897tool. It is also useful for tasks such as network inventory, managing service
1898upgrade schedules, and monitoring host or service uptime. It also provides an
1899advanced netcat implementation (ncat), a utility for comparing scan
1900results (ndiff), and a packet generation and response analysis tool (nping).")
1901 ;; This package uses nmap's bundled versions of libdnet and liblinear, which
1902 ;; both use a 3-clause BSD license.
1903 (license (list license:nmap license:bsd-3))))
1a0346f0
P
1904
1905(define-public dstat
1906 (package
1907 (name "dstat")
1908 (version "0.7.3")
1909 (source (origin
1910 (method url-fetch)
1911 (uri (string-append
1912 "https://github.com/dagwieers/dstat/archive/"
1913 version ".tar.gz"))
1914 (file-name (string-append "dstat-" version ".tar.gz"))
1915 (sha256
1916 (base32
1917 "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6"))))
1918 (build-system gnu-build-system)
1919 (arguments
1920 `(#:tests? #f ;; no make check
1921 #:make-flags (let ((out (assoc-ref %outputs "out")))
1922 (list (string-append "DESTDIR=" out)
1923 "prefix=/"))
1924 ;; no configure script
dc1d3cde 1925 #:phases (modify-phases %standard-phases (delete 'configure))))
1a0346f0
P
1926 (inputs `(("python-2" ,python-2)))
1927 (synopsis "Versatile resource statistics tool")
1928 (description "Dstat is a versatile replacement for @command{vmstat},
1929@command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes
1930some of their limitations and adds some extra features, more counters and
1931flexibility. Dstat is handy for monitoring systems during performance tuning
1932tests, benchmarks or troubleshooting.
1933
1934Dstat allows you to view all of your system resources in real-time, you can,
1935e.g., compare disk utilization in combination with interrupts from your IDE
1936controller, or compare the network bandwidth numbers directly with the disk
1937throughput (in the same interval).")
1938 (home-page "http://dag.wiee.rs/home-made/dstat/")
c59f62e9 1939 (license license:gpl2+)))
0405e5f4
EB
1940
1941(define-public thefuck
1942 (package
1943 (name "thefuck")
3290f107 1944 (version "3.26")
0405e5f4
EB
1945 (source (origin
1946 (method url-fetch)
1947 (uri (string-append "https://github.com/nvbn/thefuck/archive/"
1948 version ".tar.gz"))
1949 (file-name (string-append name "-" version ".tar.gz"))
1950 (sha256
1951 (base32
3290f107 1952 "0ddlf25ik97z34bcpc52xyfhlfm6a3hdi43l6cz4ggwcawdwvn1p"))
bf5b6fb2 1953 (patches (search-patches "thefuck-test-environ.patch"))))
0405e5f4 1954 (build-system python-build-system)
1c1b67a3 1955 (arguments
bf5b6fb2
EB
1956 '(#:phases
1957 (modify-phases %standard-phases
1958 (delete 'check)
1959 (add-after 'install 'check
1960 (lambda* (#:key inputs outputs #:allow-other-keys)
1961 ;; Tests look for installed package
1962 (add-installed-pythonpath inputs outputs)
1963 ;; Some tests need write access to $HOME.
1964 (setenv "HOME" "/tmp")
2216b6f4
TGR
1965 (invoke "py.test" "-v")
1966 #t)))))
1c1b67a3 1967 (propagated-inputs
0405e5f4
EB
1968 `(("python-colorama" ,python-colorama)
1969 ("python-decorator" ,python-decorator)
1970 ("python-psutil" ,python-psutil)
2468ca04 1971 ("python-pyte" ,python-pyte)
0405e5f4 1972 ("python-six" ,python-six)))
2d1ac1d1 1973 (native-inputs
1c1b67a3
MB
1974 `(("python-mock" ,python-mock)
1975 ("python-pytest" ,python-pytest)
2468ca04 1976 ("python-pytest-mock" ,python-pytest-mock)))
0405e5f4
EB
1977 (home-page "https://github.com/nvbn/thefuck")
1978 (synopsis "Correct mistyped console command")
1979 (description
1980 "The Fuck tries to match a rule for a previous, mistyped command, creates
1981a new command using the matched rule, and runs it.")
1982 (license license:x11)))
61402398
JF
1983
1984(define-public di
1985 (package
1986 (name "di")
1b0be8c5 1987 (version "4.46")
61402398
JF
1988 (source
1989 (origin
1990 (method url-fetch)
1991 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
1992 (sha256
1b0be8c5 1993 (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
61402398
JF
1994 (build-system gnu-build-system)
1995 (arguments
1996 `(#:tests? #f ; Obscure test failures.
1997 #:phases
1998 (modify-phases %standard-phases
1999 (delete 'configure)
2000 (add-before 'build 'setup-environment
2001 (lambda* (#:key outputs #:allow-other-keys)
2002 (setenv "CC" "gcc")
2003 (setenv "prefix" (assoc-ref outputs "out"))
2004 #t)))
2005 #:make-flags (list "--environment-overrides")))
2006 (home-page "https://www.gentoo.com/di/")
2007 (synopsis "Advanced df like disk information utility")
2008 (description
26c6de8b
TGR
2009 "'di' is a disk information utility, displaying everything that your
2010@code{df} command does and more. It features the ability to display your disk
2011usage in whatever format you prefer. It is designed to be highly portable and
2012produce uniform output across heterogeneous networks.")
61402398 2013 (license license:zlib)))
5ec8b02d 2014
2015(define-public cbatticon
2016 (package
2017 (name "cbatticon")
84f95d55 2018 (version "1.6.8")
5ec8b02d 2019 (source (origin
2020 (method url-fetch)
2021 (uri (string-append "https://github.com/valr/"
2022 name "/archive/" version ".tar.gz"))
2023 (sha256
2024 (base32
84f95d55 2025 "185lzvaijvyq7y8r7dvizhri0rf9lpc1anfgbbn4lznr1fr3z7rn"))
5ec8b02d 2026 (file-name (string-append name "-" version ".tar.gz"))))
2027 (build-system gnu-build-system)
2028 (arguments
2029 `(#:tests? #f ; no tests
2030 #:make-flags
2031 (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
2032 "CC=gcc")
2033 #:phases
2034 (modify-phases %standard-phases
2035 (delete 'configure)))) ; no configure script
2036 (inputs
2037 `(("gtk+" ,gtk+)
b94a6ca0 2038 ("gettext" ,gettext-minimal)
5ec8b02d 2039 ("libnotify" ,libnotify)))
2040 (native-inputs
2041 `(("pkg-config" ,pkg-config)))
2042 (synopsis "Lightweight battery icon for the system tray")
2043 (description "cbatticon is a lightweight battery icon that displays
2044the status of your battery in the system tray.")
2045 (home-page "https://github.com/valr/cbatticon")
2046 (license license:gpl2+)))
c08533b2 2047
2048(define-public interrobang
2049 (let ((revision "1")
2050 (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
2051 (package
2052 (name "interrobang")
2053 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
2054 (source (origin
2055 (method git-fetch)
2056 (uri (git-reference
5f13bf09 2057 (url "https://github.com/TrilbyWhite/interrobang")
c08533b2 2058 (commit commit)))
2059 (file-name (string-append name "-" version))
2060 (sha256
2061 (base32
2062 "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
2063 (build-system gnu-build-system)
2064 (arguments
2065 `(#:tests? #f ; no tests
2066 #:phases
2067 (modify-phases %standard-phases
2068 (delete 'configure)) ; no configure script
2069 #:make-flags (list (string-append "PREFIX="
2070 (assoc-ref %outputs "out")))))
2071 (inputs
2072 `(("libx11" ,libx11)))
2073 (native-inputs
2074 `(("pkg-config" ,pkg-config)))
2075 (synopsis "Scriptable launcher menu")
2076 (description "Interrobang is a scriptable launcher menu with a customizable
2077shortcut syntax and completion options.")
2078 (home-page "https://github.com/TrilbyWhite/interrobang")
2079 (license license:gpl3+))))
94c5dc8c 2080
94c5dc8c
JD
2081(define-public pam-krb5
2082 (package
2083 (name "pam-krb5")
0e6c242b 2084 (version "4.8")
94c5dc8c
JD
2085 (source (origin
2086 (method url-fetch)
2087 (uri (string-append
2088 "https://archives.eyrie.org/software/kerberos/" name "-"
2089 version ".tar.xz"))
2090 (sha256
2091 (base32
0e6c242b 2092 "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
94c5dc8c
JD
2093 (build-system gnu-build-system)
2094 (arguments
2095 `(#:phases
2096 (modify-phases %standard-phases
2097 (add-before 'configure 'disable-tests
2098 (lambda _
2099 ;; The build container seems to interfere with some tests.
2100 (substitute* "tests/TESTS"
2101 (("module/basic\n") ""))
2102 (substitute* "tests/TESTS"
2103 (("pam-util/vector\n") ""))
2104 #t)))))
2105 (inputs
2106 `(("linux-pam" ,linux-pam)
2107 ("mit-krb5" ,mit-krb5)))
2108 (native-inputs
2109 `(("perl" ,perl)
2110 ("perl-test-pod" ,perl-test-pod))) ; required for tests
2111 (synopsis "Kerberos PAM module")
2112 (description
2113 "Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.
2114It supports ticket refreshing by screen savers, configurable
2115authorization handling, authentication of non-local accounts for network
2116services, password changing, and password expiration, as well as all the
2117standard expected PAM features. It works correctly with OpenSSH, even
45298300
TGR
2118with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
2119enabled, and supports extensive configuration either by PAM options or in
94c5dc8c
JD
2120krb5.conf or both. PKINIT is supported with recent versions of both MIT
2121Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
2122 (home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
2123 ;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
2124 ;; However, the tarball does not contain a copy of the GPL, so unless
2125 ;; we put one in, we cannot distribute it under GPL without violating
2126 ;; clause requiring us to give all recipients a copy.
2127 (license license:gpl1+)))
2128
b04ca7a1
DM
2129(define-public sunxi-tools
2130 (package
2131 (name "sunxi-tools")
0c6fc4b7 2132 (version "1.4.2")
b04ca7a1
DM
2133 (source
2134 (origin
2135 (method url-fetch)
2136 (uri (string-append "https://github.com/linux-sunxi/"
2137 "sunxi-tools/archive/v" version ".tar.gz"))
2138 (sha256
0c6fc4b7 2139 (base32 "08iqwj95qw2s7ilhrdi2lkbc8dx64zk5lzz1qk587jr0lla81x41"))
b04ca7a1
DM
2140 (modules '((guix build utils)))
2141 (snippet
2142 ;; Remove binaries contained in the tarball which are only for the
2143 ;; target and can be regenerated anyway.
2144 '(delete-file-recursively "bin"))
2145 (file-name (string-append name "-" version ".tar.gz"))))
2146 (native-inputs
faa6bdf8
DM
2147 `(("pkg-config" ,pkg-config)
2148 ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
2149 #:xbinutils (cross-binutils "arm-linux-gnueabihf")
2150 #:libc (cross-libc "arm-linux-gnueabihf")))
e2d0cf03
DM
2151 ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
2152 ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
b04ca7a1
DM
2153 (inputs
2154 `(("libusb" ,libusb)))
2155 (build-system gnu-build-system)
2156 (arguments
faa6bdf8 2157 `(#:tests? #f ; no tests exist
b04ca7a1
DM
2158 #:make-flags (list (string-append "PREFIX="
2159 (assoc-ref %outputs "out"))
faa6bdf8
DM
2160 (string-append "CROSS_COMPILE="
2161 "arm-linux-gnueabihf-")
2162 "CC=gcc")
b04ca7a1
DM
2163 #:phases
2164 (modify-phases %standard-phases
b054b26a 2165 (delete 'configure)
faa6bdf8
DM
2166 (add-before 'build 'set-environment-up
2167 (lambda* (#:key make-flags #:allow-other-keys)
2168 (define (cross? x)
2169 (string-contains x "cross-arm-linux"))
e7988175
DM
2170 (define (filter-environment! filter-predicate
2171 environment-variable-names)
2172 (for-each
2173 (lambda (env-name)
2174 (let* ((env-value (getenv env-name))
2175 (search-path (search-path-as-string->list env-value))
2176 (new-search-path (filter filter-predicate
2177 search-path))
2178 (new-env-value (list->search-path-as-string
2179 new-search-path ":")))
2180 (setenv env-name new-env-value)))
2181 environment-variable-names))
faa6bdf8
DM
2182 (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
2183 (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
2184 (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
e7988175
DM
2185 (filter-environment! cross?
2186 '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
2187 "CROSS_LIBRARY_PATH"))
2188 (filter-environment! (lambda (e) (not (cross? e)))
2189 '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
2190 "LIBRARY_PATH"))
faa6bdf8
DM
2191 #t))
2192 (replace 'build
2193 (lambda* (#:key make-flags #:allow-other-keys)
2194 (zero? (apply system* "make" "tools" "misc" make-flags))))
2195 (add-after 'build 'build-armhf
2196 (lambda* (#:key make-flags #:allow-other-keys)
e7988175 2197 (setenv "LIBRARY_PATH" #f)
faa6bdf8 2198 (zero? (apply system* "make" "target-tools" make-flags))))
b054b26a
DM
2199 (replace 'install
2200 (lambda* (#:key make-flags #:allow-other-keys)
2201 (zero? (apply system* "make" "install-all" "install-misc"
2202 make-flags)))))))
b04ca7a1
DM
2203 (home-page "https://github.com/linux-sunxi/sunxi-tools")
2204 (synopsis "Hardware management tools for Allwinner computers")
2205 (description "This package contains tools for Allwinner devices:
2206@enumerate
2207@item @command{sunxi-fexc}, @command{bin2fex}, @command{fex2bin}: Compile
2208a textual description of a board (.fex) to a binary representation (.bin).
2209@item @command{sunxi-fel}: Puts an Allwinner device into FEL mode which
2210makes it register as a special USB device (rather than USB host).
2211You can then connect it to another computer and flash it from there.
2212@item @command{sunxi-nand-part}: Partitions NAND flash.
2213@item @command{sunxi-bootinfo}: Reads out boot0 and boot1 (Allwinner
2214bootloader) parameters.
2215@item @command{sunxi-pio}: Sets GPIO parameters and oscillates a GPIO
2216in order to be able to find it.
2217@item @command{sunxi-meminfo}: Prints memory bus settings.
b054b26a 2218@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
b04ca7a1
DM
2219@end enumerate")
2220 (license license:gpl2+)))
a054777e 2221
2222(define-public sedsed
2223 (package
2224 (name "sedsed")
2225 (version "1.0")
2226 (source
2227 (origin
2228 (method url-fetch)
2229 (uri (string-append "https://github.com/aureliojargas/sedsed/"
2230 "archive/v" version ".tar.gz"))
2231 (file-name (string-append name "-" version ".tar.gz"))
2232 (sha256
2233 (base32
2234 "0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh"))))
2235 (build-system python-build-system)
2236 (arguments
2237 `(#:tests? #f ; No tests.
2238 #:python ,python-2
2239 #:phases
2240 (modify-phases %standard-phases
2241 (add-after 'unpack 'patch-sed-in
2242 (lambda _
2243 (substitute* "sedsed.py"
2244 (("sedbin = 'sed'")
2245 (string-append "sedbin = '" (which "sed") "'")))
2246 #t))
2247 (delete 'build)
2248 (replace 'install
2249 (lambda* (#:key outputs #:allow-other-keys)
2250 (let* ((out (assoc-ref outputs "out"))
2251 (bin (string-append out "/bin")))
2252 ;; Just one file to copy around
2253 (install-file "sedsed.py" bin)
2254 #t)))
2255 (add-after 'install 'symlink
2256 ;; Create 'sedsed' symlink to "sedsed.py".
2257 (lambda* (#:key outputs #:allow-other-keys)
2258 (let* ((out (assoc-ref outputs "out"))
2259 (bin (string-append out "/bin"))
2260 (sed (string-append bin "/sedsed"))
2261 (sedpy (string-append bin "/sedsed.py")))
2262 (symlink sedpy sed)
2263 #t))))))
2264 (home-page "http://aurelio.net/projects/sedsed")
2265 (synopsis "Sed sed scripts")
2266 (description
2267 "@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script.
2268
2269In debug mode it reads your script and add extra commands to it. When
2270executed you can see the data flow between the commands, revealing all the
2271magic sed does on its internal buffers.
2272
2273In indent mode your script is reformatted with standard spacing.
2274
2275In tokenize mode you can see the elements of every command you use.
2276
2277In HTMLize mode your script is converted to a beautiful colored HTML file,
2278with all the commands and parameters identified for your viewing pleasure.
2279
2280With sedsed you can master any sed script. No more secrets, no more hidden
2281buffers.")
2282 (license license:expat)))
d10fa5c7
RW
2283
2284(define-public intel-gpu-tools
2285 (package
2286 (name "intel-gpu-tools")
fdae9718 2287 (version "1.22")
d10fa5c7
RW
2288 (source (origin
2289 (method url-fetch)
2290 (uri (string-append "https://cgit.freedesktop.org/xorg/app/"
2291 "intel-gpu-tools/snapshot/"
2292 "intel-gpu-tools-" version ".tar.gz"))
2293 (sha256
2294 (base32
fdae9718 2295 "1jx5w5fr6jp67rcrlp5v79cn8kp9n0wgd5pbfgzamlah5cx6j3yd"))))
d10fa5c7
RW
2296 (build-system gnu-build-system)
2297 (arguments
2298 `(#:tests? #f ; many of the tests try to load kernel modules
2299 #:phases
2300 (modify-phases %standard-phases
2301 (add-after 'unpack 'autogen
2302 (lambda _
8e7e6170 2303 ;; Don't run configure in this phase.
d10fa5c7 2304 (setenv "NOCONFIGURE" "1")
8e7e6170 2305 (invoke "sh" "autogen.sh"))))))
d10fa5c7 2306 (inputs
fdae9718
TGR
2307 `(("eudev" ,eudev)
2308 ("util-macros" ,util-macros)
d10fa5c7
RW
2309 ("libdrm" ,libdrm)
2310 ("libpciaccess" ,libpciaccess)
2311 ("kmod" ,kmod)
2312 ("procps" ,procps)
2313 ("cairo" ,cairo)
2314 ("libunwind" ,libunwind)
2315 ("libxrandr" ,libxrandr)
2316 ("glib" ,glib)))
2317 (native-inputs
2318 `(("autoconf" ,autoconf)
2319 ("automake" ,automake)
2320 ("libtool" ,libtool)
2321 ("pkg-config" ,pkg-config)))
2322 (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
2323 (synopsis "Tools for development and testing of the Intel DRM driver")
2324 (description "Intel GPU Tools is a collection of tools for development and
2325testing of the Intel DRM driver. There are many macro-level test suites that
2326get used against the driver, including xtest, rendercheck, piglit, and
2327oglconform, but failures from those can be difficult to track down to kernel
2328changes, and many require complicated build procedures or specific testing
2329environments to get useful results. Therefore, Intel GPU Tools includes
2330low-level tools and tests specifically for development and testing of the
2331Intel DRM Driver.")
9f375a4c 2332 (supported-systems '("i686-linux" "x86_64-linux"))
d10fa5c7 2333 (license license:expat)))
c1aba1a7 2334
b611f9c2
BS
2335(define-public fabric
2336 (package
2337 (name "fabric")
a62d455d 2338 (version "1.14.0")
b611f9c2
BS
2339 (source
2340 (origin
2341 (method url-fetch)
2342 (uri (pypi-uri "Fabric" version))
2343 (sha256
2344 (base32
a62d455d 2345 "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
b611f9c2
BS
2346 (build-system python-build-system)
2347 (arguments
f58be417 2348 `(#:python ,python-2)) ; Python 2 only
1b5b24c9 2349 (native-inputs
f58be417
TGR
2350 `(("python2-fudge" ,python2-fudge)
2351 ("python2-jinja2" ,python2-jinja2)
a62d455d
RJ
2352 ("python2-nose" ,python2-nose)
2353 ("python2-pynacl" ,python2-pynacl)
2354 ("python2-bcrypt" ,python2-bcrypt)))
b611f9c2 2355 (propagated-inputs
b611f9c2
BS
2356 `(("python2-paramiko" ,python2-paramiko)))
2357 (home-page "http://fabfile.org")
2358 (synopsis "Simple Pythonic remote execution and deployment tool")
2359 (description
2360 "Fabric is designed to upload files and run shell commands on a number of
2361servers in parallel or serially. These commands are grouped in tasks (which
2362are regular Python functions) and specified in a @dfn{fabfile}.
2363
2364It is similar to Capistrano, except it's implemented in Python and doesn't
2365expect you to be deploying Rails applications. Fabric is a simple, Pythonic
2366tool for remote execution and deployment.")
2367 (license license:bsd-2)))
6e75ea48
EJ
2368
2369(define-public neofetch
2370 (package
2371 (name "neofetch")
08baa9ac 2372 (version "3.4.0")
6e75ea48
EJ
2373 (source (origin
2374 (method url-fetch)
2375 (uri (string-append "https://github.com/dylanaraps/neofetch/"
2376 "archive/" version ".tar.gz"))
2377 (file-name (string-append name "-" version ".tar.gz"))
2378 (sha256
2379 (base32
08baa9ac 2380 "18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
6e75ea48
EJ
2381 (build-system gnu-build-system)
2382 (arguments
378140e5 2383 `(#:tests? #f ; there are no tests
6e75ea48
EJ
2384 #:make-flags
2385 (list (string-append "PREFIX=" %output))
2386 #:phases
2387 (modify-phases %standard-phases
2388 (add-after 'unpack 'patch-target-directories
2389 (lambda* (#:key outputs #:allow-other-keys)
2390 (let ((out (assoc-ref outputs "out")))
2391 (substitute* "Makefile"
2392 (("\\$\\(DESTDIR\\)/etc/")
2393 "$(PREFIX)/etc/"))
2394 (substitute* "neofetch"
2395 (("\"/etc/neofetch")
2396 (string-append "\"" out "/etc/neofetch"))
2397 (("\"/usr/share/neofetch")
af79852c 2398 (string-append "\"" out "/share/neofetch"))))
6e75ea48 2399 #t))
378140e5
TGR
2400 (delete 'configure) ; no configure script
2401 (replace 'install
2402 (lambda* (#:key make-flags outputs #:allow-other-keys)
2403 (let* ((out (assoc-ref outputs "out"))
2404 (doc (string-append out "/share/doc/" ,name "-" ,version))
2405 (etc (string-append doc "/examples/etc")))
2406 (zero? (apply system* `("make" ,@make-flags
2407 ,(string-append "SYSCONFDIR=" etc)
2408 "install")))))))))
6e75ea48
EJ
2409 (home-page "https://github.com/dylanaraps/neofetch")
2410 (synopsis "System info script")
2411 (description "Neofetch is a CLI system information tool written in Bash.
2412Neofetch displays information about your system next to an image, your OS
2413logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
2414used in screenshots to show other users what operating system or distribution
2415you are running, what theme or icon set you are using, etc.")
2416 (license license:expat)))
a76ca052
EJ
2417
2418(define-public nnn
2419 (package
2420 (name "nnn")
5e3175f7 2421 (version "1.7")
a76ca052
EJ
2422 (source (origin
2423 (method url-fetch)
2424 (uri (string-append "https://github.com/jarun/nnn/"
2425 "archive/v" version ".tar.gz"))
2426 (file-name (string-append name "-" version ".tar.gz"))
2427 (sha256
2428 (base32
5e3175f7 2429 "0z3lqbfx3y1caxvn7yq90b7whwyq2y32zf8kyd976ilbxpxnxqpv"))))
a76ca052
EJ
2430 (build-system gnu-build-system)
2431 (inputs `(("ncurses" ,ncurses)
2432 ("readline" ,readline)))
2433 (arguments
2434 '(#:tests? #f ; no tests
2435 #:phases
2436 ;; We do not provide `ncurses.h' within an `ncursesw'
2437 ;; sub-directory, so patch the source accordingly. See
2438 ;; <http://bugs.gnu.org/19018>.
2439 ;; Thanks to gtypist maintainer.
2440 (modify-phases %standard-phases
2441 (add-after 'unpack 'patch-curses-lib
2442 (lambda* (#:key outputs #:allow-other-keys)
2443 (let ((out (assoc-ref outputs "out")))
2444 (substitute* "Makefile"
2445 (("-lncursesw")
2446 "-lncurses"))
2447 (substitute* "nnn.c"
2448 (("ncursesw\\/curses.h")
2449 "ncurses.h")))
2450 #t))
2451 (delete 'configure))
2452 #:make-flags
2453 (list
2454 (string-append "PREFIX="
2455 (assoc-ref %outputs "out"))
2456 (string-append "-Wl,-rpath="
2457 %output "/lib")
2458 "CC=gcc")))
2459 (home-page "https://github.com/jarun/nnn")
2460 (synopsis "Terminal file browser")
2461 (description "@command{nnn} is a fork of @command{noice}, a blazing-fast
2462lightweight terminal file browser with easy keyboard shortcuts for
2463navigation, opening files and running tasks. There is no config file and
2464mime associations are hard-coded. The incredible user-friendliness and speed
2465make it a perfect utility on modern distros.")
2466 (license license:bsd-2)))
58989684
CAW
2467
2468(define-public thermald
2469 (package
2470 (name "thermald")
4f3506a4 2471 (version "1.7.1")
58989684
CAW
2472 (source
2473 (origin
2474 (method url-fetch)
2475 (uri (string-append "https://github.com/01org/thermal_daemon/archive/v"
2476 version ".tar.gz"))
1b6d3b7a 2477 (file-name (string-append name "-" version ".tar.gz"))
58989684 2478 (sha256 (base32
4f3506a4 2479 "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4"))))
58989684
CAW
2480 (build-system gnu-build-system)
2481 (arguments
2482 `(#:phases (modify-phases %standard-phases
2483 (add-after
2484 'unpack 'autogen.sh-and-fix-paths
2485 (lambda* (#:key outputs #:allow-other-keys)
2486 (let ((out (assoc-ref outputs "out")))
4f3506a4 2487 ;; XXX this can probably be removed after version 1.7.1.
58989684
CAW
2488 ;; upstartconfir is hardcoded to /etc/init and the build
2489 ;; system tries to mkdir that. We don't even need upstart
2490 ;; files at all; this is a fast and kludgy workaround
2491 (substitute* "data/Makefile.am"
2492 (("upstartconfdir = /etc/init")
2493 (string-append "upstartconfdir = "
2494 out "/etc/init")))
2495 ;; Now run autogen
4f3506a4
TGR
2496 (invoke "sh" "autogen.sh")
2497 #t))))
58989684
CAW
2498 #:configure-flags
2499 (let ((out (assoc-ref %outputs "out")))
2500 (list (string-append "--sysconfdir="
2501 out "/etc")
2502 (string-append "--with-udev-dir="
2503 out "/lib/udev")
2504 (string-append "--with-dbus-sys-dir="
2505 out "/etc/dbus-1/system.d")
2506 "--localstatedir=/var"))))
2507 (native-inputs
2508 `(("autoconf" ,autoconf)
2509 ("automake" ,automake)
2510 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2511 ("pkg-config" ,pkg-config)))
2512 (inputs
2513 `(("dbus-glib" ,dbus-glib)
2514 ("libxml2" ,libxml2)))
2515 (home-page "https://01.org/linux-thermal-daemon/")
2516 (synopsis "CPU scaling for thermal management")
2517 (description "The Linux Thermal Daemon helps monitor and control temperature
2518on systems running the Linux kernel.")
86ee7625
EF
2519 ;; arm and aarch64 don't have cpuid.h
2520 (supported-systems '("i686-linux" "x86_64-linux"))
58989684 2521 (license license:gpl2+)))
d7c64ad5
LF
2522
2523(define-public masscan
2524 (package
2525 (name "masscan")
b4bf9516 2526 (version "1.0.5")
d7c64ad5
LF
2527 (source (origin
2528 (method url-fetch)
2529 (uri (string-append "https://github.com/robertdavidgraham/masscan"
2530 "/archive/" version ".tar.gz"))
7fc94427 2531 (file-name (string-append name "-" version ".tar.gz"))
d7c64ad5
LF
2532 (sha256
2533 (base32
b4bf9516 2534 "0wxddsgyx27z45906icdhdbfsvfj8ij805208qpqjx46i0lnjs50"))))
d7c64ad5
LF
2535 (build-system gnu-build-system)
2536 (inputs
2537 `(("libpcap" ,libpcap)))
2538 (arguments
2539 '(#:test-target "regress"
b4bf9516
TGR
2540 #:make-flags
2541 (list "CC=gcc"
2542 (string-append "PREFIX=" (assoc-ref %outputs "out")))
d7c64ad5
LF
2543 #:phases
2544 (modify-phases %standard-phases
b4bf9516 2545 (delete 'configure) ; no ./configure script
d7c64ad5
LF
2546 (add-after 'unpack 'patch-path
2547 (lambda* (#:key outputs inputs #:allow-other-keys)
2548 (let* ((out (assoc-ref outputs "out"))
2549 (pcap (assoc-ref inputs "libpcap")))
2550 (substitute* "src/rawsock-pcap.c"
2551 (("libpcap.so") (string-append pcap "/lib/libpcap.so")))
2552 #t))))))
2553 (synopsis "TCP port scanner")
2554 (description "MASSCAN is an asynchronous TCP port scanner. It can detect
2555open ports, and also complete the TCP connection and interact with the remote
2556application, collecting the information received.")
2557 (home-page "https://github.com/robertdavidgraham/masscan")
b4bf9516
TGR
2558 ;; 'src/siphash24.c' is the SipHash reference implementation, which
2559 ;; bears a CC0 Public Domain Dedication.
d7c64ad5 2560 (license license:agpl3+)))
82d57f12
TGR
2561
2562(define-public hungrycat
2563 (package
2564 (name "hungrycat")
2565 (version "0.4.1")
2566 (source (origin
2567 (method url-fetch)
2568 (uri (string-append "https://github.com/jwilk/hungrycat/"
2569 "releases/download/" version "/"
2570 name "-" version ".tar.gz"))
2571 (sha256
2572 (base32
2573 "03fc1zsrf99lvxa7b4ps6pbi43304wbxh1f6ci4q0vkal370yfwh"))))
2574 (build-system gnu-build-system)
2575 (native-inputs
2576 ;; For tests.
2577 `(("python" ,python-wrapper)
2578 ("python-nose" ,python-nose)))
2579 (arguments
2580 `(#:test-target "test"))
2581 (synopsis "A single tool that combines @command{cat} & @command{rm}")
2582 (description
2583 "hungrycat prints the contents of a file to standard output, while
2584simultaneously freeing the disk space it occupied. It is useful if you need
2585to process a large file, don't have enough space to store both the input and
2586output files, and don't need the input file afterwards.
2587While similar in principle to running @command{cat} immediately followed by
2588@command{rm}, @command{hungrycat} actually frees blocks as soon as they are
2589printed instead of after the entire file has been read, which is often too
2590late.")
2591 (home-page "https://jwilk.net/software/hungrycat")
2592 (license license:expat)))
3ebf2c29
PAR
2593
2594(define-public launchmon
2595 (package
2596 (name "launchmon")
2597 (version "1.0.2")
2598 (source (origin
2599 (method url-fetch)
2600 (uri (string-append
2601 "https://github.com/LLNL/LaunchMON/releases/download/v"
2602 version "/" name "-v" version ".tar.gz"))
2603 (sha256
2604 (base32
2605 "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
2606 (build-system gnu-build-system)
2607 (inputs
2608 `(("mpi" ,openmpi)
2609 ("munge" ,munge)
2610 ("boost" ,boost)
2611 ("libelf" ,libelf)
2612 ("libgcrypt" ,libgcrypt)
2613 ("libgpg-error" ,libgpg-error)))
2614 (synopsis "Infrastructue for large scale tool daemon launching")
2615 (description
2616 "LaunchMON is a software infrastructure that enables HPC run-time
2617tools to co-locate tool daemons with a parallel job. Its API allows a
2618tool to identify all the remote processes of a job and to scalably
2619launch daemons into the relevant nodes.")
2620 (home-page "https://github.com/LLNL/LaunchMON")
2621 (supported-systems '("i686-linux" "x86_64-linux"))
2622 (license license:lgpl2.1)))
541dac8a
PAR
2623
2624(define-public spindle
2625 (package
2626 (name "spindle")
2627 (version "0.10")
2628 (source (origin
2629 ;; We use git checkout to avoid github auto-generated tarballs
2630 (method git-fetch)
2631 (uri (git-reference
2632 (url "https://github.com/hpc/Spindle.git")
2633 (commit (string-append "v" version))))
2634 (file-name (git-file-name name version))
2635 (sha256
2636 (base32
2637 "15n3ay0qq81r5v7fif61q1vdjcq44pp2nynkh3fvbzc9fj3c39wd"))))
2638 (build-system gnu-build-system)
2639 (arguments '(#:configure-flags '("--enable-sec-launchmon"
2640 "--enable-sec-munge"
2641 "--enable-sec-none")))
2642 (inputs
2643 `(("mpi" ,openmpi)
2644 ("munge" ,munge)
2645 ("launchmon" ,launchmon)
2646 ("libgcrypt" ,libgcrypt)))
2647 (synopsis "Scalable library loading in HPC environments")
2648 (description
2649 "Spindle is a tool for improving the performance of dynamic library and
2650Python loading in HPC environments.")
2651 (home-page "https://github.com/hpc/Spindle")
785f40df
EF
2652 ;; This package supports x86_64 and PowerPC64
2653 (supported-systems '("x86_64-linux"))
541dac8a 2654 (license license:lgpl2.1)))