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