gnu: shepherd: Update to 0.5.0.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
index 2583cc2..ded7ce3 100644 (file)
@@ -21,6 +21,7 @@
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -45,6 +46,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -139,13 +141,13 @@ usual file attributes can be checked for inconsistencies.")
 (define-public progress
   (package
     (name "progress")
-    (version "0.13.1")
+    (version "0.14")
     (source (origin
       (method url-fetch)
       (uri (string-append "https://github.com/Xfennec/"
                           name "/archive/v" version ".tar.gz"))
       (sha256
-       (base32 "199rk6608q9m6l0fbjm0xl2w1c5krf8245dqnksdp4rqp7l9ak06"))
+       (base32 "1wcanixfsi5k4i9h5vrnncgjdncalsdfqllrxibxwpgfnf20sji1"))
       (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -171,14 +173,14 @@ and provides a \"top-like\" mode (monitoring).")
 (define-public shepherd
   (package
     (name "shepherd")
-    (version "0.4.0")
+    (version "0.5.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
+                "1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
@@ -255,7 +257,7 @@ services.")
     (origin
      (method url-fetch)
       (uri (string-append
-            "http://projects.gw-computing.net/attachments/download/615/dfc-"
+            "https://projects.gw-computing.net/attachments/download/615/dfc-"
             version ".tar.gz"))
       (sha256
        (base32
@@ -263,7 +265,7 @@ services.")
    (build-system cmake-build-system)
    (arguments '(#:tests? #f)) ; There are no tests.
    (native-inputs `(("gettext" ,gettext-minimal)))
-   (home-page "http://projects.gw-computing.net/projects/dfc")
+   (home-page "https://projects.gw-computing.net/projects/dfc")
    (synopsis "Display file system space usage using graphs and colors")
    (description
     "dfc (df color) is a modern version of df.  It uses colors, draws pretty
@@ -507,7 +509,7 @@ allow automatic login and starting any app.")
      "This package provides the /etc/services, /etc/protocols, and /etc/rpc
 files, which contain information about the IANA-assigned port, protocol, and
 ONC RPC numbers.")
-    (home-page "http://packages.debian.org/sid/netbase")
+    (home-page "https://packages.debian.org/sid/netbase")
     (license license:gpl2)))
 
 (define-public netcat
@@ -609,9 +611,9 @@ connection alive.")
 (define-public isc-dhcp
   (let* ((bind-major-version "9")
          (bind-minor-version "11")
-         (bind-patch-version "3")
-         (bind-release-type "")         ; for patch release, use "-P"
-         (bind-release-version "")      ; for patch release, e.g. "6"
+         (bind-patch-version "4")
+         (bind-release-type "-P")         ; for patch release, use "-P"
+         (bind-release-version "1")      ; for patch release, e.g. "6"
          (bind-version (string-append bind-major-version
                                       "."
                                       bind-minor-version
@@ -624,7 +626,7 @@ connection alive.")
       (version "4.4.1")
       (source (origin
                 (method url-fetch)
-                (uri (string-append "http://ftp.isc.org/isc/dhcp/"
+                (uri (string-append "https://ftp.isc.org/isc/dhcp/"
                                     version "/dhcp-" version ".tar.gz"))
                 (sha256
                  (base32
@@ -723,12 +725,12 @@ connection alive.")
                 ("bind-source-tarball"
                  ,(origin
                     (method url-fetch)
-                    (uri (string-append "http://ftp.isc.org/isc/bind9/"
+                    (uri (string-append "https://ftp.isc.org/isc/bind9/"
                                         bind-version
                                         "/bind-" bind-version ".tar.gz"))
                     (sha256
                      (base32
-                      "1xbnb2b11274z9frc9y7nvkyxr52qx09bwb97gf9qzzcn8adx78d"))))
+                      "08zyy13b8ydfbg26b3y6mw299qs89ba90gymraqqjsgjicydrq5h"))))
 
                 ;; When cross-compiling, we need the cross Coreutils and sed.
                 ;; Otherwise just use those from %FINAL-INPUTS.
@@ -737,7 +739,7 @@ connection alive.")
                         ("sed" ,sed))
                       '())))
 
-      (home-page "http://www.isc.org/products/DHCP/")
+      (home-page "https://www.isc.org/products/DHCP/")
       (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
       (description
        "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
@@ -749,27 +751,30 @@ tools: server, client, and relay agent.")
 (define-public libpcap
   (package
     (name "libpcap")
-    (version "1.8.1")
+    (version "1.9.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://www.tcpdump.org/release/libpcap-"
+              (uri (string-append "https://www.tcpdump.org/release/libpcap-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7"))))
+                "06bhydl4vr4z9c3vahl76f2j96z1fbrcl7wwismgs4sris08inrf"))))
     (build-system gnu-build-system)
-    (native-inputs `(("bison" ,bison) ("flex" ,flex)))
-    (arguments '(#:configure-flags '("--with-pcap=linux")
-                 #:tests? #f))                    ; no 'check' target
-    (home-page "http://www.tcpdump.org")
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)))
+    (arguments
+     ;; There are some tests in testprogs/, but no automated test suite.
+     '(#:tests? #f))
+    (home-page "https://www.tcpdump.org")
     (synopsis "Network packet capture library")
     (description
      "libpcap is an interface for user-level packet capture.  It provides a
 portable framework for low-level network monitoring.  Applications include
 network statistics collection, security monitoring, network debugging, etc.")
-
-    ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
-    (license license:bsd-3)))
+    (license (list license:bsd-4        ; fad-*.c and several other source files
+                   license:bsd-3        ; pcap/, sockutils.* & others
+                   license:bsd-2))))    ; the rest
 
 (define-public tcpdump
   (package
@@ -777,7 +782,7 @@ network statistics collection, security monitoring, network debugging, etc.")
     (version "4.9.2")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
+              (uri (string-append "https://www.tcpdump.org/release/tcpdump-"
                                   version ".tar.gz"))
               (sha256
                (base32
@@ -786,7 +791,7 @@ network statistics collection, security monitoring, network debugging, etc.")
     (inputs `(("libpcap" ,libpcap)
               ("openssl" ,openssl)))
     (native-inputs `(("perl" ,perl)))        ; for tests
-    (home-page "http://www.tcpdump.org/")
+    (home-page "https://www.tcpdump.org/")
     (synopsis "Network packet analyzer")
     (description
      "Tcpdump is a command-line tool to analyze network traffic passing
@@ -822,41 +827,36 @@ by bandwidth they use.")
 (define-public clusterssh
   (package
     (name "clusterssh")
-    (version "3.28")
+    (version "4.13.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/clusterssh/"
-                                  "1.%20ClusterSSH%20Series%203/" version
-                                  "/clusterssh-" version ".tar.gz"))
+                                  "2.%20ClusterSSH%20Series%204/"
+                                  "App-ClusterSSH-v" version ".tar.gz"))
               (sha256
                (base32
-                "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
-    (build-system gnu-build-system)
-    (inputs `(("perl" ,perl)))
-    (propagated-inputs `(("xterm" ,xterm)
-                         ("perl-tk" ,perl-tk)
-                         ("perl-x11-protocol" ,perl-x11-protocol)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'set-load-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
-             ;; path for PROG
-             (let* ((out  (assoc-ref outputs "out"))
-                    (prog (string-append out "/bin/cssh"))
-                    (perl-ver ,(package-version perl))
-                    (x11-inc (string-append
-                              (assoc-ref inputs "perl-x11-protocol")
-                              "/lib/perl5/site_perl/" perl-ver))
-                    (tk-inc (string-append
-                             (assoc-ref inputs "perl-tk")
-                             "/lib/perl5/site_perl/" perl-ver
-                             "/x86_64-linux")))
-               (wrap-program
-                   prog
-                 `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc))))
-             #t)))))
+                "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-cpan-changes" ,perl-cpan-changes)
+       ("perl-file-slurp" ,perl-file-slurp)
+       ("perl-file-which" ,perl-file-which)
+       ("perl-module-build" ,perl-module-build)
+       ("perl-readonly" ,perl-readonly)
+       ("perl-test-differences" ,perl-test-differences)
+       ("perl-test-distmanifest" ,perl-test-distmanifest)
+       ("perl-test-perltidy" ,perl-test-perltidy)
+       ("perl-test-pod" ,perl-test-pod)
+       ("perl-test-pod-coverage" ,perl-test-pod-coverage)
+       ("perl-test-trap" ,perl-test-trap)
+       ("perltidy" ,perltidy)))
+    (propagated-inputs
+     `(("xterm" ,xterm)
+       ("perl-exception-class" ,perl-exception-class)
+       ("perl-tk" ,perl-tk)
+       ("perl-try-tiny" ,perl-try-tiny)
+       ("perl-x11-protocol" ,perl-x11-protocol)
+       ("perl-x11-protocol-other" ,perl-x11-protocol-other)))
     ;; The clusterssh.sourceforge.net address requires login to view
     (home-page "https://sourceforge.net/projects/clusterssh/")
     (synopsis "Secure concurrent multi-server terminal control")
@@ -869,7 +869,7 @@ over ssh connections.")
 (define-public rename
   (package
     (name "rename")
-    (version "0.20")
+    (version "1.00")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -877,8 +877,24 @@ over ssh connections.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"))))
+                "03yhf8nmqsb0zyliv501fdvwlp589jqfn44yqkrflmpzrbik3zxl"))))
     (build-system perl-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'find-itself
+           ;; Fix run-time 'Can't locate File/Rename.pm in @INC' failure.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (with-directory-excursion bin
+                 (for-each
+                  (lambda (program)
+                    (wrap-program program
+                      `("PERL5LIB" ":" prefix
+                        (,(string-append out "/lib/perl5/site_perl")))))
+                  (find-files "." ".*")))
+               #t))))))
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-pod" ,perl-test-pod)
@@ -963,7 +979,7 @@ system administrator.")
 (define-public sudo
   (package
     (name "sudo")
-    (version "1.8.23")
+    (version "1.8.25p1")
     (source (origin
               (method url-fetch)
               (uri
@@ -973,7 +989,7 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "0yg62wq8rcrbr7qvh3wgfg2g4bwanbi50cr2lf2cfyy8dydx4qyq"))
+                "0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -983,7 +999,7 @@ system administrator.")
     (arguments
      `(#:configure-flags
        (list "--with-logpath=/var/log/sudo.log"
-             "--with-rundir=/var/run/sudo"    ;must be cleaned up at boot time
+             "--with-rundir=/var/run/sudo" must be cleaned up at boot time
              "--with-vardir=/var/db/sudo"
              "--with-iologdir=/var/log/sudo-io"
 
@@ -1047,10 +1063,11 @@ commands and their arguments.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://w1.fi/releases/wpa_supplicant-"
+                    "https://w1.fi/releases/wpa_supplicant-"
                     version
                     ".tar.gz"))
               (patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
+                                       "wpa-supplicant-CVE-2018-14526.patch"
                                        "wpa-supplicant-fix-key-reuse.patch"
                                        "wpa-supplicant-fix-zeroed-keys.patch"
                                        "wpa-supplicant-fix-nonce-reuse.patch"
@@ -1108,7 +1125,7 @@ commands and their arguments.")
        ("libgcrypt" ,libgcrypt)))                 ;needed by crypto_gnutls.c
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://w1.fi/wpa_supplicant/")
+    (home-page "https://w1.fi/wpa_supplicant/")
     (synopsis "Connecting to WPA and WPA2-protected wireless networks")
     (description
      "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
@@ -1225,7 +1242,7 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
                          (string-append "--mandir=" out
                                         "/share/man")))))))
        #:tests? #f))
-    (home-page "http://kernel.org")               ; really, no home page
+    (home-page "https://www.kernel.org") ; really, no home page
     (synopsis "Send a wake-on-LAN packet")
     (description
      "WakeLan broadcasts a properly formatted UDP packet across the local area
@@ -1235,7 +1252,7 @@ network, which causes enabled computers to power on.")
 (define-public dmidecode
   (package
     (name "dmidecode")
-    (version "3.1")
+    (version "3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1243,7 +1260,7 @@ network, which causes enabled computers to power on.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "1h0sg0lxa15nzf8s7884p6q7p6md9idm0c79wyqmk32l4ndwwrnp"))))
+                "1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -1265,7 +1282,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
 (define-public acpica
   (package
     (name "acpica")
-    (version "20180508")
+    (version "20180810")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1273,7 +1290,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
                     version ".tar.gz"))
               (sha256
                (base32
-                "05fg4gcgs1jhh5ad71q1dr35vh119g8avjdy806q614yvgcwk3sx"))))
+                "01drf32h0v1s8yd414rgc9bavb52yffrwpnbzfxd9sk1lwssr6v7"))))
     (build-system gnu-build-system)
     (native-inputs `(("flex" ,flex)
                      ("bison" ,bison)))
@@ -1460,7 +1477,7 @@ track changes in important system configuration files.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
+                    "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
                     version ".tar.gz"))
               (sha256
                (base32
@@ -1575,34 +1592,31 @@ of supported upstream metrics systems simultaneously.")
 (define-public ansible
   (package
     (name "ansible")
-    (version "2.4.2.0")
+    (version "2.5.7")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "0n3n9py4s3aykiii31xq8g4wmd6693jvby0424pjrg0bna01apri"))
+         "0wbsjjx3xjlm8g50a9j9c6p9rn23jx32yn1234bf5rmj1qgy3p85"))
        (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python2-bcrypt" ,python2-bcrypt)
-       ("python2-pycrypto" ,python2-pycrypto)
-       ("python2-pynacl" ,python2-pynacl)
-       ("python2-httplib2" ,python2-httplib2)
-       ("python2-passlib" ,python2-passlib)
-       ("python2-nose" ,python2-nose)
-       ("python2-mock" ,python2-mock)
-       ("python2-jinja2" ,python2-jinja2)
-       ("python2-pyyaml" ,python2-pyyaml)
-       ("python2-paramiko" ,python2-paramiko)))
+     `(("python-bcrypt" ,python-bcrypt)
+       ("python-pynacl" ,python-pynacl)
+       ("python-httplib2" ,python-httplib2)
+       ("python-passlib" ,python-passlib)
+       ("python-nose" ,python-nose)
+       ("python-mock" ,python-mock)
+       ("python-jinja2" ,python-jinja2)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-paramiko" ,python-paramiko)))
     (inputs
-     `(("python2-pycrypto" ,python2-pycrypto)
-       ("python2-jinja2" ,python2-jinja2)
-       ("python2-pyyaml" ,python2-pyyaml)
-       ("python2-paramiko" ,python2-paramiko)))
-    (arguments
-     `(#:python ,python-2)) ; incompatible with Python 3
+     `(("python-cryptography" ,python-cryptography)
+       ("python-jinja2" ,python-jinja2)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-paramiko" ,python-paramiko)))
     (home-page "https://www.ansible.com/")
     (synopsis "Radically simple IT automation")
     (description "Ansible is a radically simple IT automation system.  It
@@ -1655,7 +1669,7 @@ limits.")
 (define-public autojump
   (package
     (name "autojump")
-    (version "22.3.4")
+    (version "22.5.1")
     (source
      (origin
        (method url-fetch)
@@ -1664,7 +1678,7 @@ limits.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
+         "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"))))
     (build-system gnu-build-system)
     (native-inputs                      ;for tests
      `(("python-mock" ,python-mock)
@@ -1672,36 +1686,19 @@ limits.")
     (inputs
      `(("python" ,python-wrapper)))
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (delete 'configure)
-                  (delete 'build)
-                  (replace 'check
-                    (lambda _
-                      (zero?
-                       (system* "python" "tests/unit/autojump_utils_test.py"))))
-                  (replace 'install
-                    ;; The install.py script doesn't allow system installation
-                    ;; into an arbitrary prefix, so do our own install.
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let* ((out (assoc-ref outputs "out"))
-                             (bin (string-append out "/bin"))
-                             (share (string-append out "/share/autojump"))
-                             (py (string-append out "/lib/python"
-                                                ,(version-major+minor
-                                                  (package-version python-wrapper))
-                                                "/site-packages"))
-                             (man (string-append out "/share/man/man1")))
-                        (install-file "bin/autojump" bin)
-                        (for-each (λ (f) (install-file f py))
-                                  (find-files "bin" "\\.py$"))
-                        (for-each (λ (f) (install-file f share))
-                                  (find-files "bin" "autojump\\..*$"))
-                        (substitute* (string-append share "/autojump.sh")
-                          (("/usr/local") out))
-                        (install-file "docs/autojump.1" man)
-                        (wrap-program (string-append bin "/autojump")
-                          `("PYTHONPATH" ":" prefix (,py)))
-                        #t))))))
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'check
+           (lambda _
+             (invoke "python" "tests/unit/autojump_utils_test.py")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (setenv "SHELL" (which "bash"))
+             (invoke "python" "install.py"
+                     (string-append "--destdir="
+                                    (assoc-ref outputs "out"))))))))
     (home-page "https://github.com/wting/autojump")
     (synopsis "Shell extension for file system navigation")
     (description
@@ -1793,27 +1790,18 @@ platform-specific methods.")
 (define-public audit
   (package
     (name "audit")
-    (version "2.4.5")
+    (home-page "https://people.redhat.com/sgrubb/audit/")
+    (version "2.8.4")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://people.redhat.com/sgrubb/audit/"
-                                  "audit-" version ".tar.gz"))
+              (uri (string-append home-page name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
+                "0f4ci6ffznnmgblwgv7ich9mjfk3p6y5l6m6h3chhmzw156nj454"))))
     (build-system gnu-build-system)
-    (home-page "http://people.redhat.com/sgrubb/audit/")
     (arguments
-     `(#:configure-flags (list "--with-python=no")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           (lambda _
-             ;; In the build environmnte /etc/passwd does not contain an entry
-             ;; for root/0, so we have to patch the expected value.
-             (substitute* "auparse/test/auparse_test.ref"
-               (("=0 \\(root\\)") "=0 (unknown(0))"))
-             #t)))))
+     `(#:configure-flags (list "--with-python=no"
+                               "--disable-static")))
     (inputs
      `(("openldap" ,openldap)
        ("gnutls" ,gnutls)
@@ -1996,16 +1984,16 @@ a new command using the matched rule, and runs it.")
 (define-public di
   (package
     (name "di")
-    (version "4.46")
+    (version "4.47")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
        (sha256
-        (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
+        (base32 "0zlapxlzjizwzwa8xwrwibhcbkh0wx7n74gvjpp6wlwq7cgiq0xm"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; Obscure test failures.
+     `(#:tests? #f                      ; obscure test failures.
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -2131,7 +2119,7 @@ with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
 enabled, and supports extensive configuration either by PAM options or in
 krb5.conf or both.  PKINIT is supported with recent versions of both MIT
 Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
-    (home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
+    (home-page "https://www.eyrie.org/~eagle/software/pam-krb5")
     ;; Dual licenced under  a homebrew non-copyleft OR GPL (any version)
     ;; However, the tarball does not contain a copy of the GPL,  so unless
     ;; we put one in, we cannot distribute it under GPL without violating
@@ -2295,21 +2283,21 @@ With sedsed you can master any sed script.  No more secrets, no more hidden
 buffers.")
     (license license:expat)))
 
-(define-public intel-gpu-tools
+(define-public igt-gpu-tools
   (package
-    (name "intel-gpu-tools")
-    (version "1.22")
+    (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/"
-                                  "intel-gpu-tools-" version ".tar.gz"))
+                                  name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1jx5w5fr6jp67rcrlp5v79cn8kp9n0wgd5pbfgzamlah5cx6j3yd"))))
+                "0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; many of the tests try to load kernel modules
+     `(#:tests? #f              ; many of the tests try to load kernel modules
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'autogen
@@ -2318,16 +2306,17 @@ buffers.")
              (setenv "NOCONFIGURE" "1")
              (invoke "sh" "autogen.sh"))))))
     (inputs
-     `(("eudev" ,eudev)
-       ("util-macros" ,util-macros)
+     `(("cairo" ,cairo)
+       ("eudev" ,eudev)
+       ("glib" ,glib)
+       ("kmod" ,kmod)
        ("libdrm" ,libdrm)
        ("libpciaccess" ,libpciaccess)
-       ("kmod" ,kmod)
-       ("procps" ,procps)
-       ("cairo" ,cairo)
        ("libunwind" ,libunwind)
        ("libxrandr" ,libxrandr)
-       ("glib" ,glib)))
+       ("openssl" ,openssl)
+       ("procps" ,procps)
+       ("util-macros" ,util-macros)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -2335,17 +2324,20 @@ buffers.")
        ("pkg-config" ,pkg-config)))
     (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
     (synopsis "Tools for development and testing of the Intel DRM driver")
-    (description "Intel GPU Tools is a collection of tools for development and
+    (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
 get used against the driver, including xtest, rendercheck, piglit, and
 oglconform, but failures from those can be difficult to track down to kernel
 changes, and many require complicated build procedures or specific testing
-environments to get useful results.  Therefore, Intel GPU Tools includes
+environments to get useful results.  Therefore, IGT GPU Tools includes
 low-level tools and tests specifically for development and testing of the
 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")
@@ -2359,11 +2351,23 @@ Intel DRM Driver.")
          "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2))             ; Python 2 only
+     `(#:python ,python-2               ; Python 2 only
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke
+              "nosetests" "-v" "tests/"
+              ;; This test hangs indefinitely when run on a single core VM
+              ;; (see GNU bug #26647 and Debian bug #850230).
+              "--exclude=test_nested_execution_with_explicit_ports"
+              ;; This test randomly fails in certain environments causing too
+              ;; much noise to be useful (see Debian bug #854686).
+              "--exclude=test_should_use_sentinel_for_tasks_that_errored"))))))
     (native-inputs
-     `(("python2-fudge" ,python2-fudge)
-       ("python2-jinja2" ,python2-jinja2)
-       ("python2-nose" ,python2-nose)
+     `(("python2-fudge" ,python2-fudge) ; Requires < 1.0
+       ("python2-jinja2" ,python2-jinja2) ; Requires < 3.0
+       ("python2-nose" ,python2-nose) ; Requires < 2.0
        ("python2-pynacl" ,python2-pynacl)
        ("python2-bcrypt" ,python2-bcrypt)))
     (propagated-inputs
@@ -2383,15 +2387,15 @@ tool for remote execution and deployment.")
 (define-public neofetch
   (package
     (name "neofetch")
-    (version "3.4.0")
+    (version "5.0.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/dylanaraps/neofetch/"
-                                  "archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dylanaraps/neofetch")
+                    (commit version)))
               (sha256
                (base32
-                "18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
+                "0yzyi2p0d8xp576lxyv5m9h60dl1d5dmrn40aad307872835b9rr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; there are no tests
@@ -2399,31 +2403,11 @@ tool for remote execution and deployment.")
        (list (string-append "PREFIX=" %output))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-target-directories
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (substitute* "Makefile"
-                 (("\\$\\(DESTDIR\\)/etc/")
-                  "$(PREFIX)/etc/"))
-               (substitute* "neofetch"
-                 (("\"/etc/neofetch")
-                  (string-append "\"" out "/etc/neofetch"))
-                 (("\"/usr/share/neofetch")
-                  (string-append "\"" out "/share/neofetch"))))
-             #t))
-         (delete 'configure)            ; no configure script
-         (replace 'install
-           (lambda* (#:key make-flags outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (string-append out "/share/doc/" ,name "-" ,version))
-                    (etc (string-append doc "/examples/etc")))
-               (zero? (apply system* `("make" ,@make-flags
-                                       ,(string-append "SYSCONFDIR=" etc)
-                                       "install")))))))))
+         (delete 'configure))))         ; no configure script
     (home-page "https://github.com/dylanaraps/neofetch")
-    (synopsis "System info script")
-    (description "Neofetch is a CLI system information tool written in Bash.
-Neofetch displays information about your system next to an image, your OS
+    (synopsis "System information script")
+    (description "Neofetch is a command-line system information tool written in
+Bash.  Neofetch displays information about your system next to an image, your OS
 logo, or any ASCII file of your choice.  The main purpose of Neofetch is to be
 used in screenshots to show other users what operating system or distribution
 you are running, what theme or icon set you are using, etc.")
@@ -2432,43 +2416,29 @@ you are running, what theme or icon set you are using, etc.")
 (define-public nnn
   (package
     (name "nnn")
-    (version "1.7")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/jarun/nnn/"
-                                  "archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0z3lqbfx3y1caxvn7yq90b7whwyq2y32zf8kyd976ilbxpxnxqpv"))))
+    (version "1.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
+                           version "/" name "-v" version ".tar.gz"))
+       (sha256
+        (base32 "1d6z12y4rlg4dzhpm30irpq2ak8hjh5zykkp2n7vxnz5m4ki89zp"))))
     (build-system gnu-build-system)
-    (inputs `(("ncurses" ,ncurses)
-              ("readline" ,readline)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("readline" ,readline)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (arguments
-     '(#:tests? #f ; no tests
+     '(#:tests? #f                      ; no tests
        #:phases
-       ;; We do not provide `ncurses.h' within an `ncursesw'
-       ;; sub-directory, so patch the source accordingly.  See
-       ;; <http://bugs.gnu.org/19018>.
-       ;; Thanks to gtypist maintainer.
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-curses-lib
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (substitute* "Makefile"
-                 (("-lncursesw")
-                  "-lncurses"))
-               (substitute* "nnn.c"
-                 (("ncursesw\\/curses.h")
-                  "ncurses.h")))
-             #t))
-         (delete 'configure))
+         (delete 'configure))           ; no configure script
        #:make-flags
        (list
         (string-append "PREFIX="
                        (assoc-ref %outputs "out"))
-        (string-append "-Wl,-rpath="
-                       %output "/lib")
         "CC=gcc")))
     (home-page "https://github.com/jarun/nnn")
     (synopsis "Terminal file browser")
@@ -2482,7 +2452,7 @@ make it a perfect utility on modern distros.")
 (define-public thermald
   (package
     (name "thermald")
-    (version "1.7.1")
+    (version "1.7.2")
     (source
      (origin
       (method url-fetch)
@@ -2490,25 +2460,15 @@ make it a perfect utility on modern distros.")
                           version ".tar.gz"))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256 (base32
-               "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4"))))
+               "15a6vb67y5wsmf0irrq7sxam18yqpz64130k83ryf24mp40h661b"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after
-                   'unpack 'autogen.sh-and-fix-paths
-                   (lambda* (#:key outputs #:allow-other-keys)
-                     (let ((out (assoc-ref outputs "out")))
-                       ;; XXX this can probably be removed after version 1.7.1.
-                       ;; upstartconfir is hardcoded to /etc/init and the build
-                       ;; system tries to mkdir that.  We don't even need upstart
-                       ;; files at all; this is a fast and kludgy workaround
-                       (substitute* "data/Makefile.am"
-                         (("upstartconfdir = /etc/init")
-                          (string-append "upstartconfdir = "
-                                         out "/etc/init")))
-                       ;; Now run autogen
-                       (invoke "sh" "autogen.sh")
-                       #t))))
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'bootstrap
+           (lambda _
+             (invoke "sh" "autogen.sh")
+             #t)))
        #:configure-flags
        (let ((out      (assoc-ref %outputs "out")))
          (list (string-append "--sysconfdir="
@@ -2530,7 +2490,7 @@ make it a perfect utility on modern distros.")
     (synopsis "CPU scaling for thermal management")
     (description "The Linux Thermal Daemon helps monitor and control temperature
 on systems running the Linux kernel.")
-    ;; arm and aarch64 don't have cpuid.h
+    ;; arm and aarch64 don't have cpuid.h.
     (supported-systems '("i686-linux" "x86_64-linux"))
     (license license:gpl2+)))
 
@@ -2671,23 +2631,22 @@ Python loading in HPC environments.")
   (let ((real-name "inxi"))
     (package
       (name "inxi-minimal")
-      (version "3.0.04-1")
+      (version "3.0.20-1")
       (source
        (origin
-         (method url-fetch)
-         (uri (string-append "https://github.com/smxi/inxi"
-                             "/archive/" version "/inxi.tar.gz"))
-         (file-name (string-append real-name "-" version ".tar.gz"))
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/smxi/inxi")
+               (commit version)))
          (sha256
           (base32
-           "14zxdsjgh9dbijmpp0hhvg2yiqqfwnqgcc6x8dpl1v15z1h1r7pc"))))
+           "1k9148xnfznch1443niaa3w1kmsw4vp0xpwna6npgmi7zqg06ymy"))))
       (build-system trivial-build-system)
       (inputs
        `(("bash" ,bash)
          ("perl" ,perl)))
       (native-inputs
-       `(("gzip" ,gzip)
-         ("tar" ,tar)))
+       `(("gzip" ,gzip)))
       (arguments
        `(#:modules
          ((guix build utils)
@@ -2701,9 +2660,9 @@ Python loading in HPC environments.")
            (setenv "PATH" (string-append
                            (assoc-ref %build-inputs "bash") "/bin" ":"
                            (assoc-ref %build-inputs "gzip") "/bin" ":"
-                           (assoc-ref %build-inputs "perl") "/bin" ":"
-                           (assoc-ref %build-inputs "tar") "/bin" ":"))
-           (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
+                           (assoc-ref %build-inputs "perl") "/bin" ":"))
+           (copy-recursively (assoc-ref %build-inputs "source")
+                             ,(string-append real-name "-" version))
            (with-directory-excursion ,(string-append real-name "-" version)
              (with-fluids ((%default-port-encoding #f))
                (substitute* "inxi" (("/usr/bin/env perl") (which "perl"))))
@@ -2735,13 +2694,13 @@ Python loading in HPC environments.")
                           %build-inputs)))))
              (invoke "gzip" "inxi.1")
              (install-file "inxi.1.gz"
-                           (string-append %output "/share/doc/man/man1")))
+                           (string-append %output "/share/man/man1")))
            #t)))
       (home-page "https://smxi.org/docs/inxi.htm")
-      (synopsis "Full featured system information script")
+      (synopsis "Full-featured system information script")
       (description "Inxi is a system information script that can display
 various things about your hardware and software to users in an IRC chatroom or
-support forum.  It runs with the /exec command in most IRC clients.")
+support forum.  It runs with the @code{/exec} command in most IRC clients.")
       (license license:gpl3+))))
 
 (define-public inxi
@@ -2780,3 +2739,110 @@ support forum.  It runs with the /exec command in most IRC clients.")
        ;; perl-xml-dumper
        ;; ipmitool
        ,@(package-inputs inxi-minimal)))))
+
+(define-public pscircle
+  (package
+    (name "pscircle")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://gitlab.com/mildlyparallel/pscircle/-/archive/v"
+             version "/pscircle-v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k757yf2bmgfrjd417l6kpcf83hlvi0z1791vz967mwcklrsb3fj"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)))
+    (home-page "https://gitlab.com/mildlyparallel/pscircle")
+    (synopsis "Visualize Linux processes in a form of radial tree")
+    (description
+     "@code{pscircle} visualizes Linux processes in the form of a radial tree.")
+    (license license:gpl2+)))
+
+(define-public python-pyudev
+  (package
+    (name "python-pyudev")
+    (version "0.21.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pyudev" version))
+        (sha256
+          (base32
+            "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; Tests require /sys
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-ctypes-udev
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((eudev (assoc-ref inputs "eudev")))
+               (substitute* "src/pyudev/core.py"
+                (("'udev'")
+                 (string-append "'" eudev "/lib/libudev.so'")))
+               (substitute* "src/pyudev/_ctypeslib/utils.py"
+                ;; Use absolute paths instead of keys.
+                (("= find_library") "= "))
+               #t))))))
+    (inputs
+     `(("eudev" ,eudev)))
+    (propagated-inputs
+     `(("python-six" ,python-six)))
+    (native-inputs
+     `(("python-docutils" ,python-docutils)
+       ("python-hypothesis" ,python-hypothesis)
+       ("python-mock" ,python-mock)
+       ("python-pytest" ,python-pytest)
+       ("python-sphinx" ,python-sphinx)))
+    (home-page "http://pyudev.readthedocs.org/")
+    (synopsis "Python udev binding")
+    (description "This package provides @code{udev} bindings for Python.")
+    (license license:lgpl2.1)))
+
+(define-public solaar
+  (package
+    (name "solaar")
+    (version "0.9.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pwr/Solaar.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "085mfa13dap3wqik1dqlad0d7kff4rv7j4ljh99c7l8nhczkqgwm"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-prefix-detection
+           (lambda _
+             (substitute* "setup.py"
+              (("'--prefix' in sys\\.argv")
+               "len([x.startswith('--prefix=') for x in sys.argv]) > 0"))
+             #t))
+         (replace 'build
+           (lambda _
+             (invoke "python" "setup.py" "build")))
+         (add-before 'check 'setenv-PATH
+           (lambda _
+             (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH")))
+             #t)))))
+    (propagated-inputs
+     `(("python-pygobject" ,python-pygobject)
+       ("python-pyudev" ,python-pyudev)))
+    (home-page "https://smxi.org/docs/inxi.htm")
+    (synopsis "Linux devices manager for the Logitech Unifying Receiver")
+    (description "This package provides tools to manage clients of the
+Logitech Unifying Receiver.")
+    (license license:gpl2)))