gnu: infamous-plugins: Update to 0.2.04.
[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")
180d7ac1 248 (version "3.0.4")
fbc1a58f
CR
249 (source
250 (origin
251 (method url-fetch)
252 (uri (string-append
180d7ac1 253 "http://projects.gw-computing.net/attachments/download/79/dfc-"
fbc1a58f
CR
254 version ".tar.gz"))
255 (sha256
256 (base32
180d7ac1 257 "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
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")
8027f84d 1258 (version "20180313")
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
8027f84d 1266 "16galaadmr37q2pvk2gyxrm8d1xldzk31djfxfq9v1c9yq4i425h"))))
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")
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.")
f61e0e79 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")
2468ca04 1944 (version "3.25")
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
2468ca04 1952 "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
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")
1965 (zero? (system* "py.test" "-v")))))))
1c1b67a3 1966 (propagated-inputs
0405e5f4
EB
1967 `(("python-colorama" ,python-colorama)
1968 ("python-decorator" ,python-decorator)
1969 ("python-psutil" ,python-psutil)
2468ca04 1970 ("python-pyte" ,python-pyte)
0405e5f4 1971 ("python-six" ,python-six)))
2d1ac1d1 1972 (native-inputs
1c1b67a3
MB
1973 `(("python-mock" ,python-mock)
1974 ("python-pytest" ,python-pytest)
2468ca04 1975 ("python-pytest-mock" ,python-pytest-mock)))
0405e5f4
EB
1976 (home-page "https://github.com/nvbn/thefuck")
1977 (synopsis "Correct mistyped console command")
1978 (description
1979 "The Fuck tries to match a rule for a previous, mistyped command, creates
1980a new command using the matched rule, and runs it.")
1981 (license license:x11)))
61402398
JF
1982
1983(define-public di
1984 (package
1985 (name "di")
1b0be8c5 1986 (version "4.46")
61402398
JF
1987 (source
1988 (origin
1989 (method url-fetch)
1990 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
1991 (sha256
1b0be8c5 1992 (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
61402398
JF
1993 (build-system gnu-build-system)
1994 (arguments
1995 `(#:tests? #f ; Obscure test failures.
1996 #:phases
1997 (modify-phases %standard-phases
1998 (delete 'configure)
1999 (add-before 'build 'setup-environment
2000 (lambda* (#:key outputs #:allow-other-keys)
2001 (setenv "CC" "gcc")
2002 (setenv "prefix" (assoc-ref outputs "out"))
2003 #t)))
2004 #:make-flags (list "--environment-overrides")))
2005 (home-page "https://www.gentoo.com/di/")
2006 (synopsis "Advanced df like disk information utility")
2007 (description
26c6de8b
TGR
2008 "'di' is a disk information utility, displaying everything that your
2009@code{df} command does and more. It features the ability to display your disk
2010usage in whatever format you prefer. It is designed to be highly portable and
2011produce uniform output across heterogeneous networks.")
61402398 2012 (license license:zlib)))
5ec8b02d 2013
2014(define-public cbatticon
2015 (package
2016 (name "cbatticon")
84f95d55 2017 (version "1.6.8")
5ec8b02d 2018 (source (origin
2019 (method url-fetch)
2020 (uri (string-append "https://github.com/valr/"
2021 name "/archive/" version ".tar.gz"))
2022 (sha256
2023 (base32
84f95d55 2024 "185lzvaijvyq7y8r7dvizhri0rf9lpc1anfgbbn4lznr1fr3z7rn"))
5ec8b02d 2025 (file-name (string-append name "-" version ".tar.gz"))))
2026 (build-system gnu-build-system)
2027 (arguments
2028 `(#:tests? #f ; no tests
2029 #:make-flags
2030 (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
2031 "CC=gcc")
2032 #:phases
2033 (modify-phases %standard-phases
2034 (delete 'configure)))) ; no configure script
2035 (inputs
2036 `(("gtk+" ,gtk+)
b94a6ca0 2037 ("gettext" ,gettext-minimal)
5ec8b02d 2038 ("libnotify" ,libnotify)))
2039 (native-inputs
2040 `(("pkg-config" ,pkg-config)))
2041 (synopsis "Lightweight battery icon for the system tray")
2042 (description "cbatticon is a lightweight battery icon that displays
2043the status of your battery in the system tray.")
2044 (home-page "https://github.com/valr/cbatticon")
2045 (license license:gpl2+)))
c08533b2 2046
2047(define-public interrobang
2048 (let ((revision "1")
2049 (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
2050 (package
2051 (name "interrobang")
2052 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
2053 (source (origin
2054 (method git-fetch)
2055 (uri (git-reference
5f13bf09 2056 (url "https://github.com/TrilbyWhite/interrobang")
c08533b2 2057 (commit commit)))
2058 (file-name (string-append name "-" version))
2059 (sha256
2060 (base32
2061 "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
2062 (build-system gnu-build-system)
2063 (arguments
2064 `(#:tests? #f ; no tests
2065 #:phases
2066 (modify-phases %standard-phases
2067 (delete 'configure)) ; no configure script
2068 #:make-flags (list (string-append "PREFIX="
2069 (assoc-ref %outputs "out")))))
2070 (inputs
2071 `(("libx11" ,libx11)))
2072 (native-inputs
2073 `(("pkg-config" ,pkg-config)))
2074 (synopsis "Scriptable launcher menu")
2075 (description "Interrobang is a scriptable launcher menu with a customizable
2076shortcut syntax and completion options.")
2077 (home-page "https://github.com/TrilbyWhite/interrobang")
2078 (license license:gpl3+))))
94c5dc8c 2079
94c5dc8c
JD
2080(define-public pam-krb5
2081 (package
2082 (name "pam-krb5")
0e6c242b 2083 (version "4.8")
94c5dc8c
JD
2084 (source (origin
2085 (method url-fetch)
2086 (uri (string-append
2087 "https://archives.eyrie.org/software/kerberos/" name "-"
2088 version ".tar.xz"))
2089 (sha256
2090 (base32
0e6c242b 2091 "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
94c5dc8c
JD
2092 (build-system gnu-build-system)
2093 (arguments
2094 `(#:phases
2095 (modify-phases %standard-phases
2096 (add-before 'configure 'disable-tests
2097 (lambda _
2098 ;; The build container seems to interfere with some tests.
2099 (substitute* "tests/TESTS"
2100 (("module/basic\n") ""))
2101 (substitute* "tests/TESTS"
2102 (("pam-util/vector\n") ""))
2103 #t)))))
2104 (inputs
2105 `(("linux-pam" ,linux-pam)
2106 ("mit-krb5" ,mit-krb5)))
2107 (native-inputs
2108 `(("perl" ,perl)
2109 ("perl-test-pod" ,perl-test-pod))) ; required for tests
2110 (synopsis "Kerberos PAM module")
2111 (description
2112 "Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.
2113It supports ticket refreshing by screen savers, configurable
2114authorization handling, authentication of non-local accounts for network
2115services, password changing, and password expiration, as well as all the
2116standard expected PAM features. It works correctly with OpenSSH, even
45298300
TGR
2117with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
2118enabled, and supports extensive configuration either by PAM options or in
94c5dc8c
JD
2119krb5.conf or both. PKINIT is supported with recent versions of both MIT
2120Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
2121 (home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
2122 ;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
2123 ;; However, the tarball does not contain a copy of the GPL, so unless
2124 ;; we put one in, we cannot distribute it under GPL without violating
2125 ;; clause requiring us to give all recipients a copy.
2126 (license license:gpl1+)))
2127
b04ca7a1
DM
2128(define-public sunxi-tools
2129 (package
2130 (name "sunxi-tools")
0c6fc4b7 2131 (version "1.4.2")
b04ca7a1
DM
2132 (source
2133 (origin
2134 (method url-fetch)
2135 (uri (string-append "https://github.com/linux-sunxi/"
2136 "sunxi-tools/archive/v" version ".tar.gz"))
2137 (sha256
0c6fc4b7 2138 (base32 "08iqwj95qw2s7ilhrdi2lkbc8dx64zk5lzz1qk587jr0lla81x41"))
b04ca7a1
DM
2139 (modules '((guix build utils)))
2140 (snippet
2141 ;; Remove binaries contained in the tarball which are only for the
2142 ;; target and can be regenerated anyway.
2143 '(delete-file-recursively "bin"))
2144 (file-name (string-append name "-" version ".tar.gz"))))
2145 (native-inputs
faa6bdf8
DM
2146 `(("pkg-config" ,pkg-config)
2147 ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
2148 #:xbinutils (cross-binutils "arm-linux-gnueabihf")
2149 #:libc (cross-libc "arm-linux-gnueabihf")))
e2d0cf03
DM
2150 ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
2151 ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
b04ca7a1
DM
2152 (inputs
2153 `(("libusb" ,libusb)))
2154 (build-system gnu-build-system)
2155 (arguments
faa6bdf8 2156 `(#:tests? #f ; no tests exist
b04ca7a1
DM
2157 #:make-flags (list (string-append "PREFIX="
2158 (assoc-ref %outputs "out"))
faa6bdf8
DM
2159 (string-append "CROSS_COMPILE="
2160 "arm-linux-gnueabihf-")
2161 "CC=gcc")
b04ca7a1
DM
2162 #:phases
2163 (modify-phases %standard-phases
b054b26a 2164 (delete 'configure)
faa6bdf8
DM
2165 (add-before 'build 'set-environment-up
2166 (lambda* (#:key make-flags #:allow-other-keys)
2167 (define (cross? x)
2168 (string-contains x "cross-arm-linux"))
e7988175
DM
2169 (define (filter-environment! filter-predicate
2170 environment-variable-names)
2171 (for-each
2172 (lambda (env-name)
2173 (let* ((env-value (getenv env-name))
2174 (search-path (search-path-as-string->list env-value))
2175 (new-search-path (filter filter-predicate
2176 search-path))
2177 (new-env-value (list->search-path-as-string
2178 new-search-path ":")))
2179 (setenv env-name new-env-value)))
2180 environment-variable-names))
faa6bdf8
DM
2181 (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
2182 (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
2183 (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
e7988175
DM
2184 (filter-environment! cross?
2185 '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
2186 "CROSS_LIBRARY_PATH"))
2187 (filter-environment! (lambda (e) (not (cross? e)))
2188 '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
2189 "LIBRARY_PATH"))
faa6bdf8
DM
2190 #t))
2191 (replace 'build
2192 (lambda* (#:key make-flags #:allow-other-keys)
2193 (zero? (apply system* "make" "tools" "misc" make-flags))))
2194 (add-after 'build 'build-armhf
2195 (lambda* (#:key make-flags #:allow-other-keys)
e7988175 2196 (setenv "LIBRARY_PATH" #f)
faa6bdf8 2197 (zero? (apply system* "make" "target-tools" make-flags))))
b054b26a
DM
2198 (replace 'install
2199 (lambda* (#:key make-flags #:allow-other-keys)
2200 (zero? (apply system* "make" "install-all" "install-misc"
2201 make-flags)))))))
b04ca7a1
DM
2202 (home-page "https://github.com/linux-sunxi/sunxi-tools")
2203 (synopsis "Hardware management tools for Allwinner computers")
2204 (description "This package contains tools for Allwinner devices:
2205@enumerate
2206@item @command{sunxi-fexc}, @command{bin2fex}, @command{fex2bin}: Compile
2207a textual description of a board (.fex) to a binary representation (.bin).
2208@item @command{sunxi-fel}: Puts an Allwinner device into FEL mode which
2209makes it register as a special USB device (rather than USB host).
2210You can then connect it to another computer and flash it from there.
2211@item @command{sunxi-nand-part}: Partitions NAND flash.
2212@item @command{sunxi-bootinfo}: Reads out boot0 and boot1 (Allwinner
2213bootloader) parameters.
2214@item @command{sunxi-pio}: Sets GPIO parameters and oscillates a GPIO
2215in order to be able to find it.
2216@item @command{sunxi-meminfo}: Prints memory bus settings.
b054b26a 2217@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
b04ca7a1
DM
2218@end enumerate")
2219 (license license:gpl2+)))
a054777e 2220
2221(define-public sedsed
2222 (package
2223 (name "sedsed")
2224 (version "1.0")
2225 (source
2226 (origin
2227 (method url-fetch)
2228 (uri (string-append "https://github.com/aureliojargas/sedsed/"
2229 "archive/v" version ".tar.gz"))
2230 (file-name (string-append name "-" version ".tar.gz"))
2231 (sha256
2232 (base32
2233 "0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh"))))
2234 (build-system python-build-system)
2235 (arguments
2236 `(#:tests? #f ; No tests.
2237 #:python ,python-2
2238 #:phases
2239 (modify-phases %standard-phases
2240 (add-after 'unpack 'patch-sed-in
2241 (lambda _
2242 (substitute* "sedsed.py"
2243 (("sedbin = 'sed'")
2244 (string-append "sedbin = '" (which "sed") "'")))
2245 #t))
2246 (delete 'build)
2247 (replace 'install
2248 (lambda* (#:key outputs #:allow-other-keys)
2249 (let* ((out (assoc-ref outputs "out"))
2250 (bin (string-append out "/bin")))
2251 ;; Just one file to copy around
2252 (install-file "sedsed.py" bin)
2253 #t)))
2254 (add-after 'install 'symlink
2255 ;; Create 'sedsed' symlink to "sedsed.py".
2256 (lambda* (#:key outputs #:allow-other-keys)
2257 (let* ((out (assoc-ref outputs "out"))
2258 (bin (string-append out "/bin"))
2259 (sed (string-append bin "/sedsed"))
2260 (sedpy (string-append bin "/sedsed.py")))
2261 (symlink sedpy sed)
2262 #t))))))
2263 (home-page "http://aurelio.net/projects/sedsed")
2264 (synopsis "Sed sed scripts")
2265 (description
2266 "@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script.
2267
2268In debug mode it reads your script and add extra commands to it. When
2269executed you can see the data flow between the commands, revealing all the
2270magic sed does on its internal buffers.
2271
2272In indent mode your script is reformatted with standard spacing.
2273
2274In tokenize mode you can see the elements of every command you use.
2275
2276In HTMLize mode your script is converted to a beautiful colored HTML file,
2277with all the commands and parameters identified for your viewing pleasure.
2278
2279With sedsed you can master any sed script. No more secrets, no more hidden
2280buffers.")
2281 (license license:expat)))
d10fa5c7
RW
2282
2283(define-public intel-gpu-tools
2284 (package
2285 (name "intel-gpu-tools")
fdae9718 2286 (version "1.22")
d10fa5c7
RW
2287 (source (origin
2288 (method url-fetch)
2289 (uri (string-append "https://cgit.freedesktop.org/xorg/app/"
2290 "intel-gpu-tools/snapshot/"
2291 "intel-gpu-tools-" version ".tar.gz"))
2292 (sha256
2293 (base32
fdae9718 2294 "1jx5w5fr6jp67rcrlp5v79cn8kp9n0wgd5pbfgzamlah5cx6j3yd"))))
d10fa5c7
RW
2295 (build-system gnu-build-system)
2296 (arguments
2297 `(#:tests? #f ; many of the tests try to load kernel modules
2298 #:phases
2299 (modify-phases %standard-phases
2300 (add-after 'unpack 'autogen
2301 (lambda _
8e7e6170 2302 ;; Don't run configure in this phase.
d10fa5c7 2303 (setenv "NOCONFIGURE" "1")
8e7e6170 2304 (invoke "sh" "autogen.sh"))))))
d10fa5c7 2305 (inputs
fdae9718
TGR
2306 `(("eudev" ,eudev)
2307 ("util-macros" ,util-macros)
d10fa5c7
RW
2308 ("libdrm" ,libdrm)
2309 ("libpciaccess" ,libpciaccess)
2310 ("kmod" ,kmod)
2311 ("procps" ,procps)
2312 ("cairo" ,cairo)
2313 ("libunwind" ,libunwind)
2314 ("libxrandr" ,libxrandr)
2315 ("glib" ,glib)))
2316 (native-inputs
2317 `(("autoconf" ,autoconf)
2318 ("automake" ,automake)
2319 ("libtool" ,libtool)
2320 ("pkg-config" ,pkg-config)))
2321 (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
2322 (synopsis "Tools for development and testing of the Intel DRM driver")
2323 (description "Intel GPU Tools is a collection of tools for development and
2324testing of the Intel DRM driver. There are many macro-level test suites that
2325get used against the driver, including xtest, rendercheck, piglit, and
2326oglconform, but failures from those can be difficult to track down to kernel
2327changes, and many require complicated build procedures or specific testing
2328environments to get useful results. Therefore, Intel GPU Tools includes
2329low-level tools and tests specifically for development and testing of the
2330Intel DRM Driver.")
9f375a4c 2331 (supported-systems '("i686-linux" "x86_64-linux"))
d10fa5c7 2332 (license license:expat)))
c1aba1a7 2333
b611f9c2
BS
2334(define-public fabric
2335 (package
2336 (name "fabric")
f58be417 2337 (version "1.13.2")
b611f9c2
BS
2338 (source
2339 (origin
2340 (method url-fetch)
2341 (uri (pypi-uri "Fabric" version))
2342 (sha256
2343 (base32
f58be417 2344 "0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq"))))
b611f9c2
BS
2345 (build-system python-build-system)
2346 (arguments
f58be417 2347 `(#:python ,python-2)) ; Python 2 only
1b5b24c9 2348 (native-inputs
f58be417
TGR
2349 `(("python2-fudge" ,python2-fudge)
2350 ("python2-jinja2" ,python2-jinja2)
2351 ("python2-nose" ,python2-nose)))
b611f9c2 2352 (propagated-inputs
b611f9c2
BS
2353 `(("python2-paramiko" ,python2-paramiko)))
2354 (home-page "http://fabfile.org")
2355 (synopsis "Simple Pythonic remote execution and deployment tool")
2356 (description
2357 "Fabric is designed to upload files and run shell commands on a number of
2358servers in parallel or serially. These commands are grouped in tasks (which
2359are regular Python functions) and specified in a @dfn{fabfile}.
2360
2361It is similar to Capistrano, except it's implemented in Python and doesn't
2362expect you to be deploying Rails applications. Fabric is a simple, Pythonic
2363tool for remote execution and deployment.")
2364 (license license:bsd-2)))
6e75ea48
EJ
2365
2366(define-public neofetch
2367 (package
2368 (name "neofetch")
08baa9ac 2369 (version "3.4.0")
6e75ea48
EJ
2370 (source (origin
2371 (method url-fetch)
2372 (uri (string-append "https://github.com/dylanaraps/neofetch/"
2373 "archive/" version ".tar.gz"))
2374 (file-name (string-append name "-" version ".tar.gz"))
2375 (sha256
2376 (base32
08baa9ac 2377 "18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
6e75ea48
EJ
2378 (build-system gnu-build-system)
2379 (arguments
378140e5 2380 `(#:tests? #f ; there are no tests
6e75ea48
EJ
2381 #:make-flags
2382 (list (string-append "PREFIX=" %output))
2383 #:phases
2384 (modify-phases %standard-phases
2385 (add-after 'unpack 'patch-target-directories
2386 (lambda* (#:key outputs #:allow-other-keys)
2387 (let ((out (assoc-ref outputs "out")))
2388 (substitute* "Makefile"
2389 (("\\$\\(DESTDIR\\)/etc/")
2390 "$(PREFIX)/etc/"))
2391 (substitute* "neofetch"
2392 (("\"/etc/neofetch")
2393 (string-append "\"" out "/etc/neofetch"))
2394 (("\"/usr/share/neofetch")
af79852c 2395 (string-append "\"" out "/share/neofetch"))))
6e75ea48 2396 #t))
378140e5
TGR
2397 (delete 'configure) ; no configure script
2398 (replace 'install
2399 (lambda* (#:key make-flags outputs #:allow-other-keys)
2400 (let* ((out (assoc-ref outputs "out"))
2401 (doc (string-append out "/share/doc/" ,name "-" ,version))
2402 (etc (string-append doc "/examples/etc")))
2403 (zero? (apply system* `("make" ,@make-flags
2404 ,(string-append "SYSCONFDIR=" etc)
2405 "install")))))))))
6e75ea48
EJ
2406 (home-page "https://github.com/dylanaraps/neofetch")
2407 (synopsis "System info script")
2408 (description "Neofetch is a CLI system information tool written in Bash.
2409Neofetch displays information about your system next to an image, your OS
2410logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
2411used in screenshots to show other users what operating system or distribution
2412you are running, what theme or icon set you are using, etc.")
2413 (license license:expat)))
a76ca052
EJ
2414
2415(define-public nnn
2416 (package
2417 (name "nnn")
913027f3 2418 (version "1.5")
a76ca052
EJ
2419 (source (origin
2420 (method url-fetch)
2421 (uri (string-append "https://github.com/jarun/nnn/"
2422 "archive/v" version ".tar.gz"))
2423 (file-name (string-append name "-" version ".tar.gz"))
2424 (sha256
2425 (base32
913027f3 2426 "0zswf8lb29zr1z642i1d0zi1y2mxal8qjqdrpdiqjh197jamj3zm"))))
a76ca052
EJ
2427 (build-system gnu-build-system)
2428 (inputs `(("ncurses" ,ncurses)
2429 ("readline" ,readline)))
2430 (arguments
2431 '(#:tests? #f ; no tests
2432 #:phases
2433 ;; We do not provide `ncurses.h' within an `ncursesw'
2434 ;; sub-directory, so patch the source accordingly. See
2435 ;; <http://bugs.gnu.org/19018>.
2436 ;; Thanks to gtypist maintainer.
2437 (modify-phases %standard-phases
2438 (add-after 'unpack 'patch-curses-lib
2439 (lambda* (#:key outputs #:allow-other-keys)
2440 (let ((out (assoc-ref outputs "out")))
2441 (substitute* "Makefile"
2442 (("-lncursesw")
2443 "-lncurses"))
2444 (substitute* "nnn.c"
2445 (("ncursesw\\/curses.h")
2446 "ncurses.h")))
2447 #t))
2448 (delete 'configure))
2449 #:make-flags
2450 (list
2451 (string-append "PREFIX="
2452 (assoc-ref %outputs "out"))
2453 (string-append "-Wl,-rpath="
2454 %output "/lib")
2455 "CC=gcc")))
2456 (home-page "https://github.com/jarun/nnn")
2457 (synopsis "Terminal file browser")
2458 (description "@command{nnn} is a fork of @command{noice}, a blazing-fast
2459lightweight terminal file browser with easy keyboard shortcuts for
2460navigation, opening files and running tasks. There is no config file and
2461mime associations are hard-coded. The incredible user-friendliness and speed
2462make it a perfect utility on modern distros.")
2463 (license license:bsd-2)))
58989684
CAW
2464
2465(define-public thermald
2466 (package
2467 (name "thermald")
4f3506a4 2468 (version "1.7.1")
58989684
CAW
2469 (source
2470 (origin
2471 (method url-fetch)
2472 (uri (string-append "https://github.com/01org/thermal_daemon/archive/v"
2473 version ".tar.gz"))
1b6d3b7a 2474 (file-name (string-append name "-" version ".tar.gz"))
58989684 2475 (sha256 (base32
4f3506a4 2476 "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4"))))
58989684
CAW
2477 (build-system gnu-build-system)
2478 (arguments
2479 `(#:phases (modify-phases %standard-phases
2480 (add-after
2481 'unpack 'autogen.sh-and-fix-paths
2482 (lambda* (#:key outputs #:allow-other-keys)
2483 (let ((out (assoc-ref outputs "out")))
4f3506a4 2484 ;; XXX this can probably be removed after version 1.7.1.
58989684
CAW
2485 ;; upstartconfir is hardcoded to /etc/init and the build
2486 ;; system tries to mkdir that. We don't even need upstart
2487 ;; files at all; this is a fast and kludgy workaround
2488 (substitute* "data/Makefile.am"
2489 (("upstartconfdir = /etc/init")
2490 (string-append "upstartconfdir = "
2491 out "/etc/init")))
2492 ;; Now run autogen
4f3506a4
TGR
2493 (invoke "sh" "autogen.sh")
2494 #t))))
58989684
CAW
2495 #:configure-flags
2496 (let ((out (assoc-ref %outputs "out")))
2497 (list (string-append "--sysconfdir="
2498 out "/etc")
2499 (string-append "--with-udev-dir="
2500 out "/lib/udev")
2501 (string-append "--with-dbus-sys-dir="
2502 out "/etc/dbus-1/system.d")
2503 "--localstatedir=/var"))))
2504 (native-inputs
2505 `(("autoconf" ,autoconf)
2506 ("automake" ,automake)
2507 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2508 ("pkg-config" ,pkg-config)))
2509 (inputs
2510 `(("dbus-glib" ,dbus-glib)
2511 ("libxml2" ,libxml2)))
2512 (home-page "https://01.org/linux-thermal-daemon/")
2513 (synopsis "CPU scaling for thermal management")
2514 (description "The Linux Thermal Daemon helps monitor and control temperature
2515on systems running the Linux kernel.")
86ee7625
EF
2516 ;; arm and aarch64 don't have cpuid.h
2517 (supported-systems '("i686-linux" "x86_64-linux"))
58989684 2518 (license license:gpl2+)))
d7c64ad5
LF
2519
2520(define-public masscan
2521 (package
2522 (name "masscan")
b4bf9516 2523 (version "1.0.5")
d7c64ad5
LF
2524 (source (origin
2525 (method url-fetch)
2526 (uri (string-append "https://github.com/robertdavidgraham/masscan"
2527 "/archive/" version ".tar.gz"))
7fc94427 2528 (file-name (string-append name "-" version ".tar.gz"))
d7c64ad5
LF
2529 (sha256
2530 (base32
b4bf9516 2531 "0wxddsgyx27z45906icdhdbfsvfj8ij805208qpqjx46i0lnjs50"))))
d7c64ad5
LF
2532 (build-system gnu-build-system)
2533 (inputs
2534 `(("libpcap" ,libpcap)))
2535 (arguments
2536 '(#:test-target "regress"
b4bf9516
TGR
2537 #:make-flags
2538 (list "CC=gcc"
2539 (string-append "PREFIX=" (assoc-ref %outputs "out")))
d7c64ad5
LF
2540 #:phases
2541 (modify-phases %standard-phases
b4bf9516 2542 (delete 'configure) ; no ./configure script
d7c64ad5
LF
2543 (add-after 'unpack 'patch-path
2544 (lambda* (#:key outputs inputs #:allow-other-keys)
2545 (let* ((out (assoc-ref outputs "out"))
2546 (pcap (assoc-ref inputs "libpcap")))
2547 (substitute* "src/rawsock-pcap.c"
2548 (("libpcap.so") (string-append pcap "/lib/libpcap.so")))
2549 #t))))))
2550 (synopsis "TCP port scanner")
2551 (description "MASSCAN is an asynchronous TCP port scanner. It can detect
2552open ports, and also complete the TCP connection and interact with the remote
2553application, collecting the information received.")
2554 (home-page "https://github.com/robertdavidgraham/masscan")
b4bf9516
TGR
2555 ;; 'src/siphash24.c' is the SipHash reference implementation, which
2556 ;; bears a CC0 Public Domain Dedication.
d7c64ad5 2557 (license license:agpl3+)))
82d57f12
TGR
2558
2559(define-public hungrycat
2560 (package
2561 (name "hungrycat")
2562 (version "0.4.1")
2563 (source (origin
2564 (method url-fetch)
2565 (uri (string-append "https://github.com/jwilk/hungrycat/"
2566 "releases/download/" version "/"
2567 name "-" version ".tar.gz"))
2568 (sha256
2569 (base32
2570 "03fc1zsrf99lvxa7b4ps6pbi43304wbxh1f6ci4q0vkal370yfwh"))))
2571 (build-system gnu-build-system)
2572 (native-inputs
2573 ;; For tests.
2574 `(("python" ,python-wrapper)
2575 ("python-nose" ,python-nose)))
2576 (arguments
2577 `(#:test-target "test"))
2578 (synopsis "A single tool that combines @command{cat} & @command{rm}")
2579 (description
2580 "hungrycat prints the contents of a file to standard output, while
2581simultaneously freeing the disk space it occupied. It is useful if you need
2582to process a large file, don't have enough space to store both the input and
2583output files, and don't need the input file afterwards.
2584While similar in principle to running @command{cat} immediately followed by
2585@command{rm}, @command{hungrycat} actually frees blocks as soon as they are
2586printed instead of after the entire file has been read, which is often too
2587late.")
2588 (home-page "https://jwilk.net/software/hungrycat")
2589 (license license:expat)))
3ebf2c29
PAR
2590
2591(define-public launchmon
2592 (package
2593 (name "launchmon")
2594 (version "1.0.2")
2595 (source (origin
2596 (method url-fetch)
2597 (uri (string-append
2598 "https://github.com/LLNL/LaunchMON/releases/download/v"
2599 version "/" name "-v" version ".tar.gz"))
2600 (sha256
2601 (base32
2602 "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
2603 (build-system gnu-build-system)
2604 (inputs
2605 `(("mpi" ,openmpi)
2606 ("munge" ,munge)
2607 ("boost" ,boost)
2608 ("libelf" ,libelf)
2609 ("libgcrypt" ,libgcrypt)
2610 ("libgpg-error" ,libgpg-error)))
2611 (synopsis "Infrastructue for large scale tool daemon launching")
2612 (description
2613 "LaunchMON is a software infrastructure that enables HPC run-time
2614tools to co-locate tool daemons with a parallel job. Its API allows a
2615tool to identify all the remote processes of a job and to scalably
2616launch daemons into the relevant nodes.")
2617 (home-page "https://github.com/LLNL/LaunchMON")
2618 (supported-systems '("i686-linux" "x86_64-linux"))
2619 (license license:lgpl2.1)))
541dac8a
PAR
2620
2621(define-public spindle
2622 (package
2623 (name "spindle")
2624 (version "0.10")
2625 (source (origin
2626 ;; We use git checkout to avoid github auto-generated tarballs
2627 (method git-fetch)
2628 (uri (git-reference
2629 (url "https://github.com/hpc/Spindle.git")
2630 (commit (string-append "v" version))))
2631 (file-name (git-file-name name version))
2632 (sha256
2633 (base32
2634 "15n3ay0qq81r5v7fif61q1vdjcq44pp2nynkh3fvbzc9fj3c39wd"))))
2635 (build-system gnu-build-system)
2636 (arguments '(#:configure-flags '("--enable-sec-launchmon"
2637 "--enable-sec-munge"
2638 "--enable-sec-none")))
2639 (inputs
2640 `(("mpi" ,openmpi)
2641 ("munge" ,munge)
2642 ("launchmon" ,launchmon)
2643 ("libgcrypt" ,libgcrypt)))
2644 (synopsis "Scalable library loading in HPC environments")
2645 (description
2646 "Spindle is a tool for improving the performance of dynamic library and
2647Python loading in HPC environments.")
2648 (home-page "https://github.com/hpc/Spindle")
785f40df
EF
2649 ;; This package supports x86_64 and PowerPC64
2650 (supported-systems '("x86_64-linux"))
541dac8a 2651 (license license:lgpl2.1)))