X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/e08902d3cbb307e1523485becbbdaf9aed56ac4a..f96aa12339c8437dd5d45fdb394c315f858bf9e1:/gnu/packages/admin.scm diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 8c550a79af..2f661f5e81 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier @@ -13,20 +13,25 @@ ;;; Copyright © 2016 Peter Feigl ;;; Copyright © 2016 John J. Foerch ;;; Copyright © 2016, 2017 ng0 -;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2016 John Darrington ;;; Copyright © 2017 Ben Sturmfels ;;; Copyright © 2017 Ethan R. Jones ;;; Copyright © 2017 Christopher Allan Webber -;;; Copyright © 2017, 2018 Marius Bakke -;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2017, 2018, 2020 Marius Bakke +;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Pierre Neidhardt -;;; Copyright © 2019 Brett Gilio -;;; Copyright © 2019 Björn Höfling -;;; Copyright © 2019 Jakob L. Kreuze +;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2019,2020 Björn Höfling +;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,11 +49,6 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages admin) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) @@ -56,37 +56,58 @@ #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) + #:use-module (gnu packages c) #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #: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 elf) #:use-module (gnu packages file) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages readline) - #:use-module (gnu packages linux) - #:use-module (gnu packages lua) - #:use-module (gnu packages guile) + #:use-module (gnu packages flex) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) + #:use-module (gnu packages groff) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) + #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) + #:use-module (gnu packages kerberos) + #:use-module (gnu packages libbsd) + #:use-module (gnu packages libftdi) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages man) + #:use-module (gnu packages mcrypt) + #:use-module (gnu packages mpi) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages openldap) + #:use-module (gnu packages patchutils) + #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) - #:use-module (gnu packages tcl) - #:use-module (gnu packages compression) - #:use-module (gnu packages cross-base) - #:use-module (gnu packages tls) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages bison) - #:use-module (gnu packages flex) - #:use-module (gnu packages gl) - #:use-module (gnu packages glib) - #:use-module (gnu packages openldap) - #:use-module (gnu packages mcrypt) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) @@ -94,28 +115,17 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages sphinx) + #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) - #:use-module (gnu packages groff) - #:use-module (gnu packages pciutils) - #:use-module (gnu packages libunwind) - #:use-module (gnu packages libusb) - #:use-module (gnu packages libftdi) - #:use-module (gnu packages image) - #:use-module (gnu packages xorg) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages man) - #:use-module (gnu packages autotools) - #:use-module (gnu packages gnome) - #:use-module (gnu packages kerberos) - #:use-module (gnu packages gtk) #:use-module (gnu packages xml) - #:use-module (gnu packages boost) - #:use-module (gnu packages elf) - #:use-module (gnu packages mpi) - #:use-module (gnu packages version-control) - #:use-module (gnu packages web)) + #:use-module (gnu packages xorg)) (define-public aide (package @@ -188,14 +198,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.6.1") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk")))) + "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) @@ -203,10 +213,10 @@ and provides a \"top-like\" mode (monitoring).") `(("pkg-config" ,pkg-config) ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-2.2))) + ("guile" ,guile-2.2.7))) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("guile" ,guile-2.2) + `(("guile" ,guile-2.2.7) ;for ;; The 'shepherd' command uses Readline when used interactively. It's ;; an unusual use case though, so we don't propagate it. @@ -220,6 +230,16 @@ interface and is based on GNU Guile.") (license license:gpl3+) (home-page "https://www.gnu.org/software/shepherd/"))) +(define-public guile3.0-shepherd + (package + (inherit shepherd) + (name "guile3.0-shepherd") + (native-inputs + `(("pkg-config" ,pkg-config) + ("guile" ,guile-next))) + (inputs + `(("guile" ,guile-next))))) + (define-public cloud-utils (package (name "cloud-utils") @@ -397,7 +417,7 @@ application (for console or X terminals) and requires ncurses.") (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\""))) #t)))))) - (home-page "https://www.gnu.org/software/pies/") + (home-page "https://www.gnu.org.ua/software/pies/") (synopsis "Program invocation and execution supervisor") (description "GNU pies is a program that supervises the invocation and execution of @@ -443,7 +463,7 @@ hostname.") (define-public shadow (package (name "shadow") - (version "4.7") + (version "4.8.1") (source (origin (method url-fetch) (uri (string-append @@ -451,7 +471,7 @@ hostname.") "download/" version "/shadow-" version ".tar.xz")) (sha256 (base32 - "0v71474rx38lg9kidrm4xbk35sg3icv3s5pk2b42icp3lyj9dqg5")))) + "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3")))) (build-system gnu-build-system) (arguments `(;; Assume System V `setpgrp (void)', which is the default on GNU @@ -620,6 +640,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.206-1") + (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 + "08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z")))) + (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") @@ -633,7 +711,7 @@ would need and has several interesting built-in capabilities.") (base32 "0mv3wndj4z2bsshh2k8d5sy3j8wxzgf8mzmmkvj1k8gpcz37dm6g")))) (build-system gnu-build-system) - (home-page "http://www.routemeister.net/projects/sipcalc/") + (home-page "https://www.routemeister.net/projects/sipcalc/") (synopsis "Command-line IP subnet calculator") (description "Sipcalc is an advanced command-line IP subnet calculator. It can take @@ -689,7 +767,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "11") + (bind-patch-version "14") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -701,32 +779,22 @@ connection alive.") bind-release-version))) (package (name "isc-dhcp") - (version "4.4.1") + (version "4.4.2") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/dhcp/" version "/dhcp-" version ".tar.gz")) (sha256 (base32 - "025nfqx4zwdgv4b3rkw26ihcj312vir08jk6yi57ndmb4a4m08ia")))) + "08a5003zdxgl41b29zjkxa92h2i40zyjgxg0npvnhpkfl5jcsz0s")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f + #:configure-flags '("--with-randomdev=/dev/random") #:phases (modify-phases %standard-phases (add-after 'unpack 'replace-bundled-bind (lambda* (#:key inputs native-inputs #:allow-other-keys) - ;; XXX TODO: Remove the following invocation of 'patch' when - ;; isc-dhcp is updated. It should be needed only for 4.4.1. - (let ((patch (string-append (assoc-ref (or native-inputs inputs) - "patch") - "/bin/patch")) - (the-patch (assoc-ref (or native-inputs inputs) - "fixes-for-newer-bind.patch"))) - (format #t "applying '~a'...~%" the-patch) - (invoke patch "--force" "--no-backup-if-mismatch" - "-p1" "--input" the-patch)) - (delete-file "bind/bind.tar.gz") (copy-file (assoc-ref inputs "bind-source-tarball") "bind/bind.tar.gz") @@ -743,6 +811,17 @@ connection alive.") (("^RELEASEVER=.*") (format #f "RELEASEVER=~a\n" ,bind-release-version))) #t)) + ,@(if (%current-target-system) + '((add-before 'configure 'fix-bind-cross-compilation + (lambda _ + (substitute* "configure" + (("--host=\\$host") + "--host=$host_alias")) + ;; BIND needs a native compiler because the DHCP + ;; build system uses the built 'gen' executable. + (setenv "BUILD_CC" "gcc") + #t))) + '()) (add-after 'configure 'post-configure (lambda* (#:key outputs #:allow-other-keys) ;; Point to the right client script, which will be @@ -808,20 +887,14 @@ connection alive.") (native-inputs `(("perl" ,perl) - ("file" ,file) - - ;; XXX TODO: Remove the following patch, and also the 'patch' - ;; program, when isc-dhcp is updated. - ("fixes-for-newer-bind.patch" - ,(search-patch "isc-dhcp-4.4.1-fixes-for-newer-bind.patch")) - ("patch" ,patch))) + ("file" ,file))) (inputs `(("inetutils" ,inetutils) ("net-tools" ,net-tools) ("iproute" ,iproute) - ;; XXX isc-dhcp bundles a copy of bind that has security - ;; flaws, so we use a newer version. + ;; isc-dhcp bundles a copy of BIND, which has proved vulnerable + ;; in the past. Use a BIND-VERSION of our choosing instead. ("bind-source-tarball" ,(origin (method url-fetch) @@ -830,7 +903,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1")))) + "1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr")))) ;; When cross-compiling, we need the cross Coreutils and sed. ;; Otherwise just use those from %FINAL-INPUTS. @@ -1128,7 +1201,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.27") + (version "1.8.31p1") (source (origin (method url-fetch) (uri @@ -1138,7 +1211,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv")) + "1n0mdmgcs92af34xxsnsh1arrngymhdmwd9srjgjbk65q7xzsg67")) (modules '((guix build utils))) (snippet '(begin @@ -1184,6 +1257,12 @@ system administrator.") (("\\$\\(DESTDIR\\)\\$\\(vardir\\)") ;; Don't try to create /var/db/sudo. "$(TMPDIR)/dummy")) + + ;; ‘Checking existing [/etc/]sudoers file for syntax errors’ is + ;; not the task of the build system, and fails. + (substitute* "plugins/sudoers/Makefile.in" + (("^pre-install:" match) + (string-append match "\ndisabled-" match))) #t))) ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but @@ -1372,14 +1451,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 @@ -1505,7 +1584,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20190816") + (version "20200326") (source (origin (method url-fetch) (uri (string-append @@ -1513,7 +1592,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "0lipy3jwl498lvgwzj6xcvmg61myl7hhilpallh1cf3ppgrq13l8")))) + "0y08l6djjn87jmsp5kj0myjdb48000g20xlfs0a22jzzi383h3by")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -1539,14 +1618,13 @@ development, not the kernel implementation of ACPI.") (define-public s-tui (package (name "s-tui") - (version "0.8.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "s-tui" version)) (sha256 - (base32 - "00lsh2v4i8rwfyjyxx5lijd6rnk9smcfffhzg5sv94ijpcnh216m")))) + (base32 "0r5yhlsi5xiy7ii1w4kqkaxz9069v5bbfwi3x3xnxhk51yjfgr8n")))) (build-system python-build-system) (inputs `(("python-psutil" ,python-psutil) @@ -1593,6 +1671,7 @@ system is under heavy load.") (uri (git-reference (url "https://github.com/dharple/detox.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr")))) @@ -1708,7 +1787,7 @@ environment variable is set and output is to tty.") (string-append "SHELL=" bash "/bin/sh"))) #t)))))) - (home-page "https://www.gnu.org/software/direvent/") + (home-page "https://www.gnu.org.ua/software/direvent/") (synopsis "Daemon to monitor directories for events such as file removal") (description "A daemon that monitors directories for events, such as creating, @@ -1751,7 +1830,7 @@ various ways that may be running with too much privilege.") (define-public smartmontools (package (name "smartmontools") - (version "7.0") + (version "7.1") (source (origin (method url-fetch) (uri (string-append @@ -1759,7 +1838,7 @@ various ways that may be running with too much privilege.") version "/smartmontools-" version ".tar.gz")) (sha256 (base32 - "077nx2rn9szrg6isdh0938zbp7vr3dsyxl4jdyyzv1xwhqksrqg5")))) + "0imqb7ka4ia5573w8rnpck571pjjc9698pdjcapy9cfyk4n4swrz")))) (build-system gnu-build-system) (inputs `(("libcap-ng" ,libcap-ng))) (home-page "https://www.smartmontools.org/") @@ -1839,13 +1918,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.8.1") + (version "2.9.6") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1")))) + (base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) @@ -1880,21 +1959,16 @@ import re sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) "))) #t)) - (add-after 'wrap 'fix-symlinks + (add-after 'install 'replace-symlinks (lambda* (#:key outputs #:allow-other-keys) + ;; Replace symlinks with duplicate copies of the ansible + ;; executable. (let ((out (assoc-ref outputs "out"))) (for-each (lambda (subprogram) - ;; The symlinks point to the ansible wrapper script. Make - ;; them point to the real executable (.ansible-real). - (delete-file (string-append out "/bin/.ansible-" subprogram "-real")) - (symlink (string-append out "/bin/.ansible-real") - (string-append out "/bin/.ansible-" subprogram "-real")) - ;; The wrapper scripts of the symlinks invoke the ansible - ;; wrapper script. Fix them to invoke the correct executable. - (substitute* (string-append out "/bin/ansible-" subprogram) - (("/bin/ansible") - (string-append "/bin/.ansible-" subprogram "-real")))) + (delete-file (string-append out "/bin/ansible-" subprogram)) + (copy-file (string-append out "/bin/ansible") + (string-append out "/bin/ansible-" subprogram))) (list "config" "console" "doc" "galaxy" "inventory" "playbook" "pull" "vault"))) #t))))) @@ -2169,7 +2243,7 @@ displays a table of current bandwidth usage by pairs of hosts.") (define-public munge (package (name "munge") - (version "0.5.13") + (version "0.5.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/dun/munge/releases/" @@ -2177,20 +2251,45 @@ displays a table of current bandwidth usage by pairs of hosts.") version ".tar.xz")) (sha256 (base32 - "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr")) + "0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6")) (modules '((guix build utils))) (snippet '(begin ;; Don't insist on write access to /var. (substitute* "src/etc/Makefile.in" (("\\$\\(INSTALL\\)(.*)localstatedir" _ middle) - (string-append "-$(INSTALL)" middle "localstatedir"))) + (string-append "-$(INSTALL)" middle "localstatedir")) + (("\\$\\(MKDIR_P\\) .*(local|run)statedir.*") + "")) #t)))) (inputs `(("openssl" ,openssl) ("libgcrypt" ,libgcrypt))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--localstatedir=/var"))) + (arguments + '(#:configure-flags + (list "--localstatedir=/var" + (string-append "--with-pkgconfigdir=" + (assoc-ref %outputs "out") "/lib/pkgconfig")) + #:phases + (modify-phases %standard-phases + ;; XXX Many test series fail. Some might be fixable, others do no-no + ;; things like invoking ‘sudo’. + (add-after 'unpack 'skip-failing-tests + (lambda _ + (for-each (lambda (test) + (substitute* "t/Makefile.in" + (((string-append test "\\.t ")) ""))) + (list "0100-munged-lock" + "0010-basic" + "0011-munged-cmdline" + "0012-munge-cmdline" + "0013-unmunge-cmdline" + "0101-munged-security-socket" + "0102-munged-security-keyfile" + "0103-munged-security-logfile" + "0110-munged-origin-addr")) + #t))))) (home-page "https://dun.github.io/munge/") (synopsis "Cluster computing authentication service") (description @@ -2376,7 +2475,7 @@ throughput (in the same interval).") (define-public thefuck (package (name "thefuck") - (version "3.29") + (version "3.30") (source (origin (method git-fetch) @@ -2385,7 +2484,7 @@ throughput (in the same interval).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs")) + (base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg")) (patches (search-patches "thefuck-test-environ.patch")))) (build-system python-build-system) (arguments @@ -2407,7 +2506,8 @@ throughput (in the same interval).") ("python-pyte" ,python-pyte) ("python-six" ,python-six))) (native-inputs - `(("python-mock" ,python-mock) + `(("go" ,go) + ("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/nvbn/thefuck") @@ -2420,13 +2520,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.47.1") + (version "4.47.3") (source (origin (method url-fetch) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (sha256 - (base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f")))) + (base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; obscure test failures @@ -2439,7 +2539,7 @@ a new command using the matched rule, and runs it.") (setenv "prefix" (assoc-ref outputs "out")) #t))) #:make-flags (list "--environment-overrides"))) - (home-page "https://www.gentoo.com/di/") + (home-page "https://gentoo.com/di/") (synopsis "Advanced df like disk information utility") (description "@code{di} is a disk information utility, displaying everything that your @@ -2451,7 +2551,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) @@ -2459,7 +2559,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 @@ -2563,11 +2663,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 @@ -2582,14 +2678,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) @@ -2597,48 +2728,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) - (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_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_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_LIBRARY_PATH")) - (filter-environment! (lambda (e) (not (cross? e))) - '("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") @@ -2724,15 +2829,16 @@ buffers.") (define-public igt-gpu-tools (package (name "igt-gpu-tools") - (version "1.23") - (source (origin - (method url-fetch) - (uri (string-append "https://cgit.freedesktop.org/xorg/app/" - "intel-gpu-tools/snapshot/" - "igt-gpu-tools-" version ".tar.gz")) - (sha256 - (base32 - "0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq")))) + (version "1.24") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/drm/igt-gpu-tools.git") + (commit (string-append "igt-gpu-tools-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; many of the tests try to load kernel modules @@ -2745,6 +2851,7 @@ buffers.") (invoke "sh" "autogen.sh")))))) (inputs `(("cairo" ,cairo) + ("elfutils" ,elfutils) ; libdw ("eudev" ,eudev) ("glib" ,glib) ("kmod" ,kmod) @@ -2760,7 +2867,7 @@ buffers.") ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/") + (home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools") (synopsis "Tools for development and testing of the Intel DRM driver") (description "IGT GPU Tools is a collection of tools for development and testing of the Intel DRM driver. There are many macro-level test suites that @@ -2773,20 +2880,17 @@ Intel DRM Driver.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:expat))) -(define-public intel-gpu-tools - (deprecated-package "intel-gpu-tools" igt-gpu-tools)) - (define-public fabric (package (name "fabric") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (pypi-uri "Fabric" version)) (sha256 (base32 - "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1")))) + "1a3ndlpdw6bhn8fcw1jgznl117a8pnr84az9rb5fwnrypf1ph2b6")))) (build-system python-build-system) (arguments `(#:python ,python-2 ; Python 2 only @@ -2810,7 +2914,7 @@ Intel DRM Driver.") ("python2-bcrypt" ,python2-bcrypt))) (propagated-inputs `(("python2-paramiko" ,python2-paramiko))) - (home-page "http://fabfile.org") + (home-page "https://www.fabfile.org/") (synopsis "Simple Pythonic remote execution and deployment tool") (description "Fabric is designed to upload files and run shell commands on a number of @@ -2825,15 +2929,16 @@ tool for remote execution and deployment.") (define-public neofetch (package (name "neofetch") - (version "6.1.0") + (version "7.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dylanaraps/neofetch") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "022xzn9jk18k2f4b6011d8jk5nbl84i3mw3inlz4q52p2hvk8fch")))) + "0xc0fdc7n5bhqirh83agqiy8r14l14zwca07czvj8vgnsnfybslr")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2854,7 +2959,7 @@ you are running, what theme or icon set you are using, etc.") (define-public screenfetch (package (name "screenfetch") - (version "3.9.0") + (version "3.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -2863,7 +2968,7 @@ you are running, what theme or icon set you are using, etc.") (file-name (git-file-name name version)) (sha256 (base32 - "13i7dczbqwhws08zzrdraki1zkqv0qkbgx9c1r8vmg5qr9f7hfzg")))) + "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -2910,14 +3015,14 @@ everyone's screenshots nowadays.") (define-public nnn (package (name "nnn") - (version "2.6") + (version "2.8.1") (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 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) @@ -2946,7 +3051,7 @@ make it a perfect utility on modern distros.") (define-public thermald (package (name "thermald") - (version "1.8") + (version "1.9.1") (source (origin (method git-fetch) @@ -2955,9 +3060,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 "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -3066,7 +3169,16 @@ late.") version "/launchmon-v" version ".tar.gz")) (sha256 (base32 - "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")))) + "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix build failure with GCC 7 due to a conversion error. + ;; Remove for versions > 1.0.2. + (substitute* "launchmon/src/linux/lmon_api/lmon_coloc_spawner.cxx" + ((" lmonpl = '\\\\0'") + " *lmonpl = '\\0'")) + #t)))) (build-system gnu-build-system) (inputs `(("mpi" ,openmpi) @@ -3121,7 +3233,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.0.34-1") + (version "3.0.38-1") (source (origin (method git-fetch) @@ -3130,7 +3242,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0x2s40lwsan2pk292nspjgyw00f9f5fdfmwfvl50924pxhyxn2fh")))) + (base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -3233,7 +3345,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) @@ -3242,8 +3354,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))) @@ -3260,14 +3371,14 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (define-public python-pyudev (package (name "python-pyudev") - (version "0.21.0") + (version "0.22.0") (source (origin (method url-fetch) (uri (pypi-uri "pyudev" version)) (sha256 (base32 - "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9")))) + "0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9")))) (build-system python-build-system) (arguments `(#:tests? #f ; Tests require /sys @@ -3293,7 +3404,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") ("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-sphinx" ,python-sphinx))) - (home-page "http://pyudev.readthedocs.org/") + (home-page "https://pyudev.readthedocs.io/") (synopsis "Python udev binding") (description "This package provides @code{udev} bindings for Python.") (license license:lgpl2.1))) @@ -3341,7 +3452,7 @@ Logitech Unifying Receiver.") (package (name "lynis") ;; Also update the ‘lynis-sdk’ input to the commit matching this release. - (version "2.7.4") + (version "2.7.5") (source (origin (method git-fetch) @@ -3350,7 +3461,7 @@ Logitech Unifying Receiver.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k")) + (base32 "1lkkbvxm0rgrrlx0szaxmf8ghc3d26wal96sgqk84m37mvs1f7p0")) (modules '((guix build utils))) (snippet '(begin @@ -3367,10 +3478,10 @@ Logitech Unifying Receiver.") (method git-fetch) (uri (git-reference (url "https://github.com/CISOfy/lynis-sdk") - (commit "90f301e21c204792cf372f1cf05890a562f2e31b"))) + (commit "bf1c1d95121da9ca79a9eac5a15ed8d81e34094d"))) (file-name (git-file-name "lynis-sdk" version)) (sha256 - (base32 "1d0smr1fxrvbc3hl8lzy33im9ahzr0hgs3kk09r8g8xccjkcm52l")))))) + (base32 "1ndz5v0039dqa87cva2dk55a8hkw0fibsw8hh2ddmny9qkr4l3dp")))))) (arguments `(#:phases (modify-phases %standard-phases @@ -3447,3 +3558,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+))))