gnu: isc-dhcp: Update bundled bind to 9.9.9-P6.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
index 195959e..e021e6b 100644 (file)
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
@@ -9,9 +9,12 @@
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
 ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
+;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Coypright © 2016 John Darrington <jmd@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages python)
   #:use-module (gnu packages man)
-  #:use-module (gnu packages autotools))
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages kerberos)
+  #:use-module (gnu packages gtk))
 
 (define-public aide
   (package
@@ -135,14 +141,14 @@ and provides a \"top-like\" mode (monitoring).")
 (define-public shepherd
   (package
     (name "shepherd")
-    (version "0.3.1")
+    (version "0.3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0f3yi3n4sl9myiay95yhv2a9an338qddfjrbv7da753ip66dkfz6"))))
+                "174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
@@ -155,7 +161,8 @@ the execution of system services, replacing similar functionality found in
 typical init systems.  It provides dependency-handling through a convenient
 interface and is based on GNU Guile.")
     (license license:gpl3+)
-    (home-page "http://www.gnu.org/software/shepherd/")))
+    (home-page "https://www.gnu.org/software/shepherd/")
+    (properties '((ftp-server . "alpha.gnu.org")))))
 
 (define-public dfc
   (package
@@ -172,7 +179,7 @@ interface and is based on GNU Guile.")
         "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
    (build-system cmake-build-system)
    (arguments '(#:tests? #f)) ; There are no tests.
-   (native-inputs `(("gettext" ,gnu-gettext)))
+   (native-inputs `(("gettext" ,gettext-minimal)))
    (home-page "http://projects.gw-computing.net/projects/dfc")
    (synopsis "Display file system space usage using graphs and colors")
    (description
@@ -183,14 +190,14 @@ graphs and can export its output to different formats.")
 (define-public htop
   (package
    (name "htop")
-   (version "2.0.1")
+   (version "2.0.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://hisham.hm/htop/releases/"
                   version "/htop-" version ".tar.gz"))
             (sha256
              (base32
-              "0rjn9ybqx5sav7z4gn18f1q6k23nmqyb6yydfgghzdznz9nn447l"))))
+              "11zlwadm6dpkrlfvf3z3xll26yyffa7qrxd1w72y1kl0rgffk6qp"))))
    (build-system gnu-build-system)
    (inputs
     `(("ncurses" ,ncurses)))
@@ -204,16 +211,27 @@ application (for console or X terminals) and requires ncurses.")
 (define-public pies
   (package
     (name "pies")
-    (version "1.2")
+    (version "1.3")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnu/pies/pies-"
-                          version ".tar.bz2"))
-      (sha256
-       (base32
-        "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6"))))
+       (method url-fetch)
+       (uri (string-append "mirror://gnu/pies/pies-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "12r7rjjyibjdj08dvwbp0iflfpzl4s0zhn6cr6zj3hwf9gbzgl1g"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'build 'patch-/bin/sh
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      ;; Use the right shell when executing user-provided
+                      ;; shell commands.
+                      (let ((bash (assoc-ref inputs "bash")))
+                        (substitute* "src/progman.c"
+                          (("\"/bin/sh\"")
+                           (string-append "\"" bash "/bin/sh\"")))
+                        #t))))))
     (home-page "http://www.gnu.org/software/pies/")
     (synopsis "Program invocation and execution supervisor")
     (description
@@ -235,7 +253,9 @@ re-executing them as necessary.")
               (base32
                "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
     (build-system gnu-build-system)
-    (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
+    (arguments `(#:configure-flags '("--localstatedir=/var")
+
+                 ;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
                  ;; which is currently missing.
                  #:tests? #f))
     (inputs `(("ncurses" ,ncurses)
@@ -342,7 +362,7 @@ login, passwd, su, groupadd, and useradd.")
        #:tests? #f))                              ; no tests
     (inputs `(("shadow" ,shadow)))
 
-    (home-page "http://sourceforge.net/projects/mingetty")
+    (home-page "https://sourceforge.net/projects/mingetty")
     (synopsis "Getty for the text console")
     (description
      "Small console getty that is started on the Linux text console,
@@ -450,8 +470,8 @@ connection alive.")
   (let* ((bind-major-version "9")
          (bind-minor-version "9")
          (bind-patch-version "9")
-         (bind-release-type "")         ; for patch release, use "-P"
-         (bind-release-version "")      ; for patch release, e.g. "4"
+         (bind-release-type "-P")         ; for patch release, use "-P"
+         (bind-release-version "6")      ; for patch release, e.g. "6"
          (bind-version (string-append bind-major-version
                                       "."
                                       bind-minor-version
@@ -461,14 +481,14 @@ connection alive.")
                                       bind-release-version)))
     (package
       (name "isc-dhcp")
-      (version "4.3.4")
+      (version "4.3.5")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
                                     version "/dhcp-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm"))))
+                  "0m7rwxvpb7xrmfl9ynpckhl0hi0xgm9bq1fmbp2r68sxy5mr75gb"))))
       (build-system gnu-build-system)
       (arguments
        `(#:parallel-build? #f
@@ -567,7 +587,7 @@ connection alive.")
                                         "/bind-" bind-version ".tar.gz"))
                     (sha256
                      (base32
-                      "0w8qqm6p2y6x57j2l0a3278g173wd84dsr4py9z00191f3wra74q"))))
+                      "1qf9j0nyqx0qy871mj22xh4dg0n1pqlv94lpiijb8vr7n7m3svhr"))))
 
                 ;; When cross-compiling, we need the cross Coreutils and sed.
                 ;; Otherwise just use those from %FINAL-INPUTS.
@@ -588,14 +608,14 @@ tools: server, client, and relay agent.")
 (define-public libpcap
   (package
     (name "libpcap")
-    (version "1.7.4")
+    (version "1.8.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.tcpdump.org/release/libpcap-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs"))))
+                "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7"))))
     (build-system gnu-build-system)
     (native-inputs `(("bison" ,bison) ("flex" ,flex)))
     (arguments '(#:configure-flags '("--with-pcap=linux")
@@ -613,14 +633,14 @@ network statistics collection, security monitoring, network debugging, etc.")
 (define-public tcpdump
   (package
     (name "tcpdump")
-    (version "4.7.4")
+    (version "4.9.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1byr8w6grk08fsq0444jmcz9ar89lq9nf4mjq2cny0w9k8k21rbb"))))
+                "0pjsxsy8l71i813sa934cwf1ryp9xbr7nxwsvnzavjdirchq3sga"))))
     (build-system gnu-build-system)
     (inputs `(("libpcap" ,libpcap)
               ("openssl" ,openssl)))
@@ -697,7 +717,7 @@ by bandwidth they use.")
              `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
         %standard-phases)))
     ;; The clusterssh.sourceforge.net address requires login to view
-    (home-page "http://sourceforge.net/projects/clusterssh/")
+    (home-page "https://sourceforge.net/projects/clusterssh/")
     (synopsis "Secure concurrent multi-server terminal control")
     (description
      "ClusterSSH controls a number of xterm windows via a single graphical
@@ -727,15 +747,34 @@ over ssh connections.")
                    "true")))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags (list (string-append "ROTT_ETCDIR="
-                                              (assoc-ref %outputs "out")
-                                              "/etc")
+     '(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
                                "--localstatedir=/var")
-       #:phases (alist-cons-after
-                 'install 'install-info
-                 (lambda _
-                   (zero? (system* "make" "install-info")))
-                 %standard-phases)))
+
+       ;; Install example config files in OUT/etc.
+       #:make-flags (list (string-append "ROTT_ETCDIR="
+                                         (assoc-ref %outputs "out")
+                                         "/etc"))
+
+       #:phases (modify-phases %standard-phases
+                  (add-after 'build 'set-packdir
+                    (lambda _
+                      ;; Set a default location for archived logs.
+                      (substitute* "rc/rc"
+                        (("packdir=\"\"")
+                         "packdir=\"/var/log\""))
+                      #t))
+                  (add-before 'install 'tweak-rc-weekly
+                    (lambda _
+                      (substitute* "rc/weekly"
+                        (("/bin/kill")
+                         (which "kill"))
+                        (("syslogd\\.pid")
+                         ;; The file is called 'syslog.pid' (no 'd').
+                         "syslog.pid"))
+                      #t))
+                  (add-after 'install 'install-info
+                    (lambda _
+                      (zero? (system* "make" "install-info")))))))
     (native-inputs `(("texinfo" ,texinfo)
                      ("util-linux" ,util-linux))) ; for 'cal'
     (home-page "http://www.gnu.org/software/rottlog/")
@@ -751,7 +790,7 @@ system administrator.")
 (define-public sudo
   (package
     (name "sudo")
-    (version "1.8.17p1")
+    (version "1.8.19p1")
     (source (origin
               (method url-fetch)
               (uri
@@ -761,7 +800,7 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "1k2mn65l1kmsxm8wh0gjxy496xhbpiimbpm6yv6kw6snzc3xg466"))))
+                "14pwdwl03kdbbyjkvxrfx409x3c1fjqz8aqz2wgwddinhz7v3bxq"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -824,7 +863,7 @@ commands and their arguments.")
 (define-public wpa-supplicant-minimal
   (package
     (name "wpa-supplicant-minimal")
-    (version "2.5")
+    (version "2.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -833,17 +872,7 @@ commands and their arguments.")
                     ".tar.gz"))
               (sha256
                (base32
-                "05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))
-              (patches
-               (search-patches "wpa-supplicant-CVE-2015-5310.patch"
-                               "wpa-supplicant-CVE-2015-5314.patch"
-                               "wpa-supplicant-CVE-2015-5315.patch"
-                               "wpa-supplicant-CVE-2015-5316.patch"
-                               "wpa-supplicant-CVE-2016-4476.patch"
-                               "wpa-supplicant-CVE-2016-4477-pt1.patch"
-                               "wpa-supplicant-CVE-2016-4477-pt2.patch"
-                               "wpa-supplicant-CVE-2016-4477-pt3.patch"
-                               "wpa-supplicant-CVE-2016-4477-pt4.patch"))))
+                "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-replace
@@ -981,18 +1010,18 @@ network, which causes enabled computers to power on.")
 (define-public dmidecode
   (package
     (name "dmidecode")
-    (version "2.12")
+    (version "3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://savannah/dmidecode/dmidecode-"
-                    version ".tar.bz2"))
+                    version ".tar.xz"))
               (sha256
                (base32
-                "122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi"))))
+                "0iby0xfk5x3cdr0x0gxj5888jjyjhafvaq0l79civ73jjfqmphvy"))))
     (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 (list (string-append "prefix="
                                          (assoc-ref %outputs "out")))))
@@ -1153,14 +1182,14 @@ environment variable is set and output is to tty.")
 (define-public direvent
   (package
     (name "direvent")
-    (version "5.0")
+    (version "5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/direvent/direvent-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
+                "1nwvjmx7kb14ni34c0b8x9a3791pc20gvhj7xaj66d8q4h6n0qf4"))
               (modules '((guix build utils)))
               (snippet '(substitute* "tests/testsuite"
                           (("#![[:blank:]]?/bin/sh")
@@ -1170,11 +1199,19 @@ environment variable is set and output is to tty.")
      '(#:phases (alist-cons-before
                  'build 'patch-/bin/sh
                  (lambda* (#:key inputs #:allow-other-keys)
-                   ;; Use the right shell when executing the watcher.
+                   ;; Use the right shell when executing the watcher and
+                   ;; user-provided shell commands.
                    (let ((bash (assoc-ref inputs "bash")))
-                     (substitute* "src/direvent.c"
+                     (substitute* '("src/direvent.c" "src/progman.c")
                        (("\"/bin/sh\"")
-                        (string-append "\"" bash "/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)))
     (home-page "http://www.gnu.org/software/direvent/")
     (synopsis "Daemon to monitor directories for events such as file removal")
@@ -1241,21 +1278,24 @@ degradation and failure.")
 (define-public fdupes
   (package
     (name "fdupes")
-    (version "1.51")
+    (version "1.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://github.com/adrianlopezroche/fdupes/archive/fdupes-"
+             "https://github.com/adrianlopezroche/fdupes/archive/v"
              version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn"))))
+         "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx"))))
     (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 (list (string-append "PREFIX="
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX="
                                          (assoc-ref %outputs "out")))))
     (home-page "https://github.com/adrianlopezroche/fdupes")
     (synopsis "Identify duplicate files")
@@ -1293,8 +1333,6 @@ specified directories.")
                 (("/usr") out)
                 (("distro_ver = .*") "distro_ver = ''"))
               #t))))))
-   (inputs
-    `(("python-setuptools" ,python2-setuptools)))
    (home-page "https://github.com/shawn-sterling/graphios")
    (synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
    (description
@@ -1307,18 +1345,17 @@ of supported upstream metrics systems simultaneously.")
 (define-public ansible
   (package
     (name "ansible")
-    (version "2.1.0.0")
+    (version "2.2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
+         "0gz9i30pdmkchi936ijy873k8di6fmf3v5rv551hxyf0hjkjx8b3"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python2-setuptools" ,python2-setuptools)
-       ("python2-pycrypto" ,python2-pycrypto)
+     `(("python2-pycrypto" ,python2-pycrypto)
        ("python2-httplib2" ,python2-httplib2)
        ("python2-passlib" ,python2-passlib)
        ("python2-nose" ,python2-nose)
@@ -1385,7 +1422,7 @@ limits.")
 (define-public autojump
   (package
     (name "autojump")
-    (version "22.2.4")
+    (version "22.3.4")
     (source
      (origin
        (method url-fetch)
@@ -1394,7 +1431,7 @@ limits.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0xglj7nb8xczaqy2dhn78drqdwqj64rqpymxhqmmwwqzfaqassw1"))))
+         "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
     (build-system gnu-build-system)
     (native-inputs                      ;for tests
      `(("python-mock" ,python-mock)
@@ -1408,7 +1445,7 @@ limits.")
                   (replace 'check
                     (lambda _
                       (zero?
-                       (system* "python" "tests/autojump_utils_test.py"))))
+                       (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.
@@ -1433,9 +1470,9 @@ limits.")
                           `("PYTHONPATH" ":" prefix (,py)))
                         #t))))))
     (home-page "https://github.com/wting/autojump")
-    (synopsis "Shell extension for filesystem navigation")
+    (synopsis "Shell extension for file system navigation")
     (description
-     "Autojump provides a faster way to navigate your filesystem, with a \"cd
+     "Autojump provides a faster way to navigate your file system, with a \"cd
 command that learns\".  It works by maintaining a database of the directories
 you use the most from the command line and allows you to \"jump\" to
 frequently used directories by typing only a small pattern.")
@@ -1517,7 +1554,7 @@ platform-specific methods.")
              #t)))))
     (inputs
      `(("openldap" ,openldap)
-       ("openssl" ,openssl)
+       ("gnutls" ,gnutls)
        ("sasl" ,cyrus-sasl)))
     (synopsis "User-space component to the Linux auditing system")
     (description
@@ -1531,14 +1568,14 @@ done with the @code{auditctl} utility.")
 (define-public nmap
   (package
     (name "nmap")
-    (version "7.12")
+    (version "7.40")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nmap.org/dist/nmap-" version
                                   ".tar.bz2"))
               (sha256
                (base32
-                "014vagh9ak10hidwzp9s6g30y5h5fhsh8wykcnc1hnn9hwm0ipv3"))
+                "121i9mgyc28ra2825akd0ix5qyssv4xc2qlx296mam6hzxgnc54y"))
               (modules '((guix build utils)))
               (snippet
                '(map delete-file-recursively
@@ -1564,6 +1601,12 @@ done with the @code{auditctl} utility.")
      '(#:configure-flags '("--without-zenmap")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'configure 'patch-Makefile
+           (lambda _
+             (substitute* "Makefile"
+               ;; Do not attempt to build lua.
+               (("build-dnet build-lua") "build-dnet"))
+             #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (define (make out . args)
@@ -1644,7 +1687,7 @@ throughput (in the same interval).")
 (define-public thefuck
   (package
     (name "thefuck")
-    (version "3.9")
+    (version "3.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/nvbn/thefuck/archive/"
@@ -1652,15 +1695,17 @@ throughput (in the same interval).")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0g4s2vkpl0mqhkdkbzib07qr4xf0cq25fvhdhna52290qgd69pwf"))))
+                "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
     (build-system python-build-system)
-    (native-inputs
-     `(("python-setuptools" ,python-setuptools)))
     (inputs
      `(("python-colorama" ,python-colorama)
        ("python-decorator" ,python-decorator)
        ("python-psutil" ,python-psutil)
        ("python-six" ,python-six)))
+    (native-inputs
+     ;; Requires setuptools >= 17.1 due to some features used, while our
+     ;; python currently only includes 12.0. TODO: Remove this input.
+     `(("python-setuptools" ,python-setuptools)))
     (home-page "https://github.com/nvbn/thefuck")
     (synopsis "Correct mistyped console command")
     (description
@@ -1698,3 +1743,176 @@ a new command using the matched rule, and runs it.")
 display your disk usage in whatever format you prefer.  It is designed to be
 highly portable.  Great for heterogenous networks.")
     (license license:zlib)))
+
+(define-public cbatticon
+  (package
+    (name "cbatticon")
+    (version "1.6.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/valr/"
+                                  name "/archive/" version ".tar.gz"))
+              (sha256
+               (base32
+                "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx"))
+              (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             "CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)))) ; no configure script
+    (inputs
+     `(("gtk+" ,gtk+)
+       ("gettext" ,gettext-minimal)
+       ("libnotify" ,libnotify)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Lightweight battery icon for the system tray")
+    (description "cbatticon is a lightweight battery icon that displays
+the status of your battery in the system tray.")
+    (home-page "https://github.com/valr/cbatticon")
+    (license license:gpl2+)))
+
+(define-public interrobang
+  (let ((revision "1")
+        (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
+    (package
+      (name "interrobang")
+      (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://github.com/TrilbyWhite/interrobang")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f ; no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)) ; no configure script
+         #:make-flags (list (string-append "PREFIX="
+                                           (assoc-ref %outputs "out")))))
+      (inputs
+       `(("libx11" ,libx11)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)))
+      (synopsis "Scriptable launcher menu")
+      (description "Interrobang is a scriptable launcher menu with a customizable
+shortcut syntax and completion options.")
+      (home-page "https://github.com/TrilbyWhite/interrobang")
+      (license license:gpl3+))))
+
+
+
+(define-public pam-krb5
+  (package
+    (name "pam-krb5")
+    (version "4.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://archives.eyrie.org/software/kerberos/" name "-"
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'disable-tests
+           (lambda _
+             ;; The build container seems to interfere with some tests.
+             (substitute* "tests/TESTS"
+               (("module/basic\n")  ""))
+             (substitute* "tests/TESTS"
+               (("pam-util/vector\n")  ""))
+             #t)))))
+    (inputs
+     `(("linux-pam" ,linux-pam)
+       ("mit-krb5" ,mit-krb5)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("perl-test-pod" ,perl-test-pod))) ; required for tests
+    (synopsis "Kerberos PAM module")
+    (description
+     "Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.
+It supports ticket refreshing by screen savers, configurable
+authorization handling, authentication of non-local accounts for network
+services, password changing, and password expiration, as well as all the
+standard expected PAM features.  It works correctly with OpenSSH, even
+with ChallengeResponseAuthentication and 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")
+    ;; 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
+    ;; clause requiring us to give all recipients a copy.
+    (license license:gpl1+)))
+
+;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
+
+(define-public sunxi-tools
+  (package
+    (name "sunxi-tools")
+    (version "1.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/linux-sunxi/"
+                           "sunxi-tools/archive/v" version ".tar.gz"))
+       (sha256
+        (base32 "08iqwj95qw2s7ilhrdi2lkbc8dx64zk5lzz1qk587jr0lla81x41"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Remove binaries contained in the tarball which are only for the
+        ;; target and can be regenerated anyway.
+        '(delete-file-recursively "bin"))
+       (file-name (string-append name "-" version ".tar.gz"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libusb" ,libusb)))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests exist
+       #:make-flags (list (string-append "PREFIX="
+                                         (assoc-ref %outputs "out"))
+                          "CROSS_COMPILE="
+                          "CC=gcc"
+                          "all")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "install-all" "install-misc"
+                           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-fexc}, @command{bin2fex}, @command{fex2bin}: Compile
+a textual description of a board (.fex) to a binary representation (.bin).
+@item @command{sunxi-fel}: Puts an Allwinner device into FEL mode which
+makes it register as a special USB device (rather than USB host).
+You can then connect it to another computer and flash it from there.
+@item @command{sunxi-nand-part}: Partitions NAND flash.
+@item @command{sunxi-bootinfo}: Reads out boot0 and boot1 (Allwinner
+bootloader) parameters.
+@item @command{sunxi-pio}: Sets GPIO parameters and oscillates a GPIO
+in order to be able to find it.
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
+@end enumerate")
+    (license license:gpl2+)))