aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/admin.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r--gnu/packages/admin.scm259
1 files changed, 194 insertions, 65 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c4723c5a9d..6fbceb4421 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -27,6 +27,8 @@
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,13 +62,16 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
#:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages guile)
@@ -87,6 +92,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages openldap)
#:use-module (gnu packages mcrypt)
+ #:use-module (gnu packages patchutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
@@ -620,6 +626,64 @@ and exploration tool, since it can create almost any kind of connection you
would need and has several interesting built-in capabilities.")
(license license:gpl2+)))
+(define-public netcat-openbsd
+ (package
+ (name "netcat-openbsd")
+ (version "1.203-2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/netcat-openbsd.git")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0j85gzbjzs6yrhgabh3zkwzd27qkr5s0zjjczl0hah8q7yhrjk3m"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
+ "LDFLAGS=-lbsd")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch
+ (lambda _
+ (setenv "QUILT_PATCHES" "debian/patches")
+ (invoke "quilt" "push" "-a")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man1"))
+ (doc (string-append out "/share/doc/netcat-openbsd-" ,version))
+ (examples (string-append doc "/examples")))
+ (install-file "nc" bin)
+ (install-file "nc.1" man)
+ (install-file "debian/copyright" doc)
+ (copy-recursively "debian/examples" examples)
+ #t))))))
+ (inputs `(("libbsd" ,libbsd)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("quilt" ,quilt)))
+ (home-page "https://packages.debian.org/sid/netcat-openbsd")
+ (synopsis "Read and write data over TCP/IP")
+ (description
+ "Netcat is a simple Unix utility which reads and writes data across
+network connections using TCP or UDP protocol. It is designed to be a reliable
+\"back-end\" tool that can be used directly or easily driven by other programs
+and scripts. At the same time it is a feature-rich network debugging and
+exploration tool, since it can create almost any kind of connection you would
+need and has several interesting built-in capabilities.
+
+This package contains the OpenBSD rewrite of netcat, including support for
+IPv6, proxies, and Unix sockets.")
+ (license (list license:bsd-3
+ license:bsd-2)))) ; atomicio.*, socks.c
+
(define-public sipcalc
(package
(name "sipcalc")
@@ -689,7 +753,7 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
- (bind-patch-version "11")
+ (bind-patch-version "13")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
@@ -830,7 +894,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1"))))
+ "0z8g81xinqx8j3y2fclxa31dq7zsi9cj9srmvd9agnpwzk4kqgzx"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@@ -1378,14 +1442,14 @@ command.")
(define-public hostapd
(package
(name "hostapd")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://w1.fi/releases/hostapd-" version
".tar.gz"))
(sha256
(base32
- "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
+ "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1511,7 +1575,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
- (version "20190816")
+ (version "20191018")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1519,7 +1583,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
- "0lipy3jwl498lvgwzj6xcvmg61myl7hhilpallh1cf3ppgrq13l8"))))
+ "0k6xr9v46pnw8kl7jh23zfafs2vq3gk2sgkmjdf9a8jx8n3aifgd"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@@ -2453,7 +2517,7 @@ produce uniform output across heterogeneous networks.")
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.9")
+ (version "1.6.10")
(source
(origin
(method git-fetch)
@@ -2461,7 +2525,7 @@ produce uniform output across heterogeneous networks.")
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
- (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
+ (base32 "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -2565,11 +2629,7 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-(define-public sunxi-tools
- (package
- (name "sunxi-tools")
- (version "1.4.2")
- (source
+(define (sunxi-tools-source version)
(origin
(method git-fetch)
(uri (git-reference
@@ -2584,14 +2644,49 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (git-file-name name version))))
+ (file-name (git-file-name "sunxi-tools" version))))
+
+(define sunxi-target-tools
+ (package
+ (name "sunxi-target-tools")
+ (version "1.4.2")
+ (build-system gnu-build-system)
+ (source
+ (sunxi-tools-source version))
+ (arguments
+ `(#:system "armhf-linux"
+ #:tests? #f
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CROSS_COMPILE=")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "target-tools" make-flags)))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install-target-tools"
+ make-flags))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.2")
+ (source
+ (sunxi-tools-source version))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
- #:xbinutils (cross-binutils "arm-linux-gnueabihf")
- #:libc (cross-libc "arm-linux-gnueabihf")))
- ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
- ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
+ `(("sunxi-target-tools" ,sunxi-target-tools)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
@@ -2599,50 +2694,22 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
`(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- (string-append "CROSS_COMPILE="
- "arm-linux-gnueabihf-")
+ (string-append "CROSS_COMPILE=disabled")
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'set-environment-up
- (lambda* (#:key make-flags #:allow-other-keys)
- (define (cross? x)
- (string-contains x "cross-arm-linux"))
- (define (filter-environment! filter-predicate
- environment-variable-names)
- (for-each
- (lambda (env-name)
- (when (getenv env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter filter-predicate
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value))))
- environment-variable-names))
- (setenv "CROSS_CPATH" (getenv "CPATH"))
- (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
- (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (filter-environment! cross?
- '("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
- "CROSS_LIBRARY_PATH"))
- (filter-environment! (lambda (e) (not (cross? e)))
- '("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
- "LIBRARY_PATH"))
- #t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "tools" "misc" make-flags)))
- (add-after 'build 'build-armhf
- (lambda* (#:key make-flags #:allow-other-keys)
- (setenv "LIBRARY_PATH" #f)
- (apply invoke "make" "target-tools" make-flags)))
(replace 'install
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "install-all" "install-misc"
+ (lambda* (#:key inputs outputs make-flags #:allow-other-keys)
+ ;; Those tools have been built for armhf but are part of the
+ ;; installation in the upstream package. So do the same
+ ;; here.
+ (copy-recursively (assoc-ref inputs "sunxi-target-tools")
+ (assoc-ref outputs "out"))
+ (apply invoke "make" "install-tools" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
@@ -2915,14 +2982,14 @@ everyone's screenshots nowadays.")
(define-public nnn
(package
(name "nnn")
- (version "2.6")
+ (version "2.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "0xb6crd9vig3xgjwl8m4bmgcs4azfmfdpx3g8pdpzs28jdg7i3rr"))))
+ (base32 "1wvh11iw7s3r8c985s99fqm2l7cn7dkbx7ah3xpk34jvry7j3vg5"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -2951,7 +3018,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "1.8")
+ (version "1.9")
(source
(origin
(method git-fetch)
@@ -2960,9 +3027,7 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92"))
- (patches
- (search-patches "thermald-make-int-max32-visible.patch"))))
+ (base32 "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3238,7 +3303,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public pscircle
(package
(name "pscircle")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
@@ -3247,8 +3312,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx"))))
+ (base32 "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -3452,3 +3516,68 @@ IGMP and Raw, across a wide variety of interface types, and understands BPF
filter logic in the same fashion as more common packet sniffing tools, such as
tcpdump and snoop.")
(license license:bsd-3)))
+
+(define-public pam-mount
+ (package
+ (name "pam-mount")
+ (version "2.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
+ version "/pam_mount-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"))
+ (patches
+ ;; Patch adding support for encrypted volumes in LUKS2 format.
+ ;; It comes from the Gentoo package definition for sys-auth/pam_mount.
+ (search-patches "pam-mount-luks2-support.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cryptsetup" ,cryptsetup)
+ ("libhx" ,libhx)
+ ("libxml2" ,libxml2)
+ ("linux-pam" ,linux-pam)
+ ("lvm2" ,lvm2)
+ ("openssl" ,openssl)
+ ("pcre" ,pcre)
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-slibdir=" %output "/lib")
+ (string-append "--with-ssbindir=" %output "/sbin"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-program-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((util-linux (assoc-ref inputs "util-linux"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "src/mtcrypt.c"
+ (("\"mount\";")
+ (string-append "\"" util-linux "/bin/mount\";"))
+ (("\"umount\";")
+ (string-append "\"" util-linux "/bin/umount\";"))
+ (("\"fsck\",")
+ (string-append "\"" util-linux "/sbin/fsck\",")))
+ (substitute* "src/rdconf1.c"
+ (("\"mount\", \"")
+ (string-append "\"" util-linux "/bin/mount\", \""))
+ (("\"umount\", \"")
+ (string-append "\"" util-linux "/bin/umount\", \""))
+ (("\"fsck\", \"")
+ (string-append "\"" util-linux "/sbin/fsck\", \""))
+ (("\"pmvarrun\", \"")
+ (string-append "\"" out "/sbin/pmvarrun\", \""))))
+ #t)))))
+ (home-page "http://pam-mount.sourceforge.net")
+ (synopsis "PAM module to mount volumes for a user session")
+ (description
+ "Pam-mount is a PAM module that can mount volumes when a user logs in.
+It supports mounting local filesystems of any kind the normal mount utility
+supports. It can also mount encrypted LUKS volumes using the password
+supplied by the user when logging in.")
+ (license (list license:gpl2+ license:lgpl2.1+))))