gnu: moka-icon-theme: Add faba-icon-theme as propagated input.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
index 8607220..7b8e41f 100644 (file)
@@ -167,10 +167,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.0)))
+       ("guile" ,guile-2.2)))
     (inputs
      ;; ... and this is the one that appears in shebangs when cross-compiling.
-     `(("guile" ,guile-2.0)))
+     `(("guile" ,guile-2.2)))
     (synopsis "System service manager")
     (description
      "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
@@ -361,32 +361,31 @@ login, passwd, su, groupadd, and useradd.")
                "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases (alist-replace 'configure
-                               (lambda* (#:key inputs outputs
-                                         #:allow-other-keys)
-                                 (let* ((out    (assoc-ref outputs "out"))
-                                        (man8   (string-append
-                                                 out "/share/man/man8"))
-                                        (sbin   (string-append out "/sbin"))
-                                        (shadow (assoc-ref inputs "shadow"))
-                                        (login  (string-append shadow
-                                                               "/bin/login")))
-                                   (substitute* "Makefile"
-                                     (("^SBINDIR.*")
-                                      (string-append "SBINDIR = " out
-                                                     "/sbin\n"))
-                                     (("^MANDIR.*")
-                                      (string-append "MANDIR = " out
-                                                     "/share/man/man8\n")))
-
-                                   ;; Pick the right 'login' by default.
-                                   (substitute* "mingetty.c"
-                                     (("\"/bin/login\"")
-                                      (string-append "\"" login "\"")))
-
-                                   (mkdir-p sbin)
-                                   (mkdir-p man8)))
-                               %standard-phases)
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out    (assoc-ref outputs "out"))
+                    (man8   (string-append out "/share/man/man8"))
+                    (sbin   (string-append out "/sbin"))
+                    (shadow (assoc-ref inputs "shadow"))
+                    (login  (string-append shadow "/bin/login")))
+               (substitute* "Makefile"
+                 (("^SBINDIR.*")
+                  (string-append "SBINDIR = " out
+                                 "/sbin\n"))
+                 (("^MANDIR.*")
+                  (string-append "MANDIR = " out
+                                 "/share/man/man8\n")))
+
+               ;; Pick the right 'login' by default.
+               (substitute* "mingetty.c"
+                 (("\"/bin/login\"")
+                  (string-append "\"" login "\"")))
+
+               (mkdir-p sbin)
+               (mkdir-p man8))
+             #t)))
        #:tests? #f))                              ; no tests
     (inputs `(("shadow" ,shadow)))
 
@@ -661,14 +660,14 @@ network statistics collection, security monitoring, network debugging, etc.")
 (define-public tcpdump
   (package
     (name "tcpdump")
-    (version "4.9.1")
+    (version "4.9.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1wyqbg7bkmgqyslf1ns0xx9fcqi66hvcfm9nf77rl15jvvs8qi7r"))))
+                "0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr"))))
     (build-system gnu-build-system)
     (inputs `(("libpcap" ,libpcap)
               ("openssl" ,openssl)))
@@ -725,25 +724,25 @@ by bandwidth they use.")
                          ("perl-x11-protocol" ,perl-x11-protocol)))
     (arguments
      `(#:phases
-       (alist-cons-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)))))
-        %standard-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)))))
     ;; The clusterssh.sourceforge.net address requires login to view
     (home-page "https://sourceforge.net/projects/clusterssh/")
     (synopsis "Secure concurrent multi-server terminal control")
@@ -784,6 +783,11 @@ over ssh connections.")
                                          "/etc"))
 
        #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-paths
+                    (lambda _
+                      (substitute* "rc/rc"
+                        (("/usr/sbin/sendmail") "sendmail"))
+                      #t))
                   (add-after 'build 'set-packdir
                     (lambda _
                       ;; Set a default location for archived logs.
@@ -818,7 +822,7 @@ system administrator.")
 (define-public sudo
   (package
     (name "sudo")
-    (version "1.8.20p2")
+    (version "1.8.21p2")
     (source (origin
               (method url-fetch)
               (uri
@@ -828,7 +832,7 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "1na5likm1srnd1g5sjx7b0543sczw0yppacyqsazfdg9b48awhmx"))
+                "0s33szq6q59v5s377l4v6ybsdy7pfq6sz7y364j4x09ssdn79ibl"))
               (modules '((guix build utils)))
               (snippet
                '(delete-file-recursively "lib/zlib"))))
@@ -871,7 +875,8 @@ system administrator.")
                 "$(TMPDIR)/dummy")
                (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
                 ;; Don't try to create /var/db/sudo.
-                "$(TMPDIR)/dummy")))))
+                "$(TMPDIR)/dummy"))
+             #t)))
 
        ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
        ;; the chroot's /etc/passwd doesn't have it.  Turn off the tests.
@@ -902,18 +907,24 @@ commands and their arguments.")
                     "http://w1.fi/releases/wpa_supplicant-"
                     version
                     ".tar.gz"))
+              (patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
+                                       "wpa-supplicant-fix-key-reuse.patch"
+                                       "wpa-supplicant-fix-zeroed-keys.patch"
+                                       "wpa-supplicant-fix-nonce-reuse.patch"
+                                       "wpa-supplicant-krack-followups.patch"))
               (sha256
                (base32
                 "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-replace
-                 'configure
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (chdir "wpa_supplicant")
-                   (copy-file "defconfig" ".config")
-                   (let ((port (open-file ".config" "al")))
-                     (display "
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (chdir "wpa_supplicant")
+             (copy-file "defconfig" ".config")
+             (let ((port (open-file ".config" "al")))
+               (display "
       CONFIG_DEBUG_SYSLOG=y
 
       # Choose GnuTLS (the default is OpenSSL.)
@@ -923,26 +934,23 @@ commands and their arguments.")
       CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
       CONFIG_LIBNL32=y
       CONFIG_READLINE=y\n" port)
-                     (close-port port)))
-
-                 (alist-cons-after
-                  'install 'install-man-pages
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let* ((out  (assoc-ref outputs "out"))
-                           (man  (string-append out "/share/man"))
-                           (man5 (string-append man "/man5"))
-                           (man8 (string-append man "/man8")))
-                      (define (copy-man-page target)
-                        (lambda (file)
-                          (install-file file target)))
-
-                      (mkdir-p man5) (mkdir man8)
-                      (for-each (copy-man-page man5)
-                                (find-files "doc/docbook" "\\.5"))
-                      (for-each (copy-man-page man8)
-                                (find-files "doc/docbook" "\\.8"))
-                      #t))
-                  %standard-phases))
+               (close-port port))))
+         (add-after 'install 'install-man-pages
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (man  (string-append out "/share/man"))
+                    (man5 (string-append man "/man5"))
+                    (man8 (string-append man "/man8")))
+               (define (copy-man-page target)
+                 (lambda (file)
+                   (install-file file target)))
+
+               (mkdir-p man5) (mkdir man8)
+               (for-each (copy-man-page man5)
+                         (find-files "doc/docbook" "\\.5"))
+               (for-each (copy-man-page man8)
+                         (find-files "doc/docbook" "\\.8"))
+               #t))))
 
       #:make-flags (list "CC=gcc"
                          (string-append "BINDIR=" (assoc-ref %outputs "out")
@@ -979,25 +987,24 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
     (arguments
      (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
        ((#:phases phases)
-        `(alist-cons-after
-          'configure 'configure-for-dbus
-          (lambda _
-            (let ((port (open-file ".config" "al")))
-              (display "
+        `(modify-phases ,phases
+           (add-after 'configure 'configure-for-dbus
+             (lambda _
+               (let ((port (open-file ".config" "al")))
+                 (display "
       CONFIG_CTRL_IFACE_DBUS=y
       CONFIG_CTRL_IFACE_DBUS_NEW=y
       CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
-              (close-port port))
-            #t)
-          (alist-cons-after
-           'install-man-pages 'install-dbus-conf
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (dir (string-append out "/etc/dbus-1/system.d")))
-               (mkdir-p dir)
-               (copy-file "dbus/dbus-wpa_supplicant.conf"
-                          (string-append dir "/wpa_supplicant.conf"))))
-           ,phases)))))))
+                 (close-port port))
+               #t))
+          (add-after 'install-man-pages 'install-dbus-conf
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (dir (string-append out "/etc/dbus-1/system.d")))
+                (mkdir-p dir)
+                (copy-file "dbus/dbus-wpa_supplicant.conf"
+                           (string-append dir "/wpa_supplicant.conf")))
+              #t))))))))
 
 (define-public wakelan
   (package
@@ -1013,22 +1020,22 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
                 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-replace
-                 'configure
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((out (assoc-ref outputs "out")))
-                     (mkdir-p (string-append out "/bin"))
-                     (mkdir-p (string-append out "/share/man/man1"))
-
-                     ;; It's an old configure script that doesn't understand
-                     ;; the extra options we pass.
-                     (setenv "CONFIG_SHELL" (which "bash"))
-                     (zero?
-                      (system* "./configure"
-                               (string-append "--prefix=" out)
-                               (string-append "--mandir=" out
-                                              "/share/man")))))
-                 %standard-phases)
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/bin"))
+               (mkdir-p (string-append out "/share/man/man1"))
+
+               ;; It's an old configure script that doesn't understand
+               ;; the extra options we pass.
+               (setenv "CONFIG_SHELL" (which "bash"))
+               (zero?
+                (system* "./configure"
+                         (string-append "--prefix=" out)
+                         (string-append "--mandir=" out
+                                        "/share/man")))))))
        #:tests? #f))
     (home-page "http://kernel.org")               ; really, no home page
     (synopsis "Send a wake-on-LAN packet")
@@ -1087,7 +1094,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
                           "HOST=_LINUX"
                           "OPT_CFLAGS=-Wall -fno-strict-aliasing")
        #:tests? #f  ; no 'check' target.
-       #:phases (alist-delete 'configure %standard-phases)))
+       #:phases (modify-phases %standard-phases (delete 'configure))))
     (home-page "http://acpica.org/")
     (synopsis "Tools for the development and debug of ACPI tables")
     (description
@@ -1197,7 +1204,7 @@ recover lost partitions and/or make non-booting disks bootable again.")
                (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-delete 'configure %standard-phases)
+     '(#:phases (modify-phases %standard-phases (delete 'configure))
        #:tests? #f                      ; no check target
        #:make-flags (let ((out (assoc-ref %outputs "out")))
                                (list (string-append "prefix=" out)))))
@@ -1226,23 +1233,23 @@ environment variable is set and output is to tty.")
                            "#!$SHELL")))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-cons-before
-                 'build 'patch-/bin/sh
-                 (lambda* (#:key inputs #:allow-other-keys)
-                   ;; Use the right shell when executing the watcher and
-                   ;; user-provided shell commands.
-                   (let ((bash (assoc-ref inputs "bash")))
-                     (substitute* '("src/direvent.c" "src/progman.c")
-                       (("\"/bin/sh\"")
-                        (string-append "\"" bash "/bin/sh\"")))
-
-                     ;; Adjust the 'shell.at' test accordingly.
-                     (substitute* "tests/testsuite"
-                       (("SHELL=/bin/sh")
-                        (string-append "SHELL=" bash "/bin/sh")))
-
-                     #t))
-                 %standard-phases)))
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'patch-/bin/sh
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Use the right shell when executing the watcher and
+             ;; user-provided shell commands.
+             (let ((bash (assoc-ref inputs "bash")))
+               (substitute* '("src/direvent.c" "src/progman.c")
+                 (("\"/bin/sh\"")
+                  (string-append "\"" bash "/bin/sh\"")))
+
+               ;; Adjust the 'shell.at' test accordingly.
+               (substitute* "tests/testsuite"
+                 (("SHELL=/bin/sh")
+                  (string-append "SHELL=" bash "/bin/sh")))
+
+               #t))))))
     (home-page "https://www.gnu.org/software/direvent/")
     (synopsis "Daemon to monitor directories for events such as file removal")
     (description
@@ -1295,7 +1302,7 @@ various ways that may be running with too much privilege.")
                 "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49"))))
     (build-system gnu-build-system)
     (inputs `(("libcap-ng" ,libcap-ng)))
-    (home-page "http://www.smartmontools.org/")
+    (home-page "https://www.smartmontools.org/")
     (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
     (description
      "The smartmontools package contains utility programs to control and
@@ -1375,14 +1382,14 @@ of supported upstream metrics systems simultaneously.")
 (define-public ansible
   (package
     (name "ansible")
-    (version "2.3.1.0")
+    (version "2.4.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))
+         "0spv0kjaicwss4q52s727b6grdizcxpa0bbsfg26pgf5kjrayqfs"))
        (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
@@ -1534,7 +1541,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
 (define-public munge
   (package
     (name "munge")
-    (version "0.5.12")
+    (version "0.5.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/dun/munge/releases/"
@@ -1542,7 +1549,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
+                "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
     (inputs
      `(("openssl" ,openssl)
        ("libgcrypt" ,libgcrypt)))
@@ -1699,7 +1706,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
                       (list (string-append "DESTDIR=" out)
                             "prefix=/"))
        ;; no configure script
-       #:phases (alist-delete 'configure %standard-phases)))
+       #:phases (modify-phases %standard-phases (delete 'configure))))
     (inputs `(("python-2" ,python-2)))
     (synopsis "Versatile resource statistics tool")
     (description "Dstat is a versatile replacement for @command{vmstat},
@@ -1832,7 +1839,7 @@ the status of your battery in the system tray.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "git://github.com/TrilbyWhite/interrobang")
+                      (url "https://github.com/TrilbyWhite/interrobang")
                       (commit commit)))
                 (file-name (string-append name "-" version))
                 (sha256
@@ -2137,7 +2144,7 @@ tool for remote execution and deployment.")
 (define-public neofetch
   (package
     (name "neofetch")
-    (version "3.2.0")
+    (version "3.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/dylanaraps/neofetch/"
@@ -2145,10 +2152,10 @@ tool for remote execution and deployment.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "07a32rzmch51znxspzyc7zyaldmr383v70b49wmnjdjs2qfdbv3a"))))
+                "15p69q0jchfms1fpb4i7kq8b28w2xpgh2zmynln618qxv1myf228"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f                      ; there are no tests
+     `(#:tests? #f                      ; there are no tests
        #:make-flags
        (list (string-append "PREFIX=" %output))
        #:phases
@@ -2165,7 +2172,15 @@ tool for remote execution and deployment.")
                  (("\"/usr/share/neofetch")
                   (string-append "\"" out "/share/neofetch"))))
              #t))
-         (delete 'configure))))
+         (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")))))))))
     (home-page "https://github.com/dylanaraps/neofetch")
     (synopsis "System info script")
     (description "Neofetch is a CLI system information tool written in Bash.
@@ -2178,7 +2193,7 @@ you are running, what theme or icon set you are using, etc.")
 (define-public nnn
   (package
     (name "nnn")
-    (version "1.3")
+    (version "1.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/jarun/nnn/"
@@ -2186,7 +2201,7 @@ you are running, what theme or icon set you are using, etc.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0sivgcmg3hihz15v2wgbxnd0icn06pyvvqdqh8x0mwkhvm434fpb"))))
+                "0zswf8lb29zr1z642i1d0zi1y2mxal8qjqdrpdiqjh197jamj3zm"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("readline" ,readline)))