summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-02-16 13:14:26 -0500
committerMark H Weaver <mhw@netris.org>2018-02-16 13:14:26 -0500
commit150062f19060687dbf8e2cbe6a22c2f8600e7c4e (patch)
tree4c25afac34832d118407180d66121f1a2f0c761d /gnu
parent54a93355c22ab533743cd948cf7b57993c789686 (diff)
parent6a3cf4e6c7d77634d67902215f0017c12455c6fb (diff)
downloadguix-150062f19060687dbf8e2cbe6a22c2f8600e7c4e.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/acl.scm2
-rw-r--r--gnu/packages/admin.scm2
-rw-r--r--gnu/packages/attr.scm2
-rw-r--r--gnu/packages/audio.scm2
-rw-r--r--gnu/packages/avahi.scm45
-rw-r--r--gnu/packages/avr.scm2
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/benchmark.scm4
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/ci.scm10
-rw-r--r--gnu/packages/compression.scm46
-rw-r--r--gnu/packages/crypto.scm6
-rw-r--r--gnu/packages/databases.scm6
-rw-r--r--gnu/packages/dns.scm6
-rw-r--r--gnu/packages/emacs.scm96
-rw-r--r--gnu/packages/erlang.scm50
-rw-r--r--gnu/packages/flashing-tools.scm106
-rw-r--r--gnu/packages/fontutils.scm2
-rw-r--r--gnu/packages/game-development.scm6
-rw-r--r--gnu/packages/games.scm2
-rw-r--r--gnu/packages/gkrellm.scm14
-rw-r--r--gnu/packages/gnustep.scm39
-rw-r--r--gnu/packages/gsasl.scm2
-rw-r--r--gnu/packages/gtk.scm2
-rw-r--r--gnu/packages/guile.scm16
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/java.scm24
-rw-r--r--gnu/packages/kde.scm35
-rw-r--r--gnu/packages/ldc.scm6
-rw-r--r--gnu/packages/libunwind.scm2
-rw-r--r--gnu/packages/linux.scm8
-rw-r--r--gnu/packages/lout.scm2
-rw-r--r--gnu/packages/mpd.scm2
-rw-r--r--gnu/packages/networking.scm6
-rw-r--r--gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch65
-rw-r--r--gnu/packages/python-web.scm4
-rw-r--r--gnu/packages/python.scm96
-rw-r--r--gnu/packages/ratpoison.scm2
-rw-r--r--gnu/packages/skribilo.scm2
-rw-r--r--gnu/packages/telephony.scm2
-rw-r--r--gnu/packages/terminals.scm110
-rw-r--r--gnu/packages/texinfo.scm2
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/web.scm44
-rw-r--r--gnu/packages/xdisorg.scm2
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/packages/xiph.scm4
-rw-r--r--gnu/services/avahi.scm4
-rw-r--r--gnu/services/base.scm256
-rw-r--r--gnu/services/web.scm27
-rw-r--r--gnu/system/install.scm15
52 files changed, 838 insertions, 371 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 702588ae6d..846de07a5d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -601,7 +601,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/crawl-upgrade-saves.patch		\
   %D%/packages/patches/crda-optional-gcrypt.patch		\
   %D%/packages/patches/crossmap-allow-system-pysam.patch	\
-  %D%/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch \
   %D%/packages/patches/clucene-contribs-lib.patch               \
   %D%/packages/patches/cube-nocheck.patch			\
   %D%/packages/patches/cursynth-wave-rand.patch			\
diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm
index 66e4c33fcc..7880e533da 100644
--- a/gnu/packages/acl.scm
+++ b/gnu/packages/acl.scm
@@ -72,7 +72,7 @@
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("perl" ,perl)))
-    (home-page "http://savannah.nongnu.org/projects/acl")
+    (home-page "https://savannah.nongnu.org/projects/acl")
     (synopsis
      "Library and tools for manipulating access control lists")
     (description
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e636b2a1b1..ae89bd07a1 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1184,7 +1184,7 @@ network, which causes enabled computers to power on.")
        #:tests? #f                                ; no 'check' target
        #:make-flags (list (string-append "prefix="
                                          (assoc-ref %outputs "out")))))
-    (home-page "http://www.nongnu.org/dmidecode/")
+    (home-page "https://www.nongnu.org/dmidecode/")
     (synopsis "Read hardware information from the BIOS")
     (description
      "Dmidecode reports information about your system's hardware as described
diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm
index 4dbe09ceca..fe102d211c 100644
--- a/gnu/packages/attr.scm
+++ b/gnu/packages/attr.scm
@@ -71,7 +71,7 @@
     (native-inputs
      `(("gettext" ,gettext-minimal)))
 
-    (home-page "http://savannah.nongnu.org/projects/attr/")
+    (home-page "https://savannah.nongnu.org/projects/attr/")
     (synopsis "Library and tools for manipulating extended attributes")
     (description
      "Portable library and tools for manipulating extended attributes.")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index eb11d6cc4e..97fd32ed94 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1591,7 +1591,7 @@ to be plugged into a wide range of audio synthesis and recording packages.")
        ("libxml2" ,libxml2)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://www.nongnu.org/lash/")
+    (home-page "https://www.nongnu.org/lash/")
     (synopsis "Audio application session manager")
     (description
      "LASH is a session management system for audio applications.  It allows
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index c8d7196d72..480b5e8d97 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -77,22 +77,32 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
 (define-public nss-mdns
   (package
     (name "nss-mdns")
-    (version "0.11")
+    (version "0.12")
+    (home-page "https://github.com/lathiat/nss-mdns")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://github.com/lathiat/nss-mdns"
-                                  "/releases/download/v" version "/"
+              (uri (string-append home-page "/releases/download/v" version "/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "14jwy6mklzgjz3mfmw67mxhszrw9d3d3yjjhg87j4crci6m19i39"))))
+                "1p2vj9fz4kzrjrj81ipf4qwgnr2n7a8cbzw4bpk18xyqhdx8h775"))
+              (patches
+               (list (origin
+                       ;; See
+                       ;; <https://github.com/lathiat/nss-mdns/issues/26#issuecomment-364781799>.
+                       (uri (string-append
+                             home-page
+                             "/commit/31ccbec3b4f054e590c7c880d8a8a50cfc97127d.patch"))
+                       (sha256
+                        (base32
+                         "0b1jmhnkpsczbph4ala7x3rafwxdg93277s30iaxh37jnvgjnhsd"))
+                       (method url-fetch))))))
     (build-system gnu-build-system)
     (arguments
      ;; The Avahi daemon socket is expected by src/Makefile.am to be at
      ;; "$(localstatedir)/run/avahi-daemon/socket", so set $(localstatedir)
      ;; appropriately.
      '(#:configure-flags '("--localstatedir=/var")))
-    (home-page "https://github.com/lathiat/nss-mdns")
     (synopsis "Multicast DNS Name Service Switch (@dfn{NSS}) plug-in")
     (description
      "Nss-mdns is a plug-in for the GNU C Library's Name Service Switch
@@ -100,28 +110,3 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
 most often used in home and other small networks without a local name server,
 to resolve host names in the @samp{.local} top-level domain.")
     (license lgpl2.1+)))
-
-(define-public nss-mdns-0.10
-  ;; Kept here to work around in bug in 0.11: <https://bugs.gnu.org/30396> and
-  ;; <https://github.com/lathiat/nss-mdns/issues/26>.
-  (package
-    (inherit nss-mdns)
-    (version "0.10")
-    (source (origin
-              (method url-fetch)
-              (uri (list
-                    (string-append
-                     "mirror://debian/pool/main/n/nss-mdns/nss-mdns_"
-                     version ".orig.tar.gz")
-                    "http://pkgs.fedoraproject.org/repo/pkgs/nss-mdns/nss-mdns-0.10.tar.gz/03938f17646efbb50aa70ba5f99f51d7/nss-mdns-0.10.tar.gz"
-
-                    ;; This used to be the canonical URL but it vanished.
-                    ;; See <http://bugs.gnu.org/18704>.
-                    ;; (string-append
-                    ;;  "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-"
-                    ;;  version ".tar.gz")
-                    ))
-              (sha256
-               (base32
-                "0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y"))
-              (file-name (string-append "nss-mdns-" version ".tar.gz"))))))
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index e9e93cbb9a..4c7ebf5a8f 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -100,7 +100,7 @@
              #t)))))
     (native-inputs `(("avr-binutils" ,avr-binutils)
                      ("avr-gcc" ,avr-gcc)))
-    (home-page "http://www.nongnu.org/avr-libc/")
+    (home-page "https://www.nongnu.org/avr-libc/")
     (synopsis "The AVR C Library")
     (description
      "AVR Libc is a project whose goal is to provide a high quality C library
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 61d4acaefc..48d4b08af6 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -358,7 +358,7 @@ errors.")
     (arguments
      `(#:python ,python-2
        #:tests? #f))
-    (home-page "http://www.nongnu.org/rdiff-backup/")
+    (home-page "https://www.nongnu.org/rdiff-backup/")
     (synopsis "Local/remote mirroring+incremental backup")
     (description
      "Rdiff-backup backs up one directory to another, possibly over a network.
@@ -438,7 +438,7 @@ rsnapshot uses hard links to deduplicate identical files.")
        ("lzo" ,lzo)
        ("bzip2" ,bzip2)
        ("zlib" ,zlib)))
-    (home-page "http://nongnu.org/libchop/")
+    (home-page "https://nongnu.org/libchop/")
     (synopsis "Tools & library for data backup and distributed storage")
     (description
      "Libchop is a set of utilities and library for data backup and
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 8d2b17ba48..ae7279f286 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -34,7 +34,7 @@
 (define-public fio
   (package
     (name "fio")
-    (version "3.3")
+    (version "3.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -42,7 +42,7 @@
                        "fio-" version ".tar.bz2"))
               (sha256
                (base32
-                "0mrilkm7qdn6fgzlprqp7w48bwwm362rmwxqirbzqmi54k3mj3ar"))))
+                "01dqvg5mgb4fh1jqqmi179k2rb517p4h4sr3mhlnd0alk1x12w8a"))))
     (build-system gnu-build-system)
     (arguments
      '(#:test-target "test"
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f790737f5e..91355f24e2 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2074,7 +2074,7 @@ identify enrichments with functional annotations of the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.9.17")
+    (version "0.9.18")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2083,7 +2083,7 @@ identify enrichments with functional annotations of the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1p3fd1ad7hg2w09w3sjk4pxqx0p0gaqys8ipg3f4adg77mn9m9yd"))))
+                "1vi2nddmy7knrv8gsprwqp6a40k63n3f2dfvx22ipjhrg9xir96f"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 2a22f222d3..b5cfa7f1ab 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -187,8 +187,8 @@ their dependencies.")
       (license l:gpl3+))))
 
 (define-public cuirass
-  (let ((commit "9cfea9fe2e3ca6a3d1b832a6ec217426ec973c93")
-        (revision "10"))
+  (let ((commit "4ab2f2c3f084ffd9d0f77134cc1af0f8cf0e13be")
+        (revision "12"))
     (package
       (name "cuirass")
       (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -200,7 +200,7 @@ their dependencies.")
                 (file-name (string-append name "-" version))
                 (sha256
                  (base32
-                  "177klidmsw12kjk9dzawc0bqcwqlplgx45m87qpgjfx3cnk28i2b"))))
+                  "1r97z5lkzg6vx014rfmv1pp3x3bl1shb6wkcgnlncwqf56a9bzi1"))))
       (build-system gnu-build-system)
       (arguments
        '(#:modules ((guix build utils)
@@ -231,6 +231,7 @@ their dependencies.")
                       (sqlite (assoc-ref inputs "guile-sqlite3"))
                       (git    (assoc-ref inputs "guile-git"))
                       (bytes  (assoc-ref inputs "guile-bytestructures"))
+                      (fibers (assoc-ref inputs "guile-fibers"))
                       (guix   (assoc-ref inputs "guix"))
                       (guile  (assoc-ref %build-inputs "guile"))
                       (effective (read-line
@@ -245,6 +246,8 @@ their dependencies.")
                                              effective ":"
                                              sqlite "/share/guile/site/"
                                              effective ":"
+                                             fibers "/share/guile/site/"
+                                             effective ":"
                                              guix "/share/guile/site/"
                                              effective)))
                  ;; Make sure 'cuirass' can find the 'evaluate' command, as
@@ -256,6 +259,7 @@ their dependencies.")
                  #t))))))
       (inputs
        `(("guile" ,guile-2.2)
+         ("guile-fibers" ,guile-fibers)
          ("guile-json" ,guile-json)
          ("guile-sqlite3" ,guile-sqlite3)
          ("guile-git" ,guile-git)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 3bf2ec1617..f25c4bba3a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -153,7 +153,7 @@ the @code{zlib} source.")
                "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi"))))
    (build-system gnu-build-system)
    (inputs `(("zlib" ,zlib)))
-   (home-page "http://savannah.nongnu.org/projects/fastjar")
+   (home-page "https://savannah.nongnu.org/projects/fastjar")
    (synopsis "Replacement for Sun's 'jar' utility")
    (description
     "FastJar is an attempt to create a much faster replacement for Sun's 'jar'
@@ -330,7 +330,7 @@ compatible with bzip2 – both at file format and command line level.")
 (define-public pbzip2
   (package
     (name "pbzip2")
-    (version "1.1.12")
+    (version "1.1.13")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://launchpad.net/pbzip2/"
@@ -338,14 +338,14 @@ compatible with bzip2 – both at file format and command line level.")
                                  "/+download/" name "-" version ".tar.gz"))
              (sha256
               (base32
-               "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"))))
+               "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg"))))
     (build-system gnu-build-system)
     (inputs
      `(("bzip2" ,bzip2)))
     (arguments
-     `(#:tests? #f ; no tests
+     `(#:tests? #f                      ; no tests
        #:phases (modify-phases %standard-phases
-                  (delete 'configure))
+                  (delete 'configure))  ; no configure script
        #:make-flags (list (string-append "PREFIX=" %output))))
     (home-page "http://compression.ca/pbzip2/")
     (synopsis "Parallel bzip2 implementation")
@@ -452,7 +452,7 @@ Python strings.")
 (define-public lzop
   (package
     (name "lzop")
-    (version "1.03")
+    (version "1.04")
     (source
      (origin
        (method url-fetch)
@@ -460,10 +460,10 @@ Python strings.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "1jdjvc4yjndf7ihmlcsyln2rbnbaxa86q4jskmkmm7ylfy65nhn1"))))
+         "0h9gb8q7y54m9mvy3jvsmxf21yx8fc3ylzh418hgbbv0i8mbcwky"))))
     (build-system gnu-build-system)
     (inputs `(("lzo" ,lzo)))
-    (home-page "http://www.lzop.org/")
+    (home-page "https://www.lzop.org/")
     (synopsis "Compress or expand files")
     (description
      "Lzop is a file compressor which is very similar to gzip.  Lzop uses the
@@ -484,7 +484,7 @@ some compression ratio).")
               (base32
                "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz"))))
     (build-system gnu-build-system)
-    (home-page "http://www.nongnu.org/lzip/lzip.html")
+    (home-page "https://www.nongnu.org/lzip/lzip.html")
     (synopsis "Lossless data compressor based on the LZMA algorithm")
     (description
      "Lzip is a lossless data compressor with a user interface similar to the
@@ -496,16 +496,16 @@ archiving.  Lzip is a clean implementation of the LZMA algorithm.")
 (define-public lziprecover
   (package
     (name "lziprecover")
-    (version "1.19")
+    (version "1.20")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/lzip/" name "/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0z5fbkm0qprypjf7kxkqganniibj0zml13zvfkrchnjafcmmzyld"))))
+                "0fpnmdxayvd1ff0rk9606dvr431ji6b1v71km4ww244rih1rmmzz"))))
     (build-system gnu-build-system)
-    (home-page "http://www.nongnu.org/lzip/lziprecover.html")
+    (home-page "https://www.nongnu.org/lzip/lziprecover.html")
     (synopsis "Recover and decompress data from damaged lzip files")
     (description
      "Lziprecover is a data recovery tool and decompressor for files in the lzip
@@ -1899,7 +1899,7 @@ archive can be reverted.")
     (inputs
      `(("perl" ,perl)
        ("file" ,file)))
-    (home-page "http://www.nongnu.org/atool/")
+    (home-page "https://www.nongnu.org/atool/")
     (synopsis  "Universal tool to manage file archives of various types")
     (description "The main command is @command{aunpack} which extracts files
 from an archive.  The other commands provided are @command{apack} (to create
@@ -1980,7 +1980,7 @@ algorithms in Java.")
     (arguments
      `(#:configure-flags
        (list "CC=gcc")))
-    (home-page "http://www.nongnu.org/lzip/lunzip.html")
+    (home-page "https://www.nongnu.org/lzip/lunzip.html")
     (synopsis "Small, stand-alone lzip decompressor")
     (description
      "Lunzip is a decompressor for files in the lzip compression format (.lz),
@@ -1995,19 +1995,19 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
 (define-public clzip
   (package
     (name "clzip")
-    (version "1.9")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://savannah/lzip/"
                            name "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "1brvsnpihzj81cf4wk2x5bnr2qldlq0wncpdbzxmzvxapm1cq2yc"))))
+        (base32 "03xcmhl3dya4jrwmsqh09ikimpb36fr3vkh2bwfzz1sbcns0cdg3"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
        (list "CC=gcc")))
-    (home-page "http://www.nongnu.org/lzip/clzip.html")
+    (home-page "https://www.nongnu.org/lzip/clzip.html")
     (synopsis "Small, stand-alone lzip compressor and decompressor")
     (description
      "Clzip is a compressor and decompressor for files in the lzip compression
@@ -2021,14 +2021,14 @@ Clzip is intended to be fully compatible with the regular lzip package.")
 (define-public lzlib
   (package
     (name "lzlib")
-    (version "1.9")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://savannah/lzip/"
                            name "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "13mssf3hrcnmd4ijbqnxfk0zgj1q5lvpxxkm1hmrbl1h73czhwi4"))))
+        (base32 "0hqhnj2lzqacdbmmnpy91lsm1rd9zlngs1q6s9pyahsv1a0bfshx"))))
     (build-system gnu-build-system)
     ;; The included minilzip binary is only ~16 smaller than the ‘real’ lzip.
     ;; It's used during the test suite, but don't be tempted to install it.
@@ -2036,7 +2036,7 @@ Clzip is intended to be fully compatible with the regular lzip package.")
      `(#:configure-flags
        (list "CC=gcc"
              "--enable-shared")))       ; only static (.a) is built by default
-    (home-page "http://www.nongnu.org/lzip/lzlib.html")
+    (home-page "https://www.nongnu.org/lzip/lzlib.html")
     (synopsis "Lzip data compression C library")
     (description
      "Lzlib is a C library for in-memory LZMA compression and decompression in
@@ -2049,18 +2049,18 @@ corrupted input.")
 (define-public plzip
   (package
     (name "plzip")
-    (version "1.6")
+    (version "1.7")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://savannah/lzip/"
                            name "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "0z2cs6vn4xl65wakd013xl3sdfpg8dr0cvcjwc2slh8y9bz7j7ax"))))
+        (base32 "1dzjp9r7krwpsn224bhcqbzd5aj5b4556sdi9yzl2bzbk3fjrqlm"))))
     (build-system gnu-build-system)
     (inputs
      `(("lzlib" ,lzlib)))
-    (home-page "http://www.nongnu.org/lzip/plzip.html")
+    (home-page "https://www.nongnu.org/lzip/plzip.html")
     (synopsis "Parallel lossless data compressor for the lzip format")
     (description
      "Plzip is a massively parallel (multi-threaded) lossless data compressor
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 5e5bc4de05..225c26378d 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -583,7 +583,7 @@ data on your platform, so the seed itself will be as random as possible.
 (define-public crypto++
   (package
     (name "crypto++")
-    (version "5.6.5")
+    (version "6.0.0")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append "https://cryptopp.com/cryptopp"
@@ -591,9 +591,7 @@ data on your platform, so the seed itself will be as random as possible.
                                   ".zip"))
               (sha256
                (base32
-                "0d1cqdz369ivi082k59025wvxzywvkizw7i0pf5h0a1izs3g8pm7"))
-              (patches
-               (search-patches "crypto++-fix-dos-in-asn.1-decoders.patch"))))
+                "1nidm6xbdza5cbgf5md2zznmaq692rfyjasycwipl6rzdfwjvb34"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 634b3c65ad..29b6ca1698 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -23,7 +23,7 @@
 ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
@@ -1273,7 +1273,7 @@ columns, primary keys, unique constraints and relationships.")
 (define-public perl-dbd-pg
   (package
     (name "perl-dbd-pg")
-    (version "3.7.0")
+    (version "3.7.4")
     (source
      (origin
        (method url-fetch)
@@ -1281,7 +1281,7 @@ columns, primary keys, unique constraints and relationships.")
                            "DBD-Pg-" version ".tar.gz"))
        (sha256
         (base32
-         "0nb4wmkhq1q9f4g42sxy1m3d0xjqd3plqkxpmzni43ygr5ch8vp3"))))
+         "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-dbi" ,perl-dbi)))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index b9e75f349c..4208edf86b 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -443,16 +443,16 @@ served by AS112.  Stub and forward zones are supported.")
 (define-public yadifa
   (package
     (name "yadifa")
-    (version "2.3.7")
+    (version "2.3.8")
     (source
-     (let ((build "7543"))
+     (let ((build "7713"))
        (origin
          (method url-fetch)
          (uri
           (string-append "http://cdn.yadifa.eu/sites/default/files/releases/"
                          name "-" version "-" build ".tar.gz"))
          (sha256
-          (base32 "0j4zj7h72ni3bbqbm1632z0vx8b9fjdrn4n1yx4yyzkpchsipwff")))))
+          (base32 "15xhzg4crjcxascwpz6y8qpqcgypzv2p9bspdskp4nx1x1y4316c")))))
     (build-system gnu-build-system)
     (native-inputs
      `(("which" ,which)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index da524f8199..f2117fb8b9 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -335,7 +335,7 @@ editor (without an X toolkit)" )
              #t)))))
     (inputs `(("guile" ,guile-2.0)))
     (native-inputs `(("emacs" ,emacs-minimal)))
-    (home-page "http://nongnu.org/geiser/")
+    (home-page "https://nongnu.org/geiser/")
     (synopsis "Collection of Emacs modes for Guile and Racket hacking")
     (description
      "Geiser is a collection of Emacs major and minor modes that conspire with
@@ -1027,7 +1027,7 @@ within a specified width.  It is useful for displaying long track titles.")
                  (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
              #t)))))
     (native-inputs `(("emacs" ,emacs-minimal)))
-    (home-page "http://savannah.nongnu.org/projects/bbdb/")
+    (home-page "https://savannah.nongnu.org/projects/bbdb/")
     (synopsis "Contact management utility for Emacs")
     (description
      "BBDB is the Insidious Big Brother Database for GNU Emacs.  It provides
@@ -4633,7 +4633,7 @@ extensibility.")
     ;; With `guix lint' the home-page URI returns a small page saying
     ;; that your browser does not handle frames. This triggers the "URI
     ;; returns suspiciously small file" warning.
-    (home-page "http://www.nongnu.org/m17n/")
+    (home-page "https://www.nongnu.org/m17n/")
     (synopsis "Multilingual text processing library (database)")
     (description "The m17n library realizes multilingualization of
 many aspects of applications.  The m17n library represents
@@ -4669,7 +4669,7 @@ This package contains the library database.")
     ;; With `guix lint' the home-page URI returns a small page saying
     ;; that your browser does not handle frames. This triggers the "URI
     ;; returns suspiciously small file" warning.
-    (home-page "http://www.nongnu.org/m17n/")
+    (home-page "https://www.nongnu.org/m17n/")
     (synopsis "Multilingual text processing library (runtime)")
     (description "The m17n library realizes multilingualization of
 many aspects of applications.  The m17n library represents
@@ -7059,3 +7059,91 @@ navigation with the grails mode.")
 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
 @kbd{C-<} to jump to the next and previous slide.")
       (license license:gpl3+))))
+
+(define-public emacs-scratch-el
+  (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
+        (revision "1"))
+    (package
+      (name "emacs-scratch-el")
+      (version (git-version "1.2" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/ieure/scratch-el.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
+      (build-system emacs-build-system)
+      (native-inputs
+       `(("texinfo" ,texinfo)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'install 'install-doc
+             (lambda* (#:key outputs #:allow-other-keys)
+               (unless (invoke "makeinfo" "scratch.texi")
+                 (error "makeinfo failed"))
+               (install-file "scratch.info"
+                             (string-append (assoc-ref outputs "out")
+                                            "/share/info"))
+               #t)))))
+      (home-page "https://github.com/ieure/scratch-el/")
+      (synopsis "Create scratch buffers with the same mode as current buffer")
+      (description "Scratch is an extension to Emacs that enables one to create
+scratch buffers that are in the same mode as the current buffer.  This is
+notably useful when working on code in some language; you may grab code into a
+scratch buffer, and, by virtue of this extension, do so using the Emacs
+formatting rules for that language.")
+      (license license:bsd-2))))
+
+(define-public epipe
+  (package
+    (name "epipe")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
+    (build-system trivial-build-system)
+    (inputs
+     `(("bash" ,bash)
+       ("perl" ,perl)))
+    (native-inputs
+     `(("tar" ,tar)
+       ("gzip" ,gzip)))
+    (arguments
+     `(#:modules
+       ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         ;; Extract source
+         (setenv "PATH" (string-append
+                         (assoc-ref %build-inputs "tar") "/bin" ":"
+                         (assoc-ref %build-inputs "gzip") "/bin"))
+         (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+         (chdir (string-append ,name "-" ,version))
+         ;; Patch shebangs
+         (substitute* "epipe"
+           (("/usr/bin/env bash")
+            (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
+         (patch-shebang "epipe.pl"
+                        (list (string-append (assoc-ref %build-inputs "perl")
+                                             "/bin")))
+         ;; Installation
+         (for-each (lambda (file)
+                     (install-file file (string-append %output "/bin")))
+                   '("epipe" "epipe.pl"))
+         #t)))
+    (home-page "https://github.com/cute-jumper/epipe")
+    (synopsis "Pipe to the @code{emacsclient}")
+    (description "@code{epipe} provides an utility to use your editor in
+the pipeline, featuring the support for running @code{emacsclient}.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
index 77f39ee630..07aac3a088 100644
--- a/gnu/packages/erlang.scm
+++ b/gnu/packages/erlang.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Steve Sprang <scs@stevesprang.com>
 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,7 +37,7 @@
 (define-public erlang
   (package
     (name "erlang")
-    (version "20.1.7")
+    (version "20.2.3")
     (source (origin
               (method url-fetch)
               ;; The tarball from http://erlang.org/download contains many
@@ -47,7 +48,7 @@
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "00pmngdyh1h088anmx6fbk085i93ajgk92rz7qsyhfc0lx0sm0a9"))
+                "0s9g4ijdbqq21k4cqggz074d3fiimah942qisv2kgizhlivpw2nm"))
               (patches (search-patches "erlang-man-path.patch"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -63,7 +64,7 @@
                                (version-major+minor version) ".tar.gz"))
            (sha256
             (base32
-             "0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05"))))))
+             "1pyb8wbk7znsyni8d1k4dj1m01lr191dcrrzisli1z27ks7hh3lm"))))))
     (inputs
      `(("ncurses" ,ncurses)
        ("openssl" ,openssl)
@@ -94,9 +95,9 @@
          (add-after 'unpack 'remove-timestamps
            (lambda _
              (let ((source-date-epoch
-                     (time-utc->date
-                       (make-time time-utc 0 (string->number
-                                               (getenv "SOURCE_DATE_EPOCH"))))))
+                    (time-utc->date
+                     (make-time time-utc 0 (string->number
+                                            (getenv "SOURCE_DATE_EPOCH"))))))
                (substitute* "lib/reltool/src/reltool_target.erl"
                  (("Date = date\\(\\),")
                   (string-append "Date = "
@@ -115,8 +116,8 @@
                (substitute* "lib/dialyzer/test/small_SUITE_data/src/gs_make.erl"
                  (("tuple_to_list\\(date\\(\\)\\),tuple_to_list\\(time\\(\\)\\)")
                   (date->string
-                    source-date-epoch
-                    "tuple_to_list({~Y,~m,~d}), tuple_to_list({~H,~M,~S})")))
+                   source-date-epoch
+                   "tuple_to_list({~Y,~m,~d}), tuple_to_list({~H,~M,~S})")))
                (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl"
                  (("\\{Y,Mo,D\\} = date\\(\\),")
                   (date->string source-date-epoch
@@ -124,7 +125,8 @@
                (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl"
                  (("\\{H,Mi,S\\} = time\\(\\),")
                   (date->string source-date-epoch
-                                "{H,Mi,S} = {~H,~M,~S},"))))))
+                                "{H,Mi,S} = {~H,~M,~S},")))
+               #t)))
          (add-after 'patch-source-shebangs 'patch-source-env
            (lambda _
              (let ((escripts
@@ -140,31 +142,37 @@
                        "make/verify_runtime_dependencies"
                        "make/emd2exml.in"))))
                (substitute* escripts
-                 (("/usr/bin/env") (which "env"))))))
+                 (("/usr/bin/env") (which "env")))
+               #t)))
          (add-before 'configure 'set-erl-top
            (lambda _
-             (setenv "ERL_TOP" (getcwd))))
+             (setenv "ERL_TOP" (getcwd))
+             #t))
          (add-after 'patch-source-env 'autoconf
-           (lambda _ (zero? (system* "./otp_build" "autoconf"))))
+           (lambda _
+             (invoke "./otp_build" "autoconf")
+             #t))
          (add-after 'install 'patch-erl
            ;; This only works after install.
-           (lambda _
-             (substitute* (string-append (assoc-ref %outputs "out") "/bin/erl")
-               (("sed") (which "sed")))))
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (substitute* (string-append out "/bin/erl")
+                 (("sed") (which "sed")))
+               #t)))
          (add-after 'install 'install-doc
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (manpages (assoc-ref inputs "erlang-manpages"))
                     (share (string-append out "/share/")))
-             (mkdir-p share)
-             (mkdir-p (string-append share "/misc/erlang"))
-             (with-directory-excursion share
-               (and
-                 (zero? (system* "tar" "xvf" manpages))
+               (mkdir-p share)
+               (mkdir-p (string-append share "/misc/erlang"))
+               (with-directory-excursion share
+                 (invoke "tar" "xvf" manpages)
                  (rename-file "COPYRIGHT"
                               (string-append share "/misc/erlang/COPYRIGHT"))
                  ;; Delete superfluous file.
-                 (delete-file "PR.template")))))))))
+                 (delete-file "PR.template"))
+               #t))))))
     (home-page "http://erlang.org/")
     (synopsis "The Erlang programming language")
     (description
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 9683c6b4a3..5309510d40 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -31,10 +31,12 @@
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages libftdi)
@@ -138,7 +140,7 @@ brick your device.")
     (native-inputs
      `(("bison" ,bison)
        ("flex" ,flex)))
-    (home-page "http://www.nongnu.org/avrdude/")
+    (home-page "https://www.nongnu.org/avrdude/")
     (synopsis "AVR downloader and uploader")
     (description
      "AVRDUDE is a utility to download/upload/manipulate the ROM and
@@ -330,3 +332,105 @@ USB and interacts with low-level software running on the device, known as Loke.
 Loke and Heimdall communicate via the custom Samsung-developed protocol typically
 referred to as the \"Odin 3 protocol\".")
     (license license:expat)))
+
+(define-public ifdtool
+  (package
+    (name "ifdtool")
+    (version "4.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://review.coreboot.org/p/coreboot")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nw555i0fm5kljha9h47bk70ykbwv8ddfk6qhz6kfqb79vzhy4h2"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list "CC=gcc"
+             "INSTALL=install"
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+        (add-after 'unpack 'chdir
+          (lambda _
+            (chdir "util/ifdtool")
+            #t))
+        (delete 'configure)
+        (delete 'check))))
+    (home-page "https://github.com/corna/me_cleaner/")
+    (synopsis "Intel Firmware Descriptor dumper")
+    (description "This package provides @command{ifdtool}, a program to
+dump Intel Firmware Descriptor data of an image file.")
+    (license license:gpl2)))
+
+(define-public intelmetool
+  (package
+    (name "intelmetool")
+    (version "4.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://review.coreboot.org/p/coreboot")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nw555i0fm5kljha9h47bk70ykbwv8ddfk6qhz6kfqb79vzhy4h2"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("pciutils" ,pciutils)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:make-flags
+       (list "CC=gcc"
+             "INSTALL=install"
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+        (add-after 'unpack 'chdir
+          (lambda _
+            (chdir "util/intelmetool")
+            #t))
+        (delete 'configure)
+        (delete 'check))))
+    (home-page "https://github.com/zamaudio/intelmetool")
+    (synopsis "Intel Management Engine tools")
+    (description "This package provides tools for working with Intel
+Management Engine (ME).  You need to @code{sudo rmmod mei_me} and
+@code{sudo rmmod mei} before using this tool.  Also pass
+@code{iomem=relaxed} to the Linux kernel command line.")
+    (license license:gpl2)))
+
+(define-public me-cleaner
+  (package
+    (name "me-cleaner")
+    (version "1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/corna/me_cleaner/"
+                                  "archive/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "1pgwdqy0jly80nhxmlmyibs343497yjzs6dwfbkcw0l1gjm8i5hw"))
+              (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+ (add-after 'unpack 'create-setup.py
+           (lambda _
+             (call-with-output-file "setup.py"
+               (lambda (port)
+                 (format port "\
+from setuptools import setup
+setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py'])
+" ,version)))
+             #t)))))
+    (home-page "https://github.com/corna/me_cleaner")
+    (synopsis "Intel ME cleaner")
+    (description "This package provides tools for disabling Intel
+ME as far as possible (it only edits ME firmware image files).")
+    (license license:gpl3+)))
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index d34b4b42f9..664cbdb902 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -441,7 +441,7 @@ resolution.")
      `(("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("freetype" ,freetype)))
-    (home-page "http://www.nongnu.org/m17n/")
+    (home-page "https://www.nongnu.org/m17n/")
     (synopsis "Library for handling OpenType Font")
     (description "This library can read Open Type Layout Tables from an OTF
 file.  Currently these tables are supported; head, name, cmap, GDEF, GSUB, and
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index a276be692b..ffc3522919 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -240,7 +240,7 @@ PCM data.")
               ("ncurses" ,ncurses)
               ("sdl" ,sdl)
               ("zlib" ,zlib)))
-    (home-page "http://www.nongnu.org/gzochi/")
+    (home-page "https://www.nongnu.org/gzochi/")
     (synopsis "Scalable middleware for multiplayer games")
     (description
      "gzochi is a framework for developing massively multiplayer online games.
@@ -386,7 +386,7 @@ support.")
 (define-public tiled
   (package
     (name "tiled")
-    (version "1.1.1")
+    (version "1.1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -394,7 +394,7 @@ support.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "102vw13iw1kbjj6h2sm8gl1jfvmqgq0zddd6hdmqagza5b6w32k3"))))
+                "0l4wc10d10fi0a5spbi318kjfzlizmycpr4wwlq04sk3b5kra0w0"))))
     (build-system gnu-build-system)
     (inputs
      `(("qtbase" ,qtbase)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 71fce7f5d3..51f158d939 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4726,7 +4726,7 @@ The Flag.  You can even design your own maps!")
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("imagemagick" ,imagemagick)))
-    (home-page "http://www.nongnu.org/enigma")
+    (home-page "https://www.nongnu.org/enigma")
     (synopsis "Puzzle game with a dexterity component")
     (description "Enigma is a puzzle game with 550 unique levels.  The object
 of the game is to find and uncover pairs of identically colored ‘Oxyd’ stones.
diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm
index 6ad4fe6ff3..4eb906e40d 100644
--- a/gnu/packages/gkrellm.scm
+++ b/gnu/packages/gkrellm.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,7 +31,7 @@
 (define-public gkrellm
   (package
     (name "gkrellm")
-    (version "2.3.5")
+    (version "2.3.10")
     (source
      (origin
       (method url-fetch)
@@ -38,7 +39,7 @@
                           version ".tar.bz2"))
       (sha256
        (base32
-        "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"))))
+        "0rnpzjr0ys0ypm078y63q4aplcgdr5nshjzhmz330n6dmnxci7lb"))))
     (build-system gnu-build-system)
     (inputs
      `(("gettext" ,gettext-minimal)
@@ -48,13 +49,14 @@
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (arguments
-     `(#:tests? #f ; there is no check target
-       #:phases (modify-phases %standard-phases (delete 'configure))
+     `(#:tests? #f                      ; there is no check target
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))           ; no configure script
        #:make-flags
        (let ((out (assoc-ref %outputs "out")))
          (list (string-append "INSTALLROOT=" out)
-               "CC=gcc"
-               "X11_LIBS = -lX11 -lSM -lICE -lgmodule-2.0"))))
+               "CC=gcc"))))
     (home-page "http://gkrellm.srcbox.net/")
     (synopsis "System monitors")
     (description
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 0e9cf230f2..bd28ceaa00 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,7 +102,8 @@ to easily create cross-compiled binaries.")
                ;; The path to wmsetbg in Guix requires 67 extra characters.
                (substitute* "src/defaults.c"
                  (("len = strlen\\(text\\) \\+ 40;")
-                  (string-append "len = strlen(text) + 107;"))))))
+                  (string-append "len = strlen(text) + 107;")))
+               #t)))
          (add-after 'install 'install-xsession
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -119,7 +121,7 @@ to easily create cross-compiled binaries.")
                           (string-map (match-lambda
                                         (#\newline #\space)
                                         (chr chr))
-                                      ,synopsis) %output))))
+                                      ,synopsis) out))))
              #t))
          (add-after 'install-xsession 'wrap
             (lambda* (#:key outputs #:allow-other-keys)
@@ -128,7 +130,8 @@ to easily create cross-compiled binaries.")
                 ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen'
                 ;; etc., so make sure everything is in $PATH.
                 (wrap-program (string-append bin "/wmaker.inst")
-                  `("PATH" ":" prefix (,bin)))))))))
+                  `("PATH" ":" prefix (,bin)))
+                #t))))))
     (inputs
      `(("libxmu" ,libxmu)
        ("libxft" ,libxft)
@@ -154,7 +157,7 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
 (define-public wmbattery
   (package
     (name "wmbattery")
-    (version "2.50")
+    (version "2.51")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -162,22 +165,16 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
                     version ".orig.tar.gz"))
               (sha256
                (base32
-                "0hi6bivv3xd2k68w08krndfl68wdx7nmc2wjzsmcd4q3qgwgyk44"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Fix memory leak:
-               ;; <https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00466.html>.
-               '(substitute* "upower.c"
-                  (("up = up_client_new\\(\\);")
-                   (string-append "if (!up)\n"
-                                  "                up = up_client_new();"))))))
+                "084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f              ; no "check" target
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+           (lambda _
+             (invoke "autoreconf" "-vfi")
+             #t)))))
     (inputs
      `(("glib" ,glib)
        ("libx11" ,libx11)
@@ -188,7 +185,7 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmbattery")
+    (home-page "http://www.dockapps.net/wmbattery")
     (synopsis "Display laptop battery info")
     (description
      "Wmbattery displays the status of your laptop's battery in a small icon.
@@ -226,7 +223,7 @@ other compatible window managers.")
 (define-public wmcpuload
   (package
     (name "wmcpuload")
-    (version "1.0.1")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -234,7 +231,7 @@ other compatible window managers.")
                     name "_" version ".orig.tar.gz"))
               (sha256
                (base32
-                "0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n"))))
+                "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g"))))
     (build-system gnu-build-system)
     (inputs
      `(("libx11" ,libx11)
@@ -242,7 +239,7 @@ other compatible window managers.")
        ("libxpm" ,libxpm)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmcpuload")
+    (home-page "http://www.dockapps.net/wmcpuload")
     (synopsis "Monitor CPU usage")
     (description
      "Wmcpuload displays the current CPU usage, expressed as a percentile and a
@@ -269,7 +266,9 @@ on.")
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+           (lambda _
+             (invoke "autoreconf" "-vfi")
+             #t)))))
     ;; wmclock requires autoreconf to generate its configure script.
     (inputs
      `(("libx11" ,libx11)
@@ -279,7 +278,7 @@ on.")
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmclock")
+    (home-page "http://www.dockapps.net/wmclock")
     (synopsis "Display the date and time")
     (description
      "wmclock is an applet for Window Maker which displays the date and time in
diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm
index 3146f408c3..9dcebe9832 100644
--- a/gnu/packages/gsasl.scm
+++ b/gnu/packages/gsasl.scm
@@ -46,7 +46,7 @@
     (description
      "Libntlm is a library that implements NTLM authentication.")
     (license license:lgpl2.1+)
-    (home-page "http://www.nongnu.org/libntlm/")))
+    (home-page "https://www.nongnu.org/libntlm/")))
 
 (define-public gss
   (package
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e344a74308..e82958cee3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -806,7 +806,7 @@ application suites.")
      `(("cairo" ,cairo)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://www.nongnu.org/guile-cairo/")
+    (home-page "https://www.nongnu.org/guile-cairo/")
     (synopsis "Cairo bindings for GNU Guile")
     (description
      "Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 3acb48a96d..5dc66c1625 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -588,7 +588,7 @@ document syntax.
 Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
 hopefully more powerful and flexible (for instance, one may instantiate as
 many readers as needed).")
-    (home-page "http://www.nongnu.org/guile-reader/")
+    (home-page "https://www.nongnu.org/guile-reader/")
     (license license:gpl3+)))
 
 (define-public guile2.0-reader
@@ -799,7 +799,7 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
              #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)))
-    (home-page "http://www.nongnu.org/guile-lib/")
+    (home-page "https://www.nongnu.org/guile-lib/")
     (synopsis "Collection of useful Guile Scheme modules")
     (description
      "Guile-Lib is intended as an accumulation place for pure-scheme Guile
@@ -842,7 +842,7 @@ for Guile\".")
                      (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
     (build-system gnu-build-system)
     (native-inputs `(("guile" ,guile-2.2)))
-    (home-page "http://savannah.nongnu.org/projects/guile-json/")
+    (home-page "https://savannah.nongnu.org/projects/guile-json/")
     (synopsis "JSON module for Guile")
     (description
      "Guile-JSON supports parsing and building JSON documents according to the
@@ -1190,8 +1190,8 @@ Guile's foreign function interface.")
   (deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi))
 
 (define-public guile-sqlite3
-  (let ((commit "1cd1dec96a9999db48c0ff45bab907efc637247f")
-        (revision "3"))
+  (let ((commit "10c13a7e02ab1655c8a758e560cafc9d6eff26f4")
+        (revision "4"))
     (package
       (name "guile-sqlite3")
       (version (git-version "0.0" revision commit))
@@ -1207,7 +1207,7 @@ Guile's foreign function interface.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "0vvdgwcshrgl6dfz5cxf0l9bl44nkgah0ph3vv464d55nd8qh4b6"))
+                  "0nhhswpd7nb2f0gfr55fzcc2xm3l2xx4rbljsd1clrm8fj2d7q9d"))
                 (file-name (string-append name "-" version "-checkout"))
                 (modules '((guix build utils)))
                 (snippet
@@ -1350,7 +1350,7 @@ above command-line parameters.")
     (build-system gnu-build-system)
     (native-inputs
      `(("guile" ,guile-2.0)))
-    (home-page "http://savannah.nongnu.org/projects/guile-redis/")
+    (home-page "https://savannah.nongnu.org/projects/guile-redis/")
     (synopsis "Redis client library for Guile")
     (description "Guile-redis provides a Scheme interface to the Redis
 key-value cache and store.")
@@ -1520,7 +1520,7 @@ wrappers for inter-language calls.  It currently only supports generating Guile
 wrappers for C functions.  Given a definition of the types and prototypes for
 a given C interface, G-Wrap will automatically generate the C code that
 provides access to that interface and its types from the Scheme level.")
-    (home-page "http://www.nongnu.org/g-wrap/index.html")
+    (home-page "https://www.nongnu.org/g-wrap/index.html")
     (license license:lgpl2.1+)))
 
 (define-public guile-dbi
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index f2b3702645..b00fd6cc19 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -115,7 +115,7 @@ irssi, but graphical.")
 (define-public irssi
   (package
     (name "irssi")
-    (version "1.1.0")
+    (version "1.1.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/irssi/irssi/"
@@ -123,7 +123,7 @@ irssi, but graphical.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "00jz5mf2cwzfig0qcs3y4jpp5v8icvwf239k5chr2qq47lbsp6qh"))))
+               "1gx1flfh4a09nb3b5pvf0ygnbl7rry3l4gph8wij29dsl7khfj3q"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8b38d45c4b..47220fc75c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6190,7 +6190,7 @@ the system under test at the same time.")
 (define-public java-fasterxml-jackson-annotations
   (package
     (name "java-fasterxml-jackson-annotations")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6198,7 +6198,7 @@ the system under test at the same time.")
                                   "jackson-annotations-" version ".tar.gz"))
               (sha256
                (base32
-                "0b4wdxjxfbl3gkilylfdbl7fzimfpyih676jiwdf19i4056j8lqw"))))
+                "0mr95xd0da6a4g95zvrl1ryk5n5zv2rc696w3xnsr5hxk2gicfc4"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-annotations.jar"
@@ -6216,7 +6216,7 @@ not included are ones that require dependency to the Databind package.")
 (define-public java-fasterxml-jackson-core
   (package
     (name "java-fasterxml-jackson-core")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6224,7 +6224,7 @@ not included are ones that require dependency to the Databind package.")
                                   "jackson-core-" version ".tar.gz"))
               (sha256
                (base32
-                "0q2d6qnylyxj5jh0sam1b095b5486f7ipzhxgwcgbm254ls7fqc1"))))
+                "159hsnk17jr1gyzkf01cxvsn45srnk37g949r7364qlsr527gjgd"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-core.jar"
@@ -6273,7 +6273,7 @@ not included are ones that require dependency to the Databind package.")
 (define-public java-fasterxml-jackson-databind
   (package
     (name "java-fasterxml-jackson-databind")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6281,7 +6281,7 @@ not included are ones that require dependency to the Databind package.")
                                   "jackson-databind-" version ".tar.gz"))
               (sha256
                (base32
-                "1d5ns8ypqhdy8d94i8q560ip9kka6q8lhnk6q7nfh2g9mr22cc4w"))))
+                "1zd2cw4z6kdkbx8za96xh9pyicv2a2l7y0rkcx2fqd8hv6d47s08"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-databind.jar"
@@ -6316,7 +6316,7 @@ configuration.")
 (define-public java-fasterxml-jackson-modules-base-jaxb
   (package
     (name "java-fasterxml-jackson-modules-base-jaxb")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6324,7 +6324,7 @@ configuration.")
                                   "jackson-modules-base-" version ".tar.gz"))
               (sha256
                (base32
-                "0kc19n5a188g4vpyay44xfb7qcabcbfnwzhx1g84lg0sac8lf0ng"))))
+                "1wws95xi8sppp6b0k2vvjdjyynl20r1a4dwrhai08lzlria6blp5"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-modules-base-jaxb.jar"
@@ -6386,7 +6386,7 @@ configuration.")
 (define-public java-fasterxml-jackson-dataformat-yaml
   (package
     (name "java-fasterxml-jackson-dataformat-yaml")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6394,7 +6394,7 @@ configuration.")
                                   "jackson-dataformats-text-" version ".tar.gz"))
               (sha256
                (base32
-                "1x7c7v201jpb8ynjsmmq7jj7hyqzzp39jvpr053ggdndm022yzc7"))))
+                "1hikl06khaxbg439avf442qifcadap8w0lx13f0nnhp2vh3dkbz7"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-dataformat-yaml.jar"
@@ -6495,7 +6495,7 @@ interface and high-performance Typed Access API.")
 (define-public java-fasterxml-jackson-dataformat-xml
   (package
     (name "java-fasterxml-jackson-dataformat-xml")
-    (version "2.9.2")
+    (version "2.9.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/FasterXML/"
@@ -6503,7 +6503,7 @@ interface and high-performance Typed Access API.")
                                   "jackson-dataformat-xml-" version ".tar.gz"))
               (sha256
                (base32
-                "1j1qanvcdh6afagr67zqrlypjkf0n6wr1qzpbvkw79lii72j6pbr"))))
+                "111fkkl90w31jbf30kgj82qdcxlw4sxppki7i198liw0ck1jcavq"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "jackson-dataformat-xml.jar"
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index db4bfacc72..2ec5452a62 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -329,6 +329,41 @@ illustrators, matte and texture artists, and the VFX industry.  Notable
 features include brush stabilizers, brush engines and wrap-around mode.")
     (license license:gpl2+)))
 
+(define-public kholidays
+  (package
+    (name "kholidays")
+    (version "17.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/applications/" version "/src/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0595d7wbnz8kyq1bnivdrp20lwdp8ykvdll1fmb0fgm4q24z0cl8"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; blacklist a failing test function TODO: make it pass
+             (with-output-to-file "autotests/BLACKLIST"
+               (lambda _
+                 (display "[testDefaultRegions]\n*\n")))
+             #t)))))
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)))
+    (home-page "https://cgit.kde.org/kholidays.git")
+    (synopsis "Library for regional holiday information")
+    (description "This library provides a C++ API that determines holiday and
+other special events for a geographical region.")
+    (license license:lgpl2.0+)))
+
 (define-public libkomparediff2
   (package
     (name "libkomparediff2")
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 8e9ae1724a..8fe59679f8 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -165,6 +165,12 @@ and freshness without requiring additional information from the user.")
              (sha256
               (base32
                "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x"))))))
+
+      (properties
+       ;; Some of the tests take a very long time on ARMv7.  See
+       ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
+       `((max-silent-time . ,(* 3600 3))))
+
       (home-page "http://wiki.dlang.org/LDC")
       (synopsis "LLVM compiler for the D programming language")
       (description
diff --git a/gnu/packages/libunwind.scm b/gnu/packages/libunwind.scm
index e747d37787..578154f70d 100644
--- a/gnu/packages/libunwind.scm
+++ b/gnu/packages/libunwind.scm
@@ -41,7 +41,7 @@
      ;; expected to fail).
      ;; Report them upstream.
      '(#:tests? #f))
-    (home-page "http://www.nongnu.org/libunwind")
+    (home-page "https://www.nongnu.org/libunwind")
     (synopsis "Determining the call chain of a program")
     (description
      "The primary goal of this project is to define a portable and efficient C
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 691990b08c..78d23b4f6a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -907,14 +907,14 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
 (define-public strace
   (package
     (name "strace")
-    (version "4.20")
+    (version "4.21")
     (source (origin
              (method url-fetch)
-             (uri (string-append "mirror://sourceforge/strace/strace/" version
-                                 "/strace-" version ".tar.xz"))
+             (uri (string-append "https://github.com/strace/strace/releases/"
+                                 "download/v" version "/strace-" version ".tar.xz"))
              (sha256
               (base32
-               "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv"))))
+               "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm
index f2c724ae07..1a1d0b3274 100644
--- a/gnu/packages/lout.scm
+++ b/gnu/packages/lout.scm
@@ -124,4 +124,4 @@ TeX macros because Lout is a high-level, purely functional language, the
 outcome of an eight-year research project that went back to the
 beginning.")
     (license gpl3+)
-    (home-page "http://savannah.nongnu.org/projects/lout/"))))
+    (home-page "https://savannah.nongnu.org/projects/lout/"))))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 82681aa68a..ac1fe51f15 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -332,5 +332,5 @@ interface for the Music Player Daemon.")
     (description "Sonata is an elegant graphical client for the Music Player
 Daemon (MPD).  It supports playlists, multiple profiles (connecting to different
 MPD servers, search and multimedia key support.")
-    (home-page "http://www.nongnu.org/sonata/")
+    (home-page "https://www.nongnu.org/sonata/")
     (license license:gpl3+)))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f227659238..09284990cc 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1403,14 +1403,14 @@ does not use SSH and requires a pre-shared symmetric key.")
 (define-public quagga
   (package
     (name "quagga")
-    (version "1.2.2")
+    (version "1.2.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/quagga/quagga-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0c99rjjc62xl5kwvx2pwyvs0709vbwax1qydqbqf6r7fpvr24bjj"))
+                "0cddxip9gd579parx64n6d7iq937ikrb8qxgvjxjm406l43hjb7f"))
               (patches
                (search-patches "quagga-reproducible-build.patch"))))
     (build-system gnu-build-system)
@@ -1428,7 +1428,7 @@ acts as an abstraction layer to the underlying Unix kernel and presents the
 Zserv API over a Unix or TCP stream to Quagga clients.  It is these Zserv
 clients which typically implement a routing protocol and communicate routing
 updates to the zebra daemon.")
-    (home-page "http://www.nongnu.org/quagga/")
+    (home-page "https://www.nongnu.org/quagga/")
     (license license:gpl2+)))
 
 (define-public thc-ipv6
diff --git a/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch b/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch
deleted file mode 100644
index 88b2e7f25a..0000000000
--- a/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 3d9181d7bdd8e491f745dbc9e34bd20b6f6da069 Mon Sep 17 00:00:00 2001
-From: Gergely Nagy <ngg@tresorit.com>
-Date: Wed, 14 Dec 2016 13:19:01 +0100
-Subject: [PATCH] Fix possible DoS in ASN.1 decoders (CVE-2016-9939)
-
----
- asn.cpp | 10 ++++++++++
- asn.h   |  2 ++
- 2 files changed, 12 insertions(+)
-
-diff --git a/asn.cpp b/asn.cpp
-index 297ff010..2e923ef7 100644
---- a/asn.cpp
-+++ b/asn.cpp
-@@ -123,6 +123,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, SecByteBlock &str)
- 	size_t bc;

- 	if (!BERLengthDecode(bt, bc))

- 		BERDecodeError();

-+	if (bc > bt.MaxRetrievable())

-+		BERDecodeError();

- 

- 	str.New(bc);

- 	if (bc != bt.Get(str, bc))

-@@ -139,6 +141,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, BufferedTransformation &
- 	size_t bc;

- 	if (!BERLengthDecode(bt, bc))

- 		BERDecodeError();

-+	if (bc > bt.MaxRetrievable())

-+		BERDecodeError();

- 

- 	bt.TransferTo(str, bc);

- 	return bc;

-@@ -161,6 +165,8 @@ size_t BERDecodeTextString(BufferedTransformation &bt, std::string &str, byte as
- 	size_t bc;

- 	if (!BERLengthDecode(bt, bc))

- 		BERDecodeError();

-+	if (bc > bt.MaxRetrievable())

-+		BERDecodeError();

- 

- 	SecByteBlock temp(bc);

- 	if (bc != bt.Get(temp, bc))

-@@ -188,6 +194,10 @@ size_t BERDecodeBitString(BufferedTransformation &bt, SecByteBlock &str, unsigne
- 	size_t bc;

- 	if (!BERLengthDecode(bt, bc))

- 		BERDecodeError();

-+	if (bc == 0)

-+		BERDecodeError();

-+	if (bc > bt.MaxRetrievable())

-+		BERDecodeError();

- 

- 	byte unused;

- 	if (!bt.Get(unused))

-diff --git a/asn.h b/asn.h
-index ed9de52c..33f0dd09 100644
---- a/asn.h
-+++ b/asn.h
-@@ -498,6 +498,8 @@ void BERDecodeUnsigned(BufferedTransformation &in, T &w, byte asnTag = INTEGER,
- 	bool definite = BERLengthDecode(in, bc);

- 	if (!definite)

- 		BERDecodeError();

-+	if (bc > in.MaxRetrievable())

-+		BERDecodeError();

- 

- 	SecByteBlock buf(bc);

- 

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b40100115c..2d4a3ceac0 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2049,14 +2049,14 @@ CSS tidy.  Also supports URL rewriting in CSS files.")
 (define-public python-elasticsearch
   (package
     (name "python-elasticsearch")
-    (version "1.0.0")
+    (version "6.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "elasticsearch" version))
         (sha256
          (base32
-          "1sdw1r05cw7ihnmng8ra9v968fj7bq6sji8i1dikymsnkcpgc69g"))))
+          "1kjxl45yvvgfb5fmamx0kfsfg9pzphiqrwbkns3s28r1w7ya74cd"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-mock" ,python-mock)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c3459cc51f..6e5e804c34 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
-;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2016, 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
@@ -112,6 +112,7 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages statistics)
+  #:use-module (gnu packages terminals)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages time)
@@ -7446,14 +7447,14 @@ document.")
 (define-public python-botocore
   (package
    (name "python-botocore")
-   (version "1.8.36")
+   (version "1.8.43")
    (source
     (origin
      (method url-fetch)
      (uri (pypi-uri "botocore" version))
      (sha256
       (base32
-       "0xd607qd9vkwpsvp552nqnrxppnx2n1rzh9kk9shz48ldpyy1jdj"))))
+       "12cqpbnz3vfv41mp9admvciw7bc7hz57sjpqs2bxaw9wnfmbw5lg"))))
    (build-system python-build-system)
    (arguments
     ;; FIXME: Many tests are failing.
@@ -12732,3 +12733,92 @@ and other tools.")
 
 (define-public python2-typing
   (package-with-python2 python-typing))
+
+(define-public bpython
+  (package
+    (name "bpython")
+    (version "0.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "bpython" version))
+       (sha256
+        (base32
+         "1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-failing-test
+           (lambda _
+             ;; Remove failing test. FIXME: make it pass
+             (delete-file "bpython/test/test_args.py")
+             #t))
+         (add-after 'wrap 'add-aliases
+           ;; for symmetry to bpython2, add symlinks bypthon3, bpdb3, etc.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each
+                (lambda (old new)
+                  (symlink old (string-append out "/bin/" new)))
+                '("bpython" "bpython-curses" "bpython-urwid" "bpdb")
+                '("bpython3" "bpython3-curses" "bpython3-urwid" "bpdb3")))
+             #t)))))
+    (propagated-inputs
+     `(("python-pygments" ,python-pygments)
+       ("python-requests", python-requests)
+       ("python-babel" ,python-babel) ; optional, for internationalization
+       ("python-curtsies" ,python-curtsies) ; >= 0.1.18
+       ("python-greenlet" ,python-greenlet)
+       ("python-urwid" ,python-urwid) ; for bpython-urwid only
+       ("python-six" ,python-six)))
+    (native-inputs
+     `(("python-sphinx" ,python-sphinx)
+       ("python-mock" ,python-mock)))
+    (home-page "https://bpython-interpreter.org/")
+    (synopsis "Fancy interface to the Python interpreter")
+    (description "Bpython is a fancy interface to the Python
+interpreter. bpython's main features are
+
+@enumerate
+@item in-line syntax highlighting,
+@item readline-like autocomplete with suggestions displayed as you type,
+@item expected parameter list for any Python function,
+@item \"rewind\" function to pop the last line of code from memory and
+      re-evaluate,
+@item send the code you've entered off to a pastebin,
+@item save the code you've entered to a file, and
+@item auto-indentation.
+@end enumerate")
+    (license license:expat)))
+
+(define-public bpython2
+  (let ((base (package-with-python2
+               (strip-python2-variant bpython))))
+    (package (inherit base)
+      (name "bpython2")
+      (arguments
+       `(#:python ,python-2
+         #:phases
+         (modify-phases %standard-phases
+         (add-after 'unpack 'remove-failing-test
+           (lambda _
+             ;; Remove failing test. FIXME: make it pass
+             (delete-file "bpython/test/test_args.py")
+             ;; Disable failing test-cases (renaming inhibits they are
+             ;; discovered)
+             (substitute* "bpython/test/test_curtsies_repl.py"
+               (("^(\\s*def )(test_get_last_word_with_prev_line\\W)" _ a b)
+                (string-append a "xxx_off_" b))
+               (("^(\\s*def )(test_complex\\W)" _ a b)
+                (string-append a "xxx_off_" b)))
+             #t))
+           (add-before 'build 'rename-scripts
+             ;; rename the scripts to bypthon2, bpdb2, etc.
+             (lambda _
+               (substitute* "setup.py"
+                 (("^(\\s+'bpdb)(\\s+=.*',?)\\s*?$" _ name rest)
+                  (string-append name "2" rest "\n"))
+                 (("^(\\s+'bpython)(-\\S+)?(\\s+=.*',?)\\s*?$" _ name sub rest)
+                  (string-append name "2" (or sub "") rest "\n")))
+               #t))))))))
diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm
index e68b345b06..d630c24fd4 100644
--- a/gnu/packages/ratpoison.scm
+++ b/gnu/packages/ratpoison.scm
@@ -82,7 +82,7 @@
      `(("perl",perl)
        ("pkg-config" ,pkg-config)
        ("ratpoison.desktop" ,ratpoison.desktop)))
-    (home-page "http://www.nongnu.org/ratpoison/")
+    (home-page "https://www.nongnu.org/ratpoison/")
     (synopsis "Simple mouse-free tiling window manager")
     (description
      "Ratpoison is a simple window manager with no fat library
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index 87dc3558de..f10acaec70 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -77,7 +77,7 @@
     (propagated-inputs `(("guile-reader" ,guile2.0-reader)
                          ("guile-lib" ,guile2.0-lib)))
 
-    (home-page "http://www.nongnu.org/skribilo/")
+    (home-page "https://www.nongnu.org/skribilo/")
     (synopsis "Document production tool written in Guile Scheme")
     (description
      "Skribilo is a free document production tool that takes a structured
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 53bc9f950b..018de0c6ce 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -162,7 +162,7 @@ multiplayer games.")
    (license license:gpl2+)
    ;; (plus OpenSSL linking exception)
    ;; http://git.savannah.gnu.org/cgit/exosip.git/plain/LICENSE.OpenSSL
-    (home-page "http://savannah.nongnu.org/projects/exosip")))
+    (home-page "https://savannah.nongnu.org/projects/exosip")))
 
 (define-public sipwitch
   (package
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index f296235b7b..eeae8bea41 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
+;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -38,6 +39,7 @@
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -667,3 +669,111 @@ with terminals in Go.")
 terminal or piped input.")
       (home-page "https://github.com/howeyc/gopass")
       (license license:isc))))
+
+(define-public python-pyte
+  (package
+    (name "python-pyte")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyte" version))
+       (sha256
+        (base32
+         "1an54hvyjm8gncx8cgabz9mkpgjkdb0bkyjlkh7g7f94nr3wnfl7"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-failing-test
+           ;; TODO: Reenable when the `captured` files required by this test
+           ;; are included in the archive.
+           (lambda _
+             (delete-file "tests/test_input_output.py")
+             #t)))))
+    (propagated-inputs
+     `(("python-wcwidth", python-wcwidth)))
+    (native-inputs
+     `(("python-pytest-runner" ,python-pytest-runner)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://pyte.readthedocs.io/")
+    (synopsis "Simple VTXXX-compatible terminal emulator")
+    (description "@code{pyte} is an in-memory VTxxx-compatible terminal
+emulator.  @var{VTxxx} stands for a series of video terminals, developed by
+DEC between 1970 and 1995.  The first and probably most famous one was the
+VT100 terminal, which is now a de-facto standard for all virtual terminal
+emulators.
+
+pyte is a fork of vt102, which was an incomplete pure Python implementation
+of VT100 terminal.")
+    (license license:lgpl3+)))
+
+(define-public python2-pyte
+  (package-with-python2 python-pyte))
+
+(define-public python-blessings
+  (package
+    (name "python-blessings")
+    (version "1.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "blessings" version))
+       (sha256
+        (base32
+         "1smngy65p8mi62lgm04icasx22v976szhs2aq95y2ljmi1srb4bl"))))
+    (build-system python-build-system)
+    (arguments
+     ;; TODO: For py3, 2to2 is used to convert the code, but test-suite fails
+     `(#:tests? #f))
+    (native-inputs
+     `(("python-nose" ,python-nose)))
+    (home-page "https://github.com/erikrose/blessings")
+    (synopsis "Python module to manage terminal color, styling, and
+positioning")
+    (description "Blessings is a pythonic API to manipulate terminal color,
+styling, and positioning.  It provides similar features to curses but avoids
+some of curses’s limitations: it does not require clearing the whole screen
+for little changes, provides a scroll-back buffer after the program exits, and
+avoids styling altogether when the output is redirected to something other
+than a terminal.")
+    (license license:expat)))
+
+(define-public python2-blessings
+  (package-with-python2 python-blessings))
+
+(define-public python-curtsies
+  (package
+    (name "python-curtsies")
+    (version "0.2.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "curtsies" version))
+       (sha256
+        (base32
+         "1vljmw3sy6lrqahhpyg4gk13mzcx3mwhvg8s41698ms3cpgkjipc"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "nosetests" "-v"))))))
+    (propagated-inputs
+     `(("python-blessings" ,python-blessings)
+       ("python-wcwidth", python-wcwidth)))
+    (native-inputs
+     `(("python-mock" ,python-mock)
+       ("python-pyte" ,python-pyte)
+       ("python-nose" ,python-nose)))
+    (home-page "https://github.com/thomasballinger/curtsies")
+    (synopsis "Library for curses-like terminal interaction with colored
+strings")
+    (description "Curtsies is a Python library for interacting with the
+terminal.  It features string-like objects which carry formatting information,
+per-line fullscreen terminal rendering, and keyboard input event reporting.")
+    (license license:expat)))
+
+(define-public python2-curtsies
+  (package-with-python2 python-curtsies))
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index c7f2f4840f..30f593d0ad 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -151,7 +151,7 @@ is on expressing the content semantically, avoiding physical markup commands.")
      ;; texi2html.pl to avoid the warnings seems non-trivial, so we simply
      ;; disable the tests.
      '(#:tests? #f))
-    (home-page "http://www.nongnu.org/texi2html/")
+    (home-page "https://www.nongnu.org/texi2html/")
     (synopsis "Convert Texinfo to HTML")
     (description
      "Texi2HTML is a Perl script which converts Texinfo source files to HTML
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d945caee12..817acda084 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1010,7 +1010,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 (define-public mpv
   (package
     (name "mpv")
-    (version "0.28.1")
+    (version "0.28.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1018,7 +1018,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
                     ".tar.gz"))
               (sha256
                (base32
-                "1i1czric6dhbwvyxamzrnwjwsznrn9cpzp6m0m6aahiwpbfbl282"))
+                "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma"))
               (file-name (string-append name "-" version ".tar.gz"))))
     (build-system waf-build-system)
     (native-inputs
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index a0b59f3969..9156655b30 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6296,3 +6297,46 @@ features include:
 @item logging with multiple log levels.
 @end enumerate\n")
     (license l:expat)))
+
+(define-public cat-avatar-generator
+  (package
+    (name "cat-avatar-generator")
+    (version "1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://framagit.org/Deevad/cat-avatar-generator.git")
+                     (commit "71c0c662742cafe8afd2d2d50ec84243113e35ad")))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "0s7b5whqsmfa57prbgl66ym551kg6ly0z14h5dgrlx4lqm70y2yw"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (srfi srfi-1)
+                      (srfi srfi-26))
+         (let ((source (assoc-ref %build-inputs "source"))
+               (php-dir (string-append %output "/share/web/" ,name "/")))
+           ;; The cache directory must not be in the store, but in a writable
+           ;; location.  The webserver will give us this location.
+           (copy-recursively source php-dir)
+           (substitute* (string-append php-dir "/cat-avatar-generator.php")
+             (("\\$cachepath = .*")
+              "if(isset($_SERVER['CACHE_DIR']))
+$cachepath = $_SERVER['CACHE_DIR'];
+else
+die('You need to set the CACHE_DIR variable first.');"))))))
+    (home-page "https://framagit.org/Deevad/cat-avatar-generator")
+    (synopsis "Random avatar generator")
+    (description "Cat avatar generator is a generator of cat pictures optimised
+to generate random avatars, or defined avatar from a \"seed\".  This is a
+derivation by David Revoy from the original MonsterID by Andreas Gohr.")
+    ;; expat for the code, CC-BY 4.0 for the artwork
+    (license (list l:expat
+                   l:cc-by4.0))))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 8c9ef7adfa..be2ee2d086 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -722,7 +722,7 @@ transparent text on your screen.")
     (inputs
      `(("libx11" ,libx11)
        ("guile" ,guile-2.0)))
-    (home-page "http://www.nongnu.org/xbindkeys/")
+    (home-page "https://www.nongnu.org/xbindkeys/")
     (synopsis "Associate a combination of keys with a shell command")
     (description
      "XBindKeys is a program that allows you to launch shell commands with
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 630851ba39..035e9c5f20 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -792,7 +792,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
 (define-public ristretto
   (package
     (name "ristretto")
-    (version "0.8.0")
+    (version "0.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
@@ -800,7 +800,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0a7kwhx51fd2kqh7l7kp13wcn39d2fjkwnn9rfd1k9ydrqj56qki"))))
+                "1f01d47kd85kjd1k4bzpcck4cb40qpjm5fzirzwdsxzwlrybgwzq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("intltool" ,intltool)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 3a9b989486..a8e7833990 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -389,7 +389,7 @@ decoding .opus files.")
 (define opusfile
   (package
     (name "opusfile")
-    (version "0.9")
+    (version "0.10")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -397,7 +397,7 @@ decoding .opus files.")
                     ".tar.gz"))
               (sha256
                (base32
-                "0yg9whb9y6ja3d5dmscg5a29hxj7qj0asw8smisjf4hbwh0bapzp"))))
+                "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("opus" ,opus)))
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index b4f89c4abf..a5305130af 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -131,10 +131,8 @@ service switch (NSS) with support for @code{.local} host name resolution.")
                                             (const %avahi-accounts))
                          (service-extension activation-service-type
                                             (const %avahi-activation))
-
-                         ;; Use 0.10 due to <https://bugs.gnu.org/30396>.
                          (service-extension nscd-service-type
-                                            (const (list nss-mdns-0.10)))
+                                            (const (list nss-mdns)))
 
                          ;; Provide 'avahi-browse', 'avahi-resolve', etc. in
                          ;; the system profile.
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 8e30bcd341..1ad7c2320a 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -817,7 +817,7 @@ the message of the day, among other things."
   agetty-configuration?
   (agetty           agetty-configuration-agetty   ;<package>
                     (default util-linux))
-  (tty              agetty-configuration-tty)     ;string
+  (tty              agetty-configuration-tty)     ;string | #f
   (term             agetty-term                   ;string | #f
                     (default #f))
   (baud-rate        agetty-baud-rate              ;string | #f
@@ -890,6 +890,40 @@ the message of the day, among other things."
 ;;;                 (default #f))
   )
 
+(define (default-serial-port)
+  "Return a gexp that determines a reasonable default serial port
+to use as the tty.  This is primarily useful for headless systems."
+  #~(begin
+      ;; console=device,options
+      ;; device: can be tty0, ttyS0, lp0, ttyUSB0 (serial).
+      ;; options: BBBBPNF. P n|o|e, N number of bits,
+      ;; F flow control (r RTS)
+      (let* ((not-comma (char-set-complement (char-set #\,)))
+             (command (linux-command-line))
+             (agetty-specs (find-long-options "agetty.tty" command))
+             (console-specs (filter (lambda (spec)
+                                     (and (string-prefix? "tty" spec)
+                                          (not (or
+                                                (string-prefix? "tty0" spec)
+                                                (string-prefix? "tty1" spec)
+                                                (string-prefix? "tty2" spec)
+                                                (string-prefix? "tty3" spec)
+                                                (string-prefix? "tty4" spec)
+                                                (string-prefix? "tty5" spec)
+                                                (string-prefix? "tty6" spec)
+                                                (string-prefix? "tty7" spec)
+                                                (string-prefix? "tty8" spec)
+                                                (string-prefix? "tty9" spec)))))
+                                    (find-long-options "console" command)))
+             (specs (append agetty-specs console-specs)))
+        (match specs
+         (() #f)
+         ((spec _ ...)
+          ;; Extract device name from first spec.
+          (match (string-tokenize spec not-comma)
+           ((device-name _ ...)
+            device-name)))))))
+
 (define agetty-shepherd-service
   (match-lambda
     (($ <agetty-configuration> agetty tty term baud-rate auto-login
@@ -900,8 +934,9 @@ the message of the day, among other things."
         erase-characters kill-characters chdir delay nice extra-options)
      (list
        (shepherd-service
+         (modules '((ice-9 match) (gnu build linux-boot)))
          (documentation "Run agetty on a tty.")
-         (provision (list (symbol-append 'term- (string->symbol tty))))
+         (provision (list (symbol-append 'term- (string->symbol (or tty "auto")))))
 
          ;; Since the login prompt shows the host name, wait for the 'host-name'
          ;; service to be done.  Also wait for udev essentially so that the tty
@@ -909,113 +944,119 @@ the message of the day, among other things."
          ;; mingetty-shepherd-service).
          (requirement '(user-processes host-name udev))
 
-         (start #~(make-forkexec-constructor
-                    (list #$(file-append util-linux "/sbin/agetty")
-                          #$@extra-options
-                          #$@(if eight-bits?
-                                 #~("--8bits")
-                                 #~())
-                          #$@(if no-reset?
-                                 #~("--noreset")
-                                 #~())
-                          #$@(if remote?
-                                 #~("--remote")
-                                 #~())
-                          #$@(if flow-control?
-                                 #~("--flow-control")
-                                 #~())
-                          #$@(if host
-                                 #~("--host" #$host)
-                                 #~())
-                          #$@(if no-issue?
-                                 #~("--noissue")
-                                 #~())
-                          #$@(if init-string
-                                 #~("--init-string" #$init-string)
-                                 #~())
-                          #$@(if no-clear?
-                                 #~("--noclear")
-                                 #~())
+         (start #~(let ((tty #$(default-serial-port)))
+                    (if tty
+                        (make-forkexec-constructor
+                         (list #$(file-append util-linux "/sbin/agetty")
+                               #$@extra-options
+                               #$@(if eight-bits?
+                                      #~("--8bits")
+                                      #~())
+                               #$@(if no-reset?
+                                      #~("--noreset")
+                                      #~())
+                               #$@(if remote?
+                                      #~("--remote")
+                                      #~())
+                               #$@(if flow-control?
+                                      #~("--flow-control")
+                                      #~())
+                               #$@(if host
+                                      #~("--host" #$host)
+                                      #~())
+                               #$@(if no-issue?
+                                      #~("--noissue")
+                                      #~())
+                               #$@(if init-string
+                                      #~("--init-string" #$init-string)
+                                      #~())
+                               #$@(if no-clear?
+                                      #~("--noclear")
+                                      #~())
 ;;; FIXME This doesn't work as expected. According to agetty(8), if this option
 ;;; is not passed, then the default is 'auto'. However, in my tests, when that
 ;;; option is selected, agetty never presents the login prompt, and the
 ;;; term-ttyS0 service respawns every few seconds.
-                          #$@(if local-line
-                                 #~(#$(match local-line
-                                        ('auto "--local-line=auto")
-                                        ('always "--local-line=always")
-                                        ('never "-local-line=never")))
-                                 #~())
-                          #$@(if extract-baud?
-                                 #~("--extract-baud")
-                                 #~())
-                          #$@(if skip-login?
-                                 #~("--skip-login")
-                                 #~())
-                          #$@(if no-newline?
-                                 #~("--nonewline")
-                                 #~())
-                          #$@(if login-options
-                                 #~("--login-options" #$login-options)
-                                 #~())
-                          #$@(if chroot
-                                 #~("--chroot" #$chroot)
-                                 #~())
-                          #$@(if hangup?
-                                 #~("--hangup")
-                                 #~())
-                          #$@(if keep-baud?
-                                 #~("--keep-baud")
-                                 #~())
-                          #$@(if timeout
-                                 #~("--timeout" #$(number->string timeout))
-                                 #~())
-                          #$@(if detect-case?
-                                 #~("--detect-case")
-                                 #~())
-                          #$@(if wait-cr?
-                                 #~("--wait-cr")
-                                 #~())
-                          #$@(if no-hints?
-                                 #~("--nohints?")
-                                 #~())
-                          #$@(if no-hostname?
-                                 #~("--nohostname")
-                                 #~())
-                          #$@(if long-hostname?
-                                 #~("--long-hostname")
-                                 #~())
-                          #$@(if erase-characters
-                                 #~("--erase-chars" #$erase-characters)
-                                 #~())
-                          #$@(if kill-characters
-                                 #~("--kill-chars" #$kill-characters)
-                                 #~())
-                          #$@(if chdir
-                                 #~("--chdir" #$chdir)
-                                 #~())
-                          #$@(if delay
-                                 #~("--delay" #$(number->string delay))
-                                 #~())
-                          #$@(if nice
-                                 #~("--nice" #$(number->string nice))
-                                 #~())
-                          #$@(if auto-login
-                                 (list "--autologin" auto-login)
-                                 '())
-                          #$@(if login-program
-                                 #~("--login-program" #$login-program)
-                                 #~())
-                          #$@(if login-pause?
-                                 #~("--login-pause")
-                                 #~())
-                          #$tty
-                          #$@(if baud-rate
-                                 #~(#$baud-rate)
-                                 #~())
-                          #$@(if term
-                                 #~(#$term)
-                                 #~()))))
+                               #$@(if local-line
+                                      #~(#$(match local-line
+                                             ('auto "--local-line=auto")
+                                             ('always "--local-line=always")
+                                             ('never "-local-line=never")))
+                                      #~())
+                               #$@(if tty
+                                      #~()
+                                      #~("--keep-baud"))
+                               #$@(if extract-baud?
+                                      #~("--extract-baud")
+                                      #~())
+                               #$@(if skip-login?
+                                      #~("--skip-login")
+                                      #~())
+                               #$@(if no-newline?
+                                      #~("--nonewline")
+                                      #~())
+                               #$@(if login-options
+                                      #~("--login-options" #$login-options)
+                                      #~())
+                               #$@(if chroot
+                                      #~("--chroot" #$chroot)
+                                      #~())
+                               #$@(if hangup?
+                                      #~("--hangup")
+                                      #~())
+                               #$@(if keep-baud?
+                                      #~("--keep-baud")
+                                      #~())
+                               #$@(if timeout
+                                      #~("--timeout" #$(number->string timeout))
+                                      #~())
+                               #$@(if detect-case?
+                                      #~("--detect-case")
+                                      #~())
+                               #$@(if wait-cr?
+                                      #~("--wait-cr")
+                                      #~())
+                               #$@(if no-hints?
+                                      #~("--nohints?")
+                                      #~())
+                               #$@(if no-hostname?
+                                      #~("--nohostname")
+                                      #~())
+                               #$@(if long-hostname?
+                                      #~("--long-hostname")
+                                      #~())
+                               #$@(if erase-characters
+                                      #~("--erase-chars" #$erase-characters)
+                                      #~())
+                               #$@(if kill-characters
+                                      #~("--kill-chars" #$kill-characters)
+                                      #~())
+                               #$@(if chdir
+                                      #~("--chdir" #$chdir)
+                                      #~())
+                               #$@(if delay
+                                      #~("--delay" #$(number->string delay))
+                                      #~())
+                               #$@(if nice
+                                      #~("--nice" #$(number->string nice))
+                                      #~())
+                               #$@(if auto-login
+                                      (list "--autologin" auto-login)
+                                      '())
+                               #$@(if login-program
+                                      #~("--login-program" #$login-program)
+                                      #~())
+                               #$@(if login-pause?
+                                      #~("--login-pause")
+                                      #~())
+                               #$(or tty (default-serial-port))
+                               #$@(if baud-rate
+                                      #~(#$baud-rate)
+                                      #~())
+                               #$@(if term
+                                      #~(#$term)
+                                      #~()))))
+                        (const #f))) ; never start.
          (stop #~(make-kill-destructor)))))))
 
 (define agetty-service-type
@@ -2012,6 +2053,11 @@ This service is not part of @var{%base-services}."
                         (cons tty %default-console-font))
                       '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
 
+        (agetty-service (agetty-configuration
+                         (extra-options '("-L")) ; no carrier detect
+                         (term "vt100")
+                         (tty #f))) ; automatic
+
         (mingetty-service (mingetty-configuration
                            (tty "tty1")))
         (mingetty-service (mingetty-configuration
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index c1ffe3e055..beda481b0d 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
-;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@@ -153,7 +153,9 @@
             php-fpm-on-demand-process-manager-configuration-process-idle-timeout
 
             php-fpm-service-type
-            nginx-php-location))
+            nginx-php-location
+
+            cat-avatar-generator-service))
 
 ;;; Commentary:
 ;;;
@@ -870,3 +872,24 @@ a webserver.")
           (string-append "fastcgi_pass unix:" socket ";")
           "fastcgi_index index.php;"
           (list "include " nginx-package "/share/nginx/conf/fastcgi.conf;")))))
+
+(define* (cat-avatar-generator-service
+          #:key
+          (cache-dir "/var/cache/cat-avatar-generator")
+          (package cat-avatar-generator)
+          (configuration (nginx-server-configuration)))
+  (simple-service
+    'cat-http-server nginx-service-type
+    (list (nginx-server-configuration
+            (inherit configuration)
+            (locations
+              (cons
+                (let ((base (nginx-php-location)))
+                  (nginx-location-configuration
+                    (inherit base)
+                    (body (list (string-append "fastcgi_param CACHE_DIR \""
+                                               cache-dir "\";")
+                                (nginx-location-configuration-body base)))))
+                (nginx-server-configuration-locations configuration)))
+            (root #~(string-append #$package
+                                   "/share/web/cat-avatar-generator"))))))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index e4b2e82378..b61660b4b9 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -381,14 +381,6 @@ You have been warned.  Thanks for being so brave.\x1b[0m
                      nvi                          ;:wq!
                      %base-packages))))
 
-(define* (agetty-default-service #:optional (tty "ttyS0"))
-  "Return an agetty-service on the given TTY"
-  (agetty-service (agetty-configuration
-                   (extra-options '("-L"))
-                   (baud-rate "115200")
-                   (term "vt100")
-                   (tty tty))))
-
 (define* (embedded-installation-os bootloader bootloader-target tty
                                    #:key (extra-modules '()))
   "Return an installation os for embedded systems.
@@ -401,12 +393,13 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
                  (bootloader bootloader)
                  (target bootloader-target)))
     (kernel linux-libre)
+    (kernel-arguments
+     (cons (string-append "console=" tty)
+           (operating-system-user-kernel-arguments installation-os)))
     (initrd (lambda (fs . rest)
               (apply base-initrd fs
                      #:extra-modules extra-modules
-                     rest)))
-    (services (cons* (agetty-default-service tty)
-                     (operating-system-user-services installation-os)))))
+                     rest)))))
 
 (define beaglebone-black-installation-os
   (embedded-installation-os u-boot-beaglebone-black-bootloader