summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/ci.scm6
-rw-r--r--gnu/packages/electronics.scm5
-rw-r--r--gnu/packages/fontutils.scm37
-rw-r--r--gnu/packages/ftp.scm4
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnupg.scm30
-rw-r--r--gnu/packages/libunwind.scm8
-rw-r--r--gnu/packages/linux.scm29
-rw-r--r--gnu/packages/lxqt.scm30
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/ntp.scm6
-rw-r--r--gnu/packages/patches/e2fsprogs-32bit-quota-warnings.patch46
-rw-r--r--gnu/packages/patches/fontforge-svg-modtime.patch35
-rw-r--r--gnu/packages/patches/libunwind-CVE-2015-3239.patch17
-rw-r--r--gnu/packages/patches/python-acme-dont-use-openssl-rand.patch28
-rw-r--r--gnu/packages/samba.scm21
-rw-r--r--gnu/packages/tcl.scm45
-rw-r--r--gnu/packages/tls.scm7
-rw-r--r--gnu/packages/version-control.scm6
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xorg.scm98
-rw-r--r--gnu/services/cuirass.scm5
-rw-r--r--gnu/tests/base.scm8
-rw-r--r--gnu/tests/install.scm6
25 files changed, 287 insertions, 206 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0991fe5ff2..0afda9ff25 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -552,7 +552,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ceph-disable-unittest-throttle.patch	\
   %D%/packages/patches/ceph-skip-collect-sys-info-test.patch	\
   %D%/packages/patches/ceph-skip-unittest_blockdev.patch	\
-  %D%/packages/patches/python-acme-dont-use-openssl-rand.patch	\
   %D%/packages/patches/chicken-CVE-2017-6949.patch		\
   %D%/packages/patches/chicken-CVE-2017-11343.patch		\
   %D%/packages/patches/chmlib-inttypes.patch			\
@@ -587,7 +586,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/doxygen-test.patch			\
   %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
-  %D%/packages/patches/e2fsprogs-32bit-quota-warnings.patch	\
   %D%/packages/patches/elfutils-tests-ptrace.patch		\
   %D%/packages/patches/elixir-disable-failing-tests.patch	\
   %D%/packages/patches/einstein-build.patch			\
@@ -615,7 +613,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/flint-ldconfig.patch			\
   %D%/packages/patches/fltk-shared-lib-defines.patch		\
   %D%/packages/patches/fltk-xfont-on-demand.patch		\
-  %D%/packages/patches/fontforge-svg-modtime.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
   %D%/packages/patches/freeimage-CVE-2015-0852.patch		\
@@ -808,7 +805,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtirpc-CVE-2017-8779.patch		\
   %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch	\
   %D%/packages/patches/libtool-skip-tests2.patch		\
-  %D%/packages/patches/libunwind-CVE-2015-3239.patch		\
   %D%/packages/patches/libunistring-gnulib-multi-core.patch	\
   %D%/packages/patches/libusb-0.1-disable-tests.patch		\
   %D%/packages/patches/libvpx-CVE-2016-2818.patch		\
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 78d6e9514f..a6057a76e2 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 "87ad259dba7de38b6e3ab954cd7b2f655358d877")
-        (revision "8"))
+  (let ((commit "2a4d493e28100b8eca7d23300dd872c9f99e1f16")
+        (revision "9"))
     (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
-                  "127pvbxbh6b6ar43cdgia9qpzzpldq4wm3igsxb1ycxfsdqnjrnz"))))
+                  "0hi7x25ya8wydrfj9jd9zb351mw8pgxxxwgxxdn5kds7qvhxr26v"))))
       (build-system gnu-build-system)
       (arguments
        '(#:modules ((guix build utils)
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 8a9f625dc5..91209376cd 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -242,9 +242,10 @@ format support.")
      `(("boost" ,boost)
        ("glib" ,glib)
        ("glibmm" ,glibmm)
-       ("qt" ,qt)
        ("libsigrok" ,libsigrok)
-       ("libsigrokdecode" ,libsigrokdecode)))
+       ("libsigrokdecode" ,libsigrokdecode)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
     (build-system cmake-build-system)
     (home-page "http://www.sigrok.org/wiki/PulseView")
     (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index de75bd8beb..323cfab6f4 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -396,7 +396,7 @@ and returns a sequence of positioned glyphids from the font.")
 (define-public potrace
   (package
     (name "potrace")
-    (version "1.14")
+    (version "1.15")
     (source
      (origin
       (method url-fetch)
@@ -404,7 +404,7 @@ and returns a sequence of positioned glyphids from the font.")
                           "/potrace-" version ".tar.gz"))
       (sha256
        (base32
-        "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv"))))
+        "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9"))))
     (build-system gnu-build-system)
     (native-inputs `(("ghostscript" ,ghostscript))) ;for tests
     (inputs `(("zlib" ,zlib)))
@@ -498,26 +498,14 @@ definitions.")
 (define-public fontforge
   (package
    (name "fontforge")
-   (version "20160404")
+   (version "20170731")
    (source (origin
             (method url-fetch)
             (uri (string-append
                   "https://github.com/fontforge/fontforge/releases/download/"
-                  version "/fontforge-dist-" version ".tar.gz"))
+                  version "/fontforge-dist-" version ".tar.xz"))
             (sha256 (base32
-                     "1kavnhbkzc1hk6f39fynq9s0haama81ddrbld4b5x60d0dbaawvc"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-               ;; Make builds bit-reproducible by using fixed date strings.
-               (substitute* "configure"
-                 (("^FONTFORGE_MODTIME=.*$")
-                  "FONTFORGE_MODTIME=\"1459819518L\"\n")
-                 (("^FONTFORGE_MODTIME_STR=.*$")
-                  "FONTFORGE_MODTIME_STR=\"20:25 CDT  4-Apr-2016\"\n")
-                 (("^FONTFORGE_VERSIONDATE=.*$")
-                  "FONTFORGE_VERSIONDATE=\"20160404\"\n"))))
-            (patches (list (search-patch "fontforge-svg-modtime.patch")))))
+                     "08l8h3yvk4v7652jvmd3ls7nf5miybkx2fmkf1mpwwfixpxxw2l4"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))
@@ -541,20 +529,11 @@ definitions.")
              ("libxml2"         ,libxml2)
              ("pango"           ,pango)
              ("potrace"         ,potrace)
-             ("python"          ,python)
+             ("python"          ,python-wrapper)
              ("zlib"            ,zlib)))
    (arguments
-    '(#:tests? #f
-      #:phases
+    '(#:phases
       (modify-phases %standard-phases
-        (add-after 'build 'build-contrib
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let* ((out (assoc-ref outputs "out"))
-                   (bin (string-append out "/bin")))
-              (and (zero? (system* "make" "-Ccontrib/fonttools"
-                                   "CC=gcc" "showttf"))
-                   (begin (install-file "contrib/fonttools/showttf" bin)
-                          #t)))))
         (add-after 'install 'set-library-path
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
@@ -576,4 +555,4 @@ definitions.")
 opentype fonts.  You can save fonts in many different outline formats, and
 generate bitmaps.")
    (license license:gpl3+)
-   (home-page "http://fontforge.org/")))
+   (home-page "https://fontforge.github.io/en-US/")))
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index ab8828ed85..ba9e130f57 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -46,7 +46,7 @@
 (define-public lftp
   (package
     (name "lftp")
-    (version "4.8.1")
+    (version "4.8.2")
     (source (origin
               (method url-fetch)
               ;; See https://lftp.tech/get.html for mirrors.
@@ -58,7 +58,7 @@
                                         "ftp/lftp/lftp-" version ".tar.xz")))
               (sha256
                (base32
-                "09vvwn5w3n8ahx57b7n6qvg1abnw9w7mm4d8p381pliab6jxlw77"))))
+                "176d90amkm1klwjpfpzdsvmjnyri8f74bv4fpip8app0fs25p1sw"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a4e5d83f51..d5f9f1f092 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5302,7 +5302,7 @@ providing graphical log-ins and managing local and remote displays.")
 (define-public libgtop
   (package
     (name "libgtop")
-    (version "2.36.0")
+    (version "2.38.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -5310,7 +5310,7 @@ providing graphical log-ins and managing local and remote displays.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
+                "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gobject-introspection" ,gobject-introspection)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index c6af5caa49..ffad57ef5e 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
 ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
@@ -822,3 +822,31 @@ qualities.  To reconstruct a secret key, you re-enter those
 bytes (whether by hand, OCR, QR code, or the like) and paperkey can use
 them to transform your existing public key into a secret key.")
     (license license:gpl2+)))
+
+(define-public gpa
+  (package
+    (name "gpa")
+    (version "0.9.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnupg/gpa/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gnupg" ,gnupg)
+       ("gpgme" ,gpgme)
+       ("libassuan" ,libassuan)
+       ("libgpg-error" ,libgpg-error)
+       ("gtk+-2" ,gtk+-2)))
+    (home-page "https://gnupg.org/software/gpa/")
+    (synopsis "Graphical user interface for GnuPG")
+    (description
+     "GPA, the GNU Privacy Assistant, is a graphical user interface for
+@uref{https://gnupg.org, GnuPG}.  It can be used to encrypt, decrypt, and sign
+files, to verify signatures, and to manage the private and public keys.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/libunwind.scm b/gnu/packages/libunwind.scm
index cda83b2bc0..e747d37787 100644
--- a/gnu/packages/libunwind.scm
+++ b/gnu/packages/libunwind.scm
@@ -27,18 +27,18 @@
 (define-public libunwind
   (package
     (name "libunwind")
-    (version "1.1")
+    (version "1.2.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah/libunwind/libunwind-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "16nhx2pahh9d62mvszc88q226q5lwjankij276fxwrm8wb50zzlx"))
-             (patches (search-patches "libunwind-CVE-2015-3239.patch"))))
+               "1jsslwkilwrsj959dc8b479qildawz67r8m4lzxm7glcwa8cngiz"))))
     (build-system gnu-build-system)
     (arguments
-     ;; FIXME: As of glibc 2.17, we get 3 out of 34 test failures.
+     ;; FIXME: As of glibc 2.25, we get 1 out of 34 test failures (2 are
+     ;; expected to fail).
      ;; Report them upstream.
      '(#:tests? #f))
     (home-page "http://www.nongnu.org/libunwind")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index dd83964ad4..46434b35c8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -693,17 +693,16 @@ slabtop, and skill.")
 (define-public e2fsprogs
   (package
     (name "e2fsprogs")
-    (version "1.43.5")
+    (version "1.43.6")
     (source (origin
              (method url-fetch)
              (uri (string-append
                    "mirror://kernel.org/linux/kernel/people/tytso/"
                    name "/v" version "/"
                    name "-" version ".tar.xz"))
-             (patches (search-patches "e2fsprogs-32bit-quota-warnings.patch"))
              (sha256
               (base32
-               "05ssjpmy0fpv2ik6ibm1f47wr6794nf0q50r581vygrqvsd3s7r6"))))
+               "00ilv65dzcgiap435j89xk86shf7rrav3wsik7cahy789qijdcn9"))))
     (build-system gnu-build-system)
     (inputs `(("util-linux" ,util-linux)))
     (native-inputs `(("pkg-config" ,pkg-config)
@@ -1566,16 +1565,16 @@ devices.  It replaces @code{iwconfig}, which is deprecated.")
 (define-public powertop
   (package
     (name "powertop")
-    (version "2.8")
+    (version "2.9")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://01.org/sites/default/files/downloads/powertop/powertop-"
+             "https://01.org/sites/default/files/downloads/powertop/powertop-v"
              version ".tar.gz"))
        (sha256
         (base32
-         "0nlwazxbnn0k6q5f5b09wdhw0f194lpzkp3l7vxansqhfczmcyx8"))))
+         "0l4jjlf05li2mc6g8nrss3h435wjhmnqd8m7v3kha3x0x7cbfzxa"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -2369,11 +2368,16 @@ country-specific regulations for the wireless spectrum.")
                      ("flex" ,flex)
                      ("bison" ,bison)
                      ("which" ,which)))
+    (outputs '("lib"              ;avoid perl in closure
+               "out"))
     (arguments
      `(#:tests? #f  ; no 'check' target
        #:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "ETCDIR=" %output "/etc")
-                          (string-append "MANDIR=" %output "/share/man"))
+                          (string-append "ETCDIR=" (assoc-ref %outputs "lib") "/etc")
+                          (string-append "INCLUDEDIR="
+                                         (assoc-ref %outputs "lib") "/include")
+                          (string-append "MANDIR=" %output "/share/man")
+                          (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib"))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -2462,7 +2466,7 @@ SMBus access.")
                (base32
                 "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh"))))
     (build-system gnu-build-system)
-    (inputs `(("lm-sensors" ,lm-sensors)
+    (inputs `(("lm-sensors" ,lm-sensors "lib")
               ("gtk" ,gtk+-2)))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (arguments
@@ -3159,7 +3163,7 @@ and copy/paste text in the console and in xterm.")
 (define-public btrfs-progs
   (package
     (name "btrfs-progs")
-    (version "4.13")
+    (version "4.13.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -3167,7 +3171,7 @@ and copy/paste text in the console and in xterm.")
                                   "btrfs-progs-v" version ".tar.xz"))
               (sha256
                (base32
-                "17m67jm29phfvkmd72lxb1z9nymn9a9pqnja8zfb1mvflsqwbz3m"))))
+                "1clavvrlkswgicqsm2yfsxqw04lsn8dra0db84jqm6j2apz80kz0"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "static"))      ; static versions of the binaries in "out"
@@ -3195,8 +3199,9 @@ and copy/paste text in the console and in xterm.")
               ("libblkid:static" ,util-linux "static")
               ("libuuid" ,util-linux)
               ("libuuid:static" ,util-linux "static")
+              ("lzo" ,lzo)
               ("zlib" ,zlib)
-              ("lzo" ,lzo)))
+              ("zstd" ,zstd)))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("asciidoc" ,asciidoc)
                      ("xmlto" ,xmlto)
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index a2c95674d9..a73a875594 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,6 +27,7 @@
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (gnu packages)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages qt))
@@ -188,3 +190,31 @@ desktop environment.")
     (description "lxqt-session provides the standard session manager
 for the LXQt desktop environment.")
     (license lgpl2.1+)))
+
+(define-public lxqt-build-tools
+  (package
+    (name "lxqt-build-tools")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxde/lxqt-build-tools/releases/"
+                           "download/" version "/" name "-" version ".tar.xz"))
+       (file-name (string-append name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1llbrjbgabxlq933a8cpg03b3mdmvd8983csnd4f7vrcj51nv0xh"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f)) ;No tests
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("glib" ,glib)))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (synopsis "LXQt Build tools")
+    (description
+     "Lxqt-build-tools is providing several tools needed to build LXQt
+itself as well as other components maintained by the LXQt project.")
+    (home-page "http://lxqt.org")
+    (license lgpl2.1+)))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a3821d8b9e..d895715c2b 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -677,7 +677,9 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
               (("SHELL=/bin/sh") "SHELL=sh")
               ;; When checking the fontforge version do not consider the
               ;; version string that's part of the directory.
-              (("head -n") "tail -n"))
+              (("head -n") "tail -n")
+              ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge.
+              (("20110222") "19700101"))
             (setenv "out" "www")
             (setenv "conf" "www")
             #t))
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index 959aa55a76..f77eab4799 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -98,14 +98,14 @@ computers over a network.")
 (define-public openntpd
   (package
     (name "openntpd")
-    (version "6.1p1")
+    (version "6.2p2")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1ykx9ga76k5m54h7k5x4ds2clxsyfniss5vmf88pxnrip5bx6if8"))))
+                "1chghbh1bnwhxdgkqki51w94nwvlyj1a9q8716r4v2h0gc9s822q"))))
     (build-system gnu-build-system)
     (home-page "http://www.openntpd.org/")
     (synopsis "NTP client and server by the OpenBSD Project")
diff --git a/gnu/packages/patches/e2fsprogs-32bit-quota-warnings.patch b/gnu/packages/patches/e2fsprogs-32bit-quota-warnings.patch
deleted file mode 100644
index e7a96a2ac0..0000000000
--- a/gnu/packages/patches/e2fsprogs-32bit-quota-warnings.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix a test failure on 32-bit platforms.
-
-Patch copied from upstream source repository:
-
-https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=9e31a5696c4b699bf000a07b86601c1fb91c0493
-
-diff --git a/lib/support/mkquota.c b/lib/support/mkquota.c
-index 00f3a40..931a839 100644
---- a/lib/support/mkquota.c
-+++ b/lib/support/mkquota.c
-@@ -50,11 +50,13 @@ static void print_dquot(const char *desc, struct dquot *dq)
- {
- 	if (desc)
- 		fprintf(stderr, "%s: ", desc);
--	fprintf(stderr, "%u %ld:%ld:%ld %ld:%ld:%ld\n",
--		dq->dq_id, dq->dq_dqb.dqb_curspace,
--		dq->dq_dqb.dqb_bsoftlimit, dq->dq_dqb.dqb_bhardlimit,
--		dq->dq_dqb.dqb_curinodes,
--		dq->dq_dqb.dqb_isoftlimit, dq->dq_dqb.dqb_ihardlimit);
-+	fprintf(stderr, "%u %lld:%lld:%lld %lld:%lld:%lld\n",
-+		dq->dq_id, (long long) dq->dq_dqb.dqb_curspace,
-+		(long long) dq->dq_dqb.dqb_bsoftlimit,
-+		(long long) dq->dq_dqb.dqb_bhardlimit,
-+		(long long) dq->dq_dqb.dqb_curinodes,
-+		(long long) dq->dq_dqb.dqb_isoftlimit,
-+		(long long) dq->dq_dqb.dqb_ihardlimit);
- }
- #else
- static void print_dquot(const char *desc EXT2FS_ATTR((unused)),
-@@ -524,11 +526,11 @@ static int scan_dquots_callback(struct dquot *dquot, void *cb_data)
- 	    dq->dq_dqb.dqb_curinodes != dquot->dq_dqb.dqb_curinodes) {
- 		scan_data->usage_is_inconsistent = 1;
- 		fprintf(stderr, "[QUOTA WARNING] Usage inconsistent for ID %u:"
--			"actual (%ld, %ld) != expected (%ld, %ld)\n",
--			dq->dq_id, dq->dq_dqb.dqb_curspace,
--			dq->dq_dqb.dqb_curinodes,
--			dquot->dq_dqb.dqb_curspace,
--			dquot->dq_dqb.dqb_curinodes);
-+			"actual (%lld, %lld) != expected (%lld, %lld)\n",
-+			dq->dq_id, (long long) dq->dq_dqb.dqb_curspace,
-+			(long long) dq->dq_dqb.dqb_curinodes,
-+			(long long) dquot->dq_dqb.dqb_curspace,
-+			(long long) dquot->dq_dqb.dqb_curinodes);
- 	}
- 
- 	if (scan_data->update_limits) {
diff --git a/gnu/packages/patches/fontforge-svg-modtime.patch b/gnu/packages/patches/fontforge-svg-modtime.patch
deleted file mode 100644
index fd960ae610..0000000000
--- a/gnu/packages/patches/fontforge-svg-modtime.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Propagate source font modification time to svg during conversion.  Similar to
-what upstream commit 95a470e941d9a20fbdaca51334e8b6b9d93cfae4 did for TTF
-files.
-
-Submitted upstream at http://github.com/fontforge/fontforge/pull/2696
-
---- a/fontforge/svg.c
-+++ b/fontforge/svg.c
-@@ -27,7 +27,6 @@
- #include "fontforgevw.h"
- #include <unistd.h>
- #include <math.h>
--#include <time.h>
- #include <locale.h>
- #include <utype.h>
- #include <chardata.h>
-@@ -62,7 +61,6 @@ static int svg_outfontheader(FILE *file, SplineFont *sf,int layer) {
-     BlueData bd;
-     char *hash, *hasv, ch;
-     int minu, maxu, i;
--    time_t now;
-     const char *author = GetAuthor();
- 
-     memset(&info,0,sizeof(info));
-@@ -78,9 +76,8 @@ static int svg_outfontheader(FILE *file, SplineFont *sf,int layer) {
- 	fprintf( file, "\n-->\n" );
-     }
-     fprintf( file, "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\">\n" );
--    time(&now);
-     fprintf( file, "<metadata>\nCreated by FontForge %d at %s",
--	    FONTFORGE_VERSIONDATE_RAW, ctime(&now) );
-+	    FONTFORGE_VERSIONDATE_RAW, ctime((time_t*)&sf->modificationtime) );
-     if ( author!=NULL )
- 	fprintf(file," By %s\n", author);
-     else
diff --git a/gnu/packages/patches/libunwind-CVE-2015-3239.patch b/gnu/packages/patches/libunwind-CVE-2015-3239.patch
deleted file mode 100644
index 3f11ac7337..0000000000
--- a/gnu/packages/patches/libunwind-CVE-2015-3239.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Copied from Fedora.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1232265
-http://pkgs.fedoraproject.org/cgit/libunwind.git/tree/libunwind-1.1-fix-CVE-2015-3239.patch
-
-diff -up libunwind-1.1/include/dwarf_i.h.CVE20153239 libunwind-1.1/include/dwarf_i.h
---- libunwind-1.1/include/dwarf_i.h.CVE20153239	2015-07-10 13:38:36.404996748 -0400
-+++ libunwind-1.1/include/dwarf_i.h	2015-07-10 13:39:25.050707613 -0400
-@@ -20,7 +20,7 @@
- extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH];
- /* REG is evaluated multiple times; it better be side-effects free!  */
- # define dwarf_to_unw_regnum(reg)					  \
--  (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
-+  (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
- #endif
- 
- #ifdef UNW_LOCAL_ONLY
diff --git a/gnu/packages/patches/python-acme-dont-use-openssl-rand.patch b/gnu/packages/patches/python-acme-dont-use-openssl-rand.patch
deleted file mode 100644
index 78920629c0..0000000000
--- a/gnu/packages/patches/python-acme-dont-use-openssl-rand.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix build with PyOpenSSL > 17.2.0.
-
-See <https://github.com/certbot/certbot/issues/5111>.
-
-Patch copied from upstream source repository:
-https://github.com/certbot/certbot/commit/f6be07da74c664b57ac8c053585f919c79f9af44
-
-diff --git a/acme/crypto_util.py b/acme/crypto_util.py
-index de15284c03..b8fba03488 100644
---- a/acme/crypto_util.py
-+++ b/acme/crypto_util.py
-@@ -2,6 +2,7 @@
- import binascii
- import contextlib
- import logging
-+import os
- import re
- import socket
- import sys
-@@ -243,7 +244,7 @@ def gen_ss_cert(key, domains, not_before=None,
-     """
-     assert domains, "Must provide one or more hostnames for the cert."
-     cert = OpenSSL.crypto.X509()
--    cert.set_serial_number(int(binascii.hexlify(OpenSSL.rand.bytes(16)), 16))
-+    cert.set_serial_number(int(binascii.hexlify(os.urandom(16)), 16))
-     cert.set_version(2)
- 
-     extensions = [
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 85579b0c0f..392f9a3500 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages pkg-config)
@@ -42,7 +43,8 @@
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xml))
 
 (define-public cifs-utils
   (package
@@ -159,8 +161,19 @@ anywhere.")
                "0pap686cl0j5c9v1v09krpqdk416x3851fbcap5ysp1zajrfw7aq"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     `(#:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'locate-docbook-stylesheets
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; XXX for some reason XML_CATALOG_FILES is not respected.
+             (substitute* '("buildtools/wafsamba/samba_conftests.py"
+                            "buildtools/wafsamba/wafsamba.py"
+                            "docs-xml/xslt/man.xsl")
+               (("http://docbook.sourceforge.net/release/xsl/current/")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl) "/")))
+             #t))
          (replace 'configure
            ;; samba uses a custom configuration script that runs waf.
            (lambda* (#:key outputs #:allow-other-keys)
@@ -203,7 +216,9 @@ anywhere.")
        ("tevent" ,tevent)
        ("tdb" ,tdb)))
     (native-inputs
-     `(("perl" ,perl)
+     `(("docbook-xsl" ,docbook-xsl)    ;for generating manpages
+       ("xsltproc" ,libxslt)           ;ditto
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-2))) ; incompatible with Python 3
     (home-page "https://www.samba.org/")
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index a4129e0899..4dca0b0c39 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -248,6 +248,51 @@ interfaces (GUIs) in the Tcl language.")
 utility functions and modules all written in high-level Tcl.")
     (license (package-license tcl))))
 
+(define-public tklib
+  (package
+    (name "tklib")
+    (version "0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://core.tcl.tk/tklib/tarball/tklib-"
+                                  version ".tar.gz?uuid=tklib-0-6"))
+              (sha256
+               (base32
+                "03y0bzgwbh7nnyqkh8n00bbkq2fyblq39s3bdb6mawna0bbn0wwg"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("tcl" ,tcl)))
+    (propagated-inputs
+     `(("tcllib" ,tcllib)
+       ("tk" ,tk))) ; for "wish"
+    (native-search-paths
+     (list (search-path-specification
+            (variable "TCLLIBPATH")
+            (separator " ")
+            (files (list (string-append "lib/tklib" version))))))
+    (home-page "https://www.tcl.tk/software/tklib/")
+    (synopsis "Tk utility modules for Tcl")
+    (description "Tklib is a collection of common utility functions and
+modules for Tk, all written in high-level Tcl.  Examples of provided widgets:
+@enumerate
+@item @code{chatwidget}
+@item @code{datefield}
+@item @code{tooltip}
+@item @code{cursor}
+@item @code{ipentry}
+@item @code{tablelist}
+@item @code{history}
+@item @code{tkpiechart}
+@item @code{ico}
+@item @code{crosshair}
+@item @code{ntext}
+@item @code{plotchart}
+@item @code{ctext}
+@item @code{autosscroll}
+@item @code{canvas}
+@end enumerate")
+    (license (package-license tcl))))
+
 (define-public tclxml
   (package
     (name "tclxml")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index add371ffa3..3251c102b0 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -486,14 +486,13 @@ netcat implementation that supports TLS.")
   (package
     (name "python-acme")
     ;; Remember to update the hash of certbot when updating python-acme.
-    (version "0.18.1")
+    (version "0.18.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "acme" version))
-              (patches (search-patches "python-acme-dont-use-openssl-rand.patch"))
               (sha256
                (base32
-                "0ry6vhfkhds28sg232hngwfnkqihsxv9r8w92c6nz45r7w56qk0y"))))
+                "1xiy8m7501g5l9kpdmyvyz72nfnl72l19qkrf76fyvby7adzm3ki"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -541,7 +540,7 @@ netcat implementation that supports TLS.")
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "0k3bqfkjxyg0qivs4a6iz6gyqx8li4hgn8m268r72lxgq46ay2mf"))))
+                "16lw4n7kwnkvh9sz2f97c7ad1wwp33mg5fc332lpy5n17zpfc8h1"))))
     (build-system python-build-system)
     (arguments
      `(,@(substitute-keyword-arguments (package-arguments python-acme)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 78e142b298..38756f06c2 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -124,14 +124,14 @@ as well as the classic centralized workflow.")
    (name "git")
    ;; XXX When updating Git, check if the special 'git:src' input to cgit needs
    ;; to be updated as well.
-   (version "2.14.1")
+   (version "2.14.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://kernel.org/software/scm/git/git-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "1iic3wiihxp3l3k6d4z886v3869c3dzgddjxnd5124wy1rnlqwkg"))))
+              "18f70gfzwqd210806hmf94blcd7yv5h9ka6xqkpd2jhijqwp5sah"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("native-perl" ,perl)
@@ -145,7 +145,7 @@ as well as the classic centralized workflow.")
           (sha256
 
            (base32
-            "1whlsiicayalym4hkf01zdiqpw37gdf7c52gw9ki7bv2x3hf3g3y"))))))
+            "1z05a7hxxndyby3dbj3gaw91sjwmky5d1yph96jmj0fhx78m1lvd"))))))
    (inputs
     `(("curl" ,curl)
       ("expat" ,expat)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 8b7e1bda53..c72e9a452c 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -168,14 +168,14 @@ commands would.")
 (define-public i3-wm
   (package
     (name "i3-wm")
-    (version "4.14")
+    (version "4.14.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://i3wm.org/downloads/i3-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "1mm5jazwv4dz3k8vl1lfrcw86agpws5k9lmav1ly51qvmzivsfmf"))))
+                "1cazmfbbx6n8c81h6x6pdayq3mxs2ml3adz165z8vapkc72kl1nh"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 0178ee1db7..9255622ca2 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,10 +40,12 @@
   #:use-module (guix build-system python)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -54,6 +57,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libbsd)
+  #:use-module (gnu packages libedit)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
@@ -62,6 +66,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages spice)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
@@ -5982,3 +5987,96 @@ disconnect from these programs and reconnect from the same or another machine,
 without losing any state.  It can also be used to forward full desktops from
 X11 servers, Windows, or macOS.")
     (license license:gpl2+)))
+
+(define-public uim
+  (package
+    (name "uim")
+    (version "1.8.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/uim/uim/releases/download/uim-"
+                           version "/uim-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0pr3rfqpxha8p6cxzdjsxbbmmr76riklzw36f68phd1zqw1sh7kv"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("anthy" ,anthy)
+       ("libedit" ,libedit)
+       ("libxft" ,libxft)
+       ("m17n-lib" ,m17n-lib)))
+    (native-inputs
+     `(("emacs" ,emacs-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (guix build emacs-utils))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-utils))
+       #:configure-flags
+       (list "--with-anthy-utf8"
+             (string-append "--with-lispdir=" %output
+                            "/share/emacs/site-lisp/guix.d")
+             ;; Set proper runpath
+             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         ;; Set path of uim-el-agent and uim-el-helper-agent executables
+         (add-after 'configure 'configure-uim-el
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "emacs/uim-var.el"
+               (("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable)
+                (string-append "\"" (assoc-ref outputs "out")
+                               "/bin/" executable "\"")))
+             #t))
+         ;; Generate emacs autoloads for uim.el
+         (add-after 'install 'make-autoloads
+           (lambda* (#:key outputs #:allow-other-keys)
+             (emacs-generate-autoloads
+              ,name (string-append (assoc-ref outputs "out")
+                                   "/share/emacs/site-lisp"))
+             #t)))))
+    (home-page "https://github.com/uim/uim")
+    (synopsis "Multilingual input method framework")
+    (description "Uim is a multilingual input method library and environment.
+It provides a simple, easily extensible and high code-quality input method
+development platform, and useful input method environment for users of desktop
+and embedded platforms.")
+    (license (list license:lgpl2.1+ ; scm/py.scm, pixmaps/*.{svg,png} (see pixmaps/README)
+                   license:gpl2+ ; scm/pinyin-big5.scm
+                   license:gpl3+ ; scm/elatin-rules.cm
+                   license:public-domain ; scm/input-parse.scm, scm/match.scm
+                   ;; gtk2/toolbar/eggtrayicon.{ch},
+                   ;; qt3/chardict/kseparator.{cpp,h},
+                   ;; qt3/pref/kseparator.{cpp,h}
+                   license:lgpl2.0+
+                   ;; pixmaps/*.{svg,png} (see pixmaps/README),
+                   ;; all other files
+                   license:bsd-3))))
+
+(define-public uim-gtk
+  (package
+    (inherit uim)
+    (name "uim-gtk")
+    (inputs
+     `(("gtk" ,gtk+)
+       ("gtk" ,gtk+-2)
+       ,@(package-inputs uim)))
+    (synopsis "Multilingual input method framework (GTK+ support)")))
+
+(define-public uim-qt
+  (package
+    (inherit uim)
+    (name "uim-qt")
+    (inputs
+     `(("qt" ,qt-4)
+       ,@(package-inputs uim)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments uim)
+       ((#:configure-flags configure-flags)
+        (append configure-flags (list "--with-qt4-immodule"
+                                      "--with-qt4")))))
+    (synopsis "Multilingual input method framework (Qt support)")))
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 2ad5952202..c5e9fcbb22 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,6 +62,8 @@
                     (default "/var/run/cuirass/cuirass.db"))
   (port             cuirass-configuration-port ;integer (port)
                     (default 8081))
+  (host             cuirass-configuration-host ;string
+                    (default "localhost"))
   (specifications   cuirass-configuration-specifications)
                                   ;gexp that evaluates to specification-alist
   (use-substitutes? cuirass-configuration-use-substitutes? ;boolean
@@ -84,6 +87,7 @@
          (interval         (cuirass-configuration-interval config))
          (database         (cuirass-configuration-database config))
          (port             (cuirass-configuration-port config))
+         (host             (cuirass-configuration-host config))
          (specs            (cuirass-configuration-specifications config))
          (use-substitutes? (cuirass-configuration-use-substitutes? config))
          (one-shot?        (cuirass-configuration-one-shot? config))
@@ -100,6 +104,7 @@
                             #$(scheme-file "cuirass-specs.scm" specs)
                             "--database" #$database
                             "--port" #$(number->string port)
+                            "--listen" #$host
                             "--interval" #$(number->string interval)
                             #$@(if use-substitutes? '("--use-substitutes") '())
                             #$@(if one-shot? '("--one-shot") '())
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 959da31a60..1bc7a70277 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -544,11 +544,11 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
                (>= gid 100))))
 
           ;; Last, the job that uses a command; allows us to test whether
-          ;; $PATH is sane.  (Note that 'marionette-eval' stringifies objects
-          ;; that don't have a read syntax, hence the string.)
+          ;; $PATH is sane.
           (test-equal "root's job with command"
-            "#<eof>"
-            (wait-for-file "/root/witness-touch" marionette))
+            ""
+            (wait-for-file "/root/witness-touch" marionette
+                           #:read '(@ (ice-9 rdelim) read-string)))
 
           (test-end)
           (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 49743860e5..d0cc08f431 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -127,7 +127,11 @@
   "Return a variant of OS where ROOTS are registered as GC roots."
   (operating-system
     (inherit os)
-    (services (cons (service gc-root-service-type roots)
+
+    ;; We use this procedure for the installation OS, which already defines GC
+    ;; roots.  Add ROOTS to those.
+    (services (cons (simple-service 'extra-root
+                                    gc-root-service-type roots)
                     (operating-system-user-services os)))))