summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/admin.scm6
-rw-r--r--gnu/packages/astronomy.scm14
-rw-r--r--gnu/packages/bittorrent.scm4
-rw-r--r--gnu/packages/dictionaries.scm4
-rw-r--r--gnu/packages/emacs.scm53
-rw-r--r--gnu/packages/firmware.scm23
-rw-r--r--gnu/packages/game-development.scm2
-rw-r--r--gnu/packages/gnome.scm8
-rw-r--r--gnu/packages/gnupg.scm15
-rw-r--r--gnu/packages/gnuzilla.scm11
-rw-r--r--gnu/packages/hexedit.scm27
-rw-r--r--gnu/packages/java.scm4
-rw-r--r--gnu/packages/kde-frameworks.scm389
-rw-r--r--gnu/packages/linux.scm88
-rw-r--r--gnu/packages/lirc.scm7
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/maths.scm19
-rw-r--r--gnu/packages/mes.scm56
-rw-r--r--gnu/packages/moe.scm6
-rw-r--r--gnu/packages/mp3.scm4
-rw-r--r--gnu/packages/networking.scm79
-rw-r--r--gnu/packages/node.scm14
-rw-r--r--gnu/packages/patches/ansible-wrap-program-hack.patch22
-rw-r--r--gnu/packages/patches/quagga-reproducible-build.patch22
-rw-r--r--gnu/packages/patches/screen-fix-info-syntax-error.patch47
-rw-r--r--gnu/packages/pdf.scm17
-rw-r--r--gnu/packages/photo.scm2
-rw-r--r--gnu/packages/python.scm14
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/screen.scm7
-rw-r--r--gnu/packages/statistics.scm27
-rw-r--r--gnu/packages/tex.scm147
-rw-r--r--gnu/packages/video.scm3
-rw-r--r--gnu/packages/wdiff.scm23
-rw-r--r--gnu/packages/wine.scm7
-rw-r--r--gnu/packages/xfce.scm24
-rw-r--r--gnu/packages/xorg.scm5
-rw-r--r--gnu/system.scm1
-rw-r--r--guix/import/cran.scm2
-rw-r--r--guix/profiles.scm7
-rw-r--r--guix/scripts/package.scm16
-rw-r--r--tests/guix-package.sh19
-rw-r--r--tests/profiles.scm7
44 files changed, 1033 insertions, 231 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 54c099b5e3..1d49c1a17f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -14,6 +14,7 @@
 # Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 # Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 #
 # This file is part of GNU Guix.
 #
@@ -501,6 +502,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/aegis-test-fixup-1.patch            	\
   %D%/packages/patches/aegis-test-fixup-2.patch            	\
   %D%/packages/patches/agg-am_c_prototype.patch			\
+  %D%/packages/patches/ansible-wrap-program-hack.patch		\
   %D%/packages/patches/antiword-CVE-2014-8123.patch			\
   %D%/packages/patches/apr-skip-getservbyname-test.patch	\
   %D%/packages/patches/aspell-default-dict-dir.patch		\
@@ -935,6 +937,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/qemu-CVE-2017-9524.patch			\
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
+  %D%/packages/patches/quagga-reproducible-build.patch          \
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
   %D%/packages/patches/rapicorn-isnan.patch			\
   %D%/packages/patches/raptor2-heap-overflow.patch		\
@@ -956,7 +959,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/rxvt-unicode-escape-sequences.patch	\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-test-threading.patch		\
-  %D%/packages/patches/screen-fix-info-syntax-error.patch	\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
   %D%/packages/patches/seq24-rename-mutex.patch			\
   %D%/packages/patches/slim-session.patch			\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index b9d68fc244..b1f0e6093e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1366,7 +1366,8 @@ of supported upstream metrics systems simultaneously.")
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))))
+         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))
+       (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
      `(("python2-pycrypto" ,python2-pycrypto)
@@ -2223,6 +2224,7 @@ make it a perfect utility on modern distros.")
       (method url-fetch)
       (uri (string-append "https://github.com/01org/thermal_daemon/archive/v"
                           version ".tar.gz"))
+      (file-name (string-append name "-" version ".tar.gz"))
       (sha256 (base32
                "14klz9fnvi9jdlaqwrp61xa5nh051n8ykrs1fh1wxd7j66qf2fn6"))))
     (build-system gnu-build-system)
@@ -2262,4 +2264,6 @@ make it a perfect utility on modern distros.")
     (synopsis "CPU scaling for thermal management")
     (description "The Linux Thermal Daemon helps monitor and control temperature
 on systems running the Linux kernel.")
+    ;; arm and aarch64 don't have cpuid.h
+    (supported-systems '("i686-linux" "x86_64-linux"))
     (license license:gpl2+)))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index f5509dab10..132013b57a 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -121,7 +121,7 @@ programs for the manipulation and analysis of astronomical data.")
 (define-public stellarium
   (package
     (name "stellarium")
-    (version "0.15.2")
+    (version "0.16.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/stellarium/"
@@ -129,10 +129,11 @@ programs for the manipulation and analysis of astronomical data.")
                                  version "/stellarium-" version ".tar.gz"))
              (sha256
               (base32
-               "19nxj482g1hh9qicgskpcgy61pri254jgxnkd10icxbnza4c0hv9"))))
+               "1krxj51lix096xbz64lys166a8zdwhill5vvs7dlxdn14amc8d98"))))
     (build-system cmake-build-system)
     (inputs
      `(("qtbase" ,qtbase)
+       ("qtlocation" ,qtlocation)
        ("qtmultimedia" ,qtmultimedia)
        ("qtscript" ,qtscript)
        ("qtserialport" ,qtserialport)
@@ -145,13 +146,10 @@ programs for the manipulation and analysis of astronomical data.")
     (arguments
       `(#:test-target "tests"
         #:phases (modify-phases %standard-phases
-                   (add-after 'unpack 'patch-version-check
+                   (add-after 'unpack 'patch-tests
                      (lambda _
-                       ;; Previously-deprecated cmake variable vanished in
-                       ;; Qt 5.9.
-                       ;; See <https://bugreports.qt.io/browse/QTBUG-60936>.
-                       (substitute* "CMakeLists.txt"
-                         (("Qt5Core_VERSION_STRING") "Qt5Core_VERSION"))
+                       (substitute* "src/tests/testStelSphereGeometry.cpp"
+                         (("Vec3d v[(]0[)]") "Vec3d v(0.0)"))
                        #t))
                    (add-before 'check 'set-offscreen-display
                      (lambda _
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index a0474002b7..79a87dc8bf 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -264,7 +264,7 @@ maintained upstream.")
 (define-public aria2
   (package
     (name "aria2")
-    (version "1.31.0")
+    (version "1.32.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/tatsuhiro-t/aria2/"
@@ -272,7 +272,7 @@ maintained upstream.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "131zh75fqw9a1j0igl8gx3lwmhhbicdmp2p387r0cd5j928631bv"))))
+                "0l6whbbcw1qijlczlfqi3mhba3zki0ybjb2prrgncp8km6a92vjl"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list "--enable-libaria2"
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index df12bf8a32..062c29b66d 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -209,7 +209,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
 (define-public translate-shell
   (package
     (name "translate-shell")
-    (version "0.9.6.3")
+    (version "0.9.6.4")
     (source
       (origin
         (method url-fetch)
@@ -217,7 +217,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
                             version ".tar.gz"))
         (sha256
          (base32
-          "13rjq9v3ykk5c0i5daybpnqnyg09cbcgjzykx49h2h5hvspixvi5"))
+          "1fg6nf1plvgimc57fsdr9rcjbf7jvmk5jrlj5ya509vpdcdgvj2s"))
         (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ecb6fed6aa..cfebe772f2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2017 Feng Shu <tumashu@163.com>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1139,6 +1140,30 @@ writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
 or XEmacs.")
     (license license:gpl3+)))
 
+(define-public emacs-autothemer
+  (package
+    (name "emacs-autothemer")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/sebastiansturm/autothemer/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)))
+    (home-page "https://github.com/sebastiansturm/autothemer")
+    (synopsis "Conveniently create Emacs themes")
+    (description
+     "Autothemer provides a thin layer on top of @code{deftheme} and
+@code{custom-theme-set-faces} that creates a new custom color theme, based on
+a set of simplified face specifications and a user-supplied color palette")
+    (license license:gpl3+)))
+
 (define-public emacs-calfw
   (package
     (name "emacs-calfw")
@@ -1157,8 +1182,8 @@ or XEmacs.")
     (home-page "https://github.com/kiwanami/emacs-calfw/")
     (synopsis "Calendar framework for Emacs")
     (description
-     "This package displays a calendar view with various shedule data in
-the Emacs buffer.")
+     "This package displays a calendar view with various schedule data in the
+Emacs buffer.")
     (license license:gpl3+)))
 
 (define-public emacs-direnv
@@ -3059,14 +3084,21 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "Makeconf"
                (("SHELL = /bin/sh")
-                (string-append "SHELL = " (which "sh")))))))))
+                (string-append "SHELL = " (which "sh"))))))
+         ;; FIXME: the texlive-union insists on regenerating fonts.  It stores
+         ;; them in HOME, so it needs to be writeable.
+         (add-before 'build 'set-HOME
+           (lambda _ (setenv "HOME" "/tmp") #t)))))
     (inputs
      `(("emacs" ,emacs-minimal)
        ("r-minimal" ,r-minimal)))
     (native-inputs
      `(("perl" ,perl)
        ("texinfo" ,texinfo)
-       ("texlive" ,texlive)))
+       ("texlive" ,(texlive-union (list texlive-latex-natbib
+                                        texlive-latex-seminar
+                                        texlive-latex-hyperref
+                                        texlive-tex-texinfo)))))
     (home-page "http://ess.r-project.org/")
     (synopsis "Emacs mode for statistical analysis programs")
     (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
@@ -4965,10 +4997,11 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}")
                              "-f" "ert-run-tests-batch-and-exit")))))))
     (home-page "https://github.com/justbur/emacs-which-key")
     (synopsis "Display available key bindings in popup")
-    (description "@code{emacs-which-key} is a minor mode for Emacs that
-displays the key bindings following your currently entered incomplete command
-(a prefix) in a popup.  For example, after enabling the minor mode if you
-enter C-x and wait for the default of 1 second, the minibuffer will expand
-with all of the available key bindings that follow C-x (or as many as space
-allows given your settings).")
+    (description
+     "@code{emacs-which-key} is a minor mode for Emacs that displays the key
+bindings following your currently entered incomplete command (a prefix) in a
+popup.  For example, after enabling the minor mode if you enter C-x and wait
+for the default of 1 second, the minibuffer will expand with all of the
+available key bindings that follow C-x (or as many as space allows given your
+settings).")
     (license license:gpl3+)))
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 9106eec4ab..1da248001e 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2017 David Craven <david@craven.ch>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -275,13 +276,15 @@ use of coreboot.")
                (("^ACTIVE_PLATFORM[ ]*=.*$")
                 "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
              (zero? (system* "build"))))
-         (add-after 'build 'build-x64
-           (lambda _
-             (substitute* "Conf/target.txt"
-               (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
-               (("^ACTIVE_PLATFORM[ ]*=.*$")
-                "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
-             (zero? (system* "build"))))
+         ,@(if (string=? "x86_64-linux" (%current-system))
+             '(add-after 'build 'build-x64
+               (lambda _
+                 (substitute* "Conf/target.txt"
+                   (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
+                   (("^ACTIVE_PLATFORM[ ]*=.*$")
+                    "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
+                 (zero? (system* "build"))))
+             '())
          (delete 'build)
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
@@ -290,8 +293,10 @@ use of coreboot.")
                (mkdir-p fmw)
                (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd"
                           (string-append fmw "/ovmf_ia32.bin"))
-               (copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd"
-                          (string-append fmw "/ovmf_x64.bin")))
+               ,@(if (string=? "x86_64-linux" (%current-system))
+                   '((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd"
+                                (string-append fmw "/ovmf_x64.bin")))
+                   '()))
              #t)))))
     (supported-systems '("x86_64-linux" "i686-linux"))
     (home-page "http://www.tianocore.org")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b8b110c9aa..67f6c55017 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -342,7 +342,7 @@ levels.")
     (version "2017.06.09")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://savannah/xsge/xsge-"
+              (uri (string-append "mirror://savannah/xsge/xsge/xsge-"
                                   version ".tar.gz"))
               (sha256
                (base32
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 322611858d..0442a98bf7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4589,7 +4589,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 (define-public evolution-data-server
   (package
     (name "evolution-data-server")
-    (version "3.24.2")
+    (version "3.24.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -4597,7 +4597,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1ywqy939n27v3kchlnyxs6ikhjxmlasv6f08ap4bldgr121vkfx9"))))
+                "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
     (build-system cmake-build-system)
     (arguments
      '(;; XXX FIXME: 11/85 tests are failing.
@@ -5708,7 +5708,7 @@ existing databases over the internet.")
 (define-public gnome-tweak-tool
   (package
     (name "gnome-tweak-tool")
-    (version "3.24.0")
+    (version "3.24.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
@@ -5718,7 +5718,7 @@ existing databases over the internet.")
                         (search-patch "gnome-tweak-tool-search-paths.patch")))
               (sha256
                (base32
-                "000ygz9wgnv8pimb6rwbjfm12vbx4138pwkq36ci0k6v827282wk"))))
+                "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--localstatedir=/tmp"
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index d4d52ee6d0..8b6069ec63 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -82,6 +82,7 @@ Daemon and possibly more in the future.")
 (define-public libgcrypt
   (package
     (name "libgcrypt")
+    (replacement libgcrypt-1.7.8)
     (version "1.7.7")
     (source (origin
              (method url-fetch)
@@ -115,8 +116,22 @@ generation.")
     (properties '((ftp-server . "ftp.gnupg.org")
                   (ftp-directory . "/gcrypt/libgcrypt")))))
 
+(define libgcrypt-1.7.8
+  (package
+    (inherit libgcrypt)
+    (replacement #f)
+    (version "1.7.8")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll"))))))
+
 (define-public libgcrypt-1.5
   (package (inherit libgcrypt)
+    (replacement #f)
     (version "1.5.6")
     (source
      (origin
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 37adc3bbd6..db32b988ed 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -505,7 +505,16 @@ standards.")
         (mozilla-patch "icecat-bug-1339826-pt2.patch"    "44b2fe592a90" "1v8mz3b40dp6l5qrgha4yibmrnx80pxsvdll6ky1k937yhbzjk4a")
         (mozilla-patch "icecat-CVE-2017-5470-pt19.patch" "f68e0d98a22a" "063z4a7gyhzy85fc2j2yr7kmk2zf7v875hjw4485civazydysw4j")
         (mozilla-patch "icecat-bug-1353625.patch"        "c41f37d913e2" "1s997c1hj4ywnlfbhvi1y96vd6bxl74wcrb0nly611h51h8xnyxm")
-        (mozilla-patch "icecat-CVE-2017-5470-pt20.patch" "38273203b827" "12p9r4spdp09d6ic9sqspvdr50lmc1p86ydz2fxdifb1f95njhx0")))
+        (mozilla-patch "icecat-CVE-2017-5470-pt20.patch" "38273203b827" "12p9r4spdp09d6ic9sqspvdr50lmc1p86ydz2fxdifb1f95njhx0")
+        (mozilla-patch "icecat-bug-1357022.patch"        "5bd51bc3f587" "0z5drxpfjvb7s43qgcr404h8ckchgakwwwi4nxpx2i653w22a743")
+        (mozilla-patch "icecat-bug-1318845.patch"        "512efd480dac" "13cmqap795ayh6gh3b5bc6002pz0wp92qngs7fh5qqklc7a0gkzv")
+        (mozilla-patch "icecat-bug-1371586.patch"        "d0c92199b9ed" "0qmsm7d4h6ysx3an247kpx9qpksfms7hrjgpdrghdbxla1hc4nc9")
+        (mozilla-patch "icecat-bug-1364513.patch"        "88e9c2137640" "1mh4l745q1wlabn9sz47n0vy3h7c66fcay2b9dwa16iqwvh3lpiw")
+        (mozilla-patch "icecat-bug-1366203.patch"        "08dd87b6bb8f" "15bfwfwwd978mlcpk1d6m7506k8c2y402md7wzf6piabxl5kk6cf")
+        (mozilla-patch "icecat-bug-1368576.patch"        "5a51a9ef8149" "0j0f9j0pryv3ik4bizhv8s6rr4dl1mjm01c23msayr0vbnpcagcs")
+        (mozilla-patch "icecat-bug-1369913.patch"        "f47eaebc0c5c" "1b52xm3awpigasaz0hk5b13l7v4ry9vrawf571lzy2wwhphs4nxx")
+        (mozilla-patch "icecat-bug-1371424.patch"        "40ce248a8c15" "1b722fiifr999ga0991cg5mlhidcnvf3zx2aiq5zjaabqn0f4dzk")
+        (mozilla-patch "icecat-bug-1372112.patch"        "0c8359ac6718" "1w0v2p5jnhzvcsx8h1bglwjhp5y5bg1g8pzpvjw7pg1wlq2frccr")))
       (modules '((guix build utils)))
       (snippet
        '(begin
diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm
index d2aaec306b..8ddc0ffd4f 100644
--- a/gnu/packages/hexedit.scm
+++ b/gnu/packages/hexedit.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +21,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages ncurses)
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
@@ -44,3 +46,28 @@ file can be a device as the file is read a piece at a time.  You can modify
 the file and search through it.")
     (home-page "http://rigaux.org/hexedit.html")
     (license license:gpl2+)))
+
+(define-public ht
+  (package
+    (name "ht")
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://sourceforge.net/projects/hte/files/ht-source/"
+                    name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0w2xnw3z9ws9qrdpb80q55h6ynhh3aziixcfn45x91bzrbifix9i"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("lzo" ,lzo)
+       ("ncurses" ,ncurses)))
+    (synopsis "Viewer, editor, and analyzer for executable binaries")
+    (description
+     "ht is a terminal-based program to view, edit, and analyze any file, but
+with a special focus on executable binaries.  Its goal is to combine the
+low-level functionality of a debugger with the usability of an @dfn{Integrated
+Development Environment} (IDE).")
+    (home-page "http://hte.sourceforge.net/")
+    (license license:gpl2)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e81ee40d38..e074dab46d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1839,8 +1839,8 @@ IcedTea build harness.")
                       "10baak8v0hnwz2hr33bavshm7y49mmn9zsyyms1dwjz45p5ymhy0"))
          ("tools-reader-src"
           ,(submodule "tools.reader/archive/tools.reader-"
-                      "0.10.0"
-                      "09i3lzbhr608h76mhdjm3932gg9xi8sflscla3c5f0v1nkc28cnr"))))
+                      "1.0.0"
+                      "1lafblmmj4hkg0aqrf19qkdw9wdcsh3qxmn6cbkmnzbhffpyv2lv"))))
       (home-page "https://clojure.org/")
       (synopsis "Lisp dialect running on the JVM")
       (description "Clojure is a dynamic, general-purpose programming language,
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8fe71d5b5d..a25de39ed8 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
@@ -51,12 +52,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages pdf)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -3027,3 +3030,389 @@ script engines.")
 
 (define kinit-bootstrap
   ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
+
+
+;; Tier 4
+;;
+;; Tier 4 frameworks can be mostly ignored by application programmers; this
+;; tier consists of plugins acting behind the scenes to provide additional
+;; functionality or platform integration to existing frameworks (including
+;; Qt).
+
+(define-public kde-frameworkintegration
+  (package
+    (name "kde-frameworkintegration")
+    (version "5.34.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    "frameworkintegration-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0hq1r2znjzy0wzm3nsclqmih1aia5300bsf87a2l4919q0ildb20"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kitemviews" ,kitemviews)
+       ("knewstuff" ,knewstuff)
+       ("knotificantions" ,knotifications)
+       ("kpackage" ,kpackage)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "HOME" (getcwd))
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
+    (description "Framework Integration is a set of plugins responsible for
+better integration of Qt applications when running on a KDE Plasma
+workspace.")
+    ;; This package is distributed under either LGPL2 or LGPL3, but some
+    ;; files are explicitly LGPL2+.
+    (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
+    (properties `((upstream-name . "frameworkintegration")))))
+
+
+;; Porting Aids
+;;
+;; Porting Aids frameworks provide code and utilities to ease the transition
+;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
+;; framework, new projects should avoid using these libraries.
+
+(define-public kdelibs4support
+  (package
+    (name "kdelibs4support")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0q9jjsjcvc43va4yvfay2xi40vb95lnqhgzavpqcndzjihixwmi0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("dbus" ,dbus)
+       ("docbook-xml" ,docbook-xml-4.4) ; optional
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl", perl)
+       ("perl-uri" ,perl-uri)
+       ("pkg-config" ,pkg-config)
+       ("shared-mime-info" ,shared-mime-info)
+       ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
+       ("strace" ,strace)
+       ("tzdata" ,tzdata)))
+    (propagated-inputs
+     ;; These are required to be installed along with this package, see
+     ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
+     `(("karchive" ,karchive)
+       ("kauth" ,kauth)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kcrash" ,kcrash)
+       ("kdbusaddons" ,kdbusaddons)
+       ("kdesignerplugin" ,kdesignerplugin)
+       ("kdoctools" ,kdoctools)
+       ("kemoticons" ,kemoticons)
+       ("kguiaddons" ,kguiaddons)
+       ("kiconthemes" ,kiconthemes)
+       ("kinit" ,kinit)
+       ("kitemmodels" ,kitemmodels)
+       ("knotifications" ,knotifications)
+       ("kparts" ,kparts)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kunitconversion", kunitconversion)
+       ("kwindowsystem" ,kwindowsystem)
+       ("qtbase" ,qtbase)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kded" ,kded)
+       ("kdesignerplugin" ,kdesignerplugin)
+       ("kdoctools" ,kdoctools)
+       ("kglobalaccel" ,kglobalaccel)
+       ("kguiaddons" ,kguiaddons)
+       ("ki18n" ,ki18n)
+       ("kio" ,kio)
+       ("kservice" ,kservice)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("libsm", libsm)
+       ("networkmanager-qt", networkmanager-qt)
+       ("openssl", openssl)
+       ("qtsvg" ,qtsvg)
+       ("qttools" ,qttools)
+       ("qtx11extras" ,qtx11extras)))
+    ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
+    ;; share/kf5/kssl/ca-bundle.crt
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-cmake-to-find-docbook
+           (lambda _
+             (substitute* "cmake/FindDocBookXML4.cmake"
+               (("^.*xml/docbook/schema/dtd.*$")
+                "xml/dtd/docbook\n"))
+             #t))
+         (delete 'check)
+         (add-after 'install 'check-post-install
+           (lambda* (#:key inputs tests? #:allow-other-keys)
+             (setenv "HOME" (getcwd))
+             (setenv "TZDIR"    ; KDateTimeTestsome needs TZDIR
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             ;; enable debug output
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             ;; TODO: Make this tests pass (also see
+             ;; https://bugs.kde.org/381098)
+             (zero? (system* "dbus-launch" "ctest" "."
+                             "-E" "kmimetypetest|kstandarddirstest")))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
+    (description "This framework provides code and utilities to ease the
+transition from kdelibs 4 to KDE Frameworks 5.  This includes CMake macros and
+C++ classes whose functionality has been replaced by code in CMake, Qt and
+other frameworks.
+
+Code should aim to port away from this framework eventually.  The API
+documentation of the classes in this framework and the notes at
+http://community.kde.org/Frameworks/Porting_Notes should help with this.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
+                   license:gpl2 license:gpl2+
+                   license:expat license:bsd-2 license:bsd-3
+                   license:public-domain))))
+
+(define-public khtml
+  (package
+    (name "khtml")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0j490jfnz8pbfl1i11wj514nw0skpnxr2fvi9pqpfql9lfhsanxv"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl", perl)))
+    (inputs
+     `(("giflib" ,giflib)
+       ("karchive" ,karchive)
+       ("kcodecs" ,kcodecs)
+       ("kglobalaccel" ,kglobalaccel)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kio" ,kio)
+       ("kjs" ,kjs)
+       ("knotifications" ,knotifications)
+       ("kparts" ,kparts)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kwallet", kwallet)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kwindowsystem" ,kwindowsystem)
+       ("kxmlgui" ,kxmlgui)
+       ("libjpeg", libjpeg)
+       ("libpng", libpng)
+       ("openssl", openssl)
+       ("phonon", phonon)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)
+       ("sonnet" ,sonnet)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 HTML widget and component")
+    (description "KHTML is a web rendering engine, based on the KParts
+technology and using KJS for JavaScript support.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.0+ license:lgpl2.1+
+                   license:gpl2  license:gpl3+
+                   license:expat license:bsd-2 license:bsd-3))))
+
+(define-public kjs
+  (package
+    (name "kjs")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "18b7k1hi73iqn06c1ryy9lcmvscr9d08q7n1wwkrn0l2xmy05xsq"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("pcre" ,pcre)
+       ("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
+applications")
+    (description "Add-on library to Qt which adds JavaScript scripting
+support.")
+    ;; Most files are distributed under LGPL2+, but the package also includes
+    ;; code under a variety of licenses.
+    (license (list license:lgpl2.1+
+                   license:bsd-2 license:bsd-3
+                   (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
+
+(define-public kjsembed
+  (package
+    (name "kjsembed")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "17w8i370pqks1fj3pcziz7j014chnc6yi7md7w2p4xprw54pbmbk"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("ki18n" ,ki18n)
+       ("kjs" ,kjs)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
+    (description "KJSEmbed provides a method of binding Javascript objects to
+QObjects, so you can script your applications.")
+    (license license:lgpl2.1+)))
+
+(define-public kmediaplayer
+  (package
+    (name "kmediaplayer")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1mq87qf86sdvwhas4w7rspd221qp4x9kds4nd0lpldiay4483k86"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kio" ,kio)
+       ("kparts" ,kparts)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 plugin interface for media player features")
+    (description "KMediaPlayer builds on the KParts framework to provide a
+common interface for KParts that can play media files.
+
+This framework is a porting aid.  It is not recommended for new projects, and
+existing projects that use it are advised to port away from it, and use plain
+KParts instead.")
+    (license license:expat)))
+
+(define-public kross
+  (package
+    (name "kross")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "092qz8vyiialv9fvk4wvn8mrfhz5i5hnbq0xnz6nvi1pk3db6bxq"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kparts" ,kparts)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("qtbase" ,qtbase)
+       ("qtscript" ,qtscript)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 solution for application scripting")
+    (description "Kross is a scripting bridge for the KDE Development Platform
+used to embed scripting functionality into an application.  It supports
+QtScript as a scripting interpreter backend.
+
+Kross provides an abstract API to provide scripting functionality in a
+interpreter-independent way.  The application that uses Kross should not need
+to know anything about the scripting language being used.  The core of Kross
+provides the framework to deal transparently with interpreter-backends and
+offers abstract functionality to deal with scripts.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.0+ license:lgpl2.1+
+                   license:lgpl2.0 license:gpl3+))))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 73e376fdd3..9031d727ef 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
+;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -98,6 +99,8 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages groff)
+  #:use-module (gnu packages selinux)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -360,56 +363,26 @@ It has been modified to remove all non-free binary blobs.")
 
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 
-(define %linux-libre-version "4.11.6")
-(define %linux-libre-hash "0xay0m2a4la8aqc8ai8zqfh1c1i6sjgh0dywm7nis0g1gqirwrds")
+(define %linux-libre-version "4.11.7")
+(define %linux-libre-hash "0kliwdz4qqjz13pywhavxg19cy1mf6d1f52f6kgapc331309vad9")
 
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f")
-                            (file-name "linux-libre-4.11-CVE-2017-1000364.patch")
-                            (sha256
-                             (base32
-                              "0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689"))))))
+                    #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.33"
-                    "1dam6vqymhlx1vsl0lzxphamiifgyf97snxg18b2czqq402nz094"
+  (make-linux-libre "4.9.34"
+                    "00jm3338kvhfj850lg3mvk680fmfw34mvwaq41lvxgb1z2xqqlz1"
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=37c40b6777f0bc8a63f616479c469b371097f333")
-                            (file-name "linux-libre-4.9-CVE-2017-1000364.patch")
-                            (sha256
-                             (base32
-                              "0zhnh8ysiqldxlnd50bjrxagzx29kc8nlajdrikii2x2ibkbfb4i"))))))
+                    #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.73"
-                    "144ssqw1dr86z4cgl797pq5rggfibsxqk7wmfbl6j92l1cj6yjrz"
+  (make-linux-libre "4.4.74"
+                    "04x2ki3s2jsjkkk6bld0rd9rsk8qqvrfsxawxzfa26mkq6pv87r2"
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=87422f5b9b4f43efef4eaf37d7d040aed96500cb")
-                            (file-name "linux-libre-4.4-CVE-2017-1000364.patch")
-                            (sha256
-                             (base32
-                              "137p1cpiwlbvw4x12w1l23iy593xmdry60kd7j9kk690r9arfagw"))))))
+                    #:configuration-file kernel-config))
 
 (define-public linux-libre-4.1
   (make-linux-libre "4.1.41"
@@ -422,17 +395,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch
                     %linux-libre-hash
                     '("armhf-linux")
                     #:defconfig "multi_v7_defconfig"
-                    #:extra-version "arm-generic"
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f")
-                            (file-name "linux-libre-4.11-CVE-2017-1000364.patch")
-                            (sha256
-                             (base32
-                              "0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689"))))))
+                    #:extra-version "arm-generic"))
 
 
 ;;;
@@ -4176,3 +4139,28 @@ NexGen, Rise, and SiS CPUs.")
 to data over the Media Transfer Protocol (MTP).  Unprivileged users can mount
 the MTP device as a filesystem.")
     (license license:gpl3)))
+
+(define-public procenv
+  (package
+   (name "procenv")
+   (version "0.49")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "https://github.com/jamesodhunt/procenv/archive/"
+                         version ".tar.gz"))
+     (file-name (string-append name "-" version ".tar.gz"))
+     (sha256
+      (base32 "0brzf6185hb76imw107cl21c8lzwiywkxi3jknihrk86bvvicd0d"))))
+   (build-system gnu-build-system)
+   (arguments `(#:configure-flags '("--disable-silent-rules")))
+   (inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check)
+             ("groff" ,groff)           ; for tests
+             ("libselinux" ,libselinux)))
+   (synopsis "Utility to show process environment")
+   (description "Procenv is a command-line tool that displays as much detail about
+itself and its environment as possible.  It can be used as a test
+tool, to understand the type of environment a process runs in, and for
+comparing system environments.")
+   (home-page "http://github.com/jamesodhunt/procenv/")
+   (license license:gpl3+)))
diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm
index d4c2d18ccc..cd9e06d394 100644
--- a/gnu/packages/lirc.scm
+++ b/gnu/packages/lirc.scm
@@ -48,6 +48,13 @@
      '(#:configure-flags '("--localstatedir=/var")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-kernel-sniffing
+           (lambda _
+             ;; Correct the faulty assumption that systemd support should be
+             ;; hard-wired when a build host's /proc/version contains "Ubuntu".
+             (substitute* "configure"
+               (("kernelversion=.*") "kernelversion=irrelevant\n"))
+             #t))
          (add-after 'unpack 'patch-lirc-make-devinput
            (lambda* (#:key inputs #:allow-other-keys)
              ;; 'lirc-make-devinput' script assumes that linux headers
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 019b556c9c..7ab9829196 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1085,7 +1085,7 @@ facilities for checking incoming mail.")
 (define-public dovecot
   (package
     (name "dovecot")
-    (version "2.2.30.2")
+    (version "2.2.31")
     (source
      (origin
        (method url-fetch)
@@ -1093,7 +1093,7 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.gz"))
        (sha256 (base32
-                "17hqhzfqlk08d20x9rwi0lyvy13pc0x8sr1zcg89vapf3jfagnzk"))))
+                "18bnwgn6hshbmr79g21sngkrmydji6bzb948a3b2i0bl0w4y8jq3"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e7205655c3..20eef00123 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -428,7 +428,7 @@ large scale eigenvalue problems.")
 (define-public lapack
   (package
     (name "lapack")
-    (version "3.5.0")
+    (version "3.7.1")
     (source
      (origin
       (method url-fetch)
@@ -436,14 +436,24 @@ large scale eigenvalue problems.")
                           version ".tgz"))
       (sha256
        (base32
-        "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s"))))
+        "0yavf6m9l78pwlnk5g61cg8x28mr30j0g8gkai0jrdqfjjmf3whs"))))
     (build-system cmake-build-system)
     (home-page "http://www.netlib.org/lapack/")
     (inputs `(("fortran" ,gfortran)
               ("python" ,python-2)))
     (arguments
-     `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"
-                           "-DLAPACKE=ON")
+     `(#:configure-flags (list
+                          ;; Install to PREFIX/lib (the default is
+                          ;; PREFIX/lib64).
+                          (string-append "-DCMAKE_INSTALL_LIBDIR="
+                                         (assoc-ref %outputs "out")
+                                         "/lib")
+
+                          "-DBUILD_SHARED_LIBS:BOOL=YES"
+                          "-DLAPACKE=ON"
+
+                          ;; Build the 'LAPACKE_clatms' functions.
+                          "-DLAPACKE_WITH_TMG=ON")
        #:phases (alist-cons-before
                  'check 'patch-python
                  (lambda* (#:key inputs #:allow-other-keys)
@@ -1872,6 +1882,7 @@ YACC = bison -pscotchyy -y -b y
                         '("COMMON_FILE_COMPRESS_GZ"
                           "COMMON_PTHREAD"
                           "COMMON_RANDOM_FIXED_SEED"
+                          "INTSIZE64"             ;use 'long' instead of 'int'
                           ;; Prevents symbolc clashes with libesmumps
                           "SCOTCH_RENAME"
                           ;; XXX: Causes invalid frees in superlu-dist tests
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index e711148c7c..3fcf5f0fa4 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -34,14 +34,14 @@
 (define-public nyacc
   (package
     (name "nyacc")
-    (version "0.79.4")
+    (version "0.80.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/nyacc/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "14rhr9nv1022r7m94agb3299y0k093aq1ps22zgii3aa7cf9h1w4"))))
+                "0sdvkahnz6k9i4kf1i1ljl20220n3wk3gy6zmz0ggbbdgg4mfka0"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
@@ -54,25 +54,24 @@ extensive examples, including parsers for the Javascript and C99 languages.")
     (license (list gpl3+ lgpl3+))))
 
 (define-public mes
-  (let ((commit "7fdca75d2188b28df806b34ec92627d57aafa9ae")
-        (revision "0")
-        (triplet "i686-unknown-linux-gnu")
-        (version "0.7"))
+  (let ((triplet "i686-unknown-linux-gnu"))
     (package
       (name "mes")
-      (version (string-append version "-" revision "." (string-take commit 7)))
+      (version "0.8")
       (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://gitlab.com/janneke/mes")
-                      (commit commit)))
-                (file-name (string-append name "-" version))
+                (method url-fetch)
+                (uri (string-append "https://gitlab.com/janneke/mes"
+                                    "/repository/archive.tar.gz?ref=v"
+                                    version))
+                (file-name (string-append name "-" version ".tar.gz"))
                 (sha256
-                 (base32 "0fvzr1ai2rmi46zdi5b2bdjb6s8ip78mkmsk02yxl46rajmp2pb1"))))
+                 (base32
+                  "1igmrks20ci6l5c0jx2bn4swf0w8jy5inhg61cwld9d7hwanmdnj"))))
       (build-system gnu-build-system)
       (supported-systems '("i686-linux" "x86_64-linux"))
       (propagated-inputs
-       `(("nyacc" ,nyacc)))
+       `(("mescc-tools" ,mescc-tools)
+         ("nyacc" ,nyacc)))
       (native-inputs
        `(("guile" ,guile-2.2)
          ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system)
@@ -100,3 +99,32 @@ consists of a mutual self-hosting [close to Guile-] Scheme interpreter
 prototype in C and a Nyacc-based C compiler in [Guile] Scheme.")
       (home-page "https://gitlab.com/janneke/mes")
       (license gpl3+))))
+
+(define-public mescc-tools
+  (package
+    (name "mescc-tools")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/oriansj/MESCC_Tools/archive/Release_"
+                    version
+                    ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1lzi9sqv41269isn7in70q2hhh087n4v97zr5i2qzz69j2lkr3xb"))))
+    (build-system gnu-build-system)
+    (supported-systems '("i686-linux" "x86_64-linux"))
+    (arguments
+     `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:test-target "test"
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (synopsis "Tools for the full source bootstrapping process")
+    (description
+     "Mescc-tools is a collection of tools for use in a full source
+bootstrapping process.  Currently consists of the M0 macro assembler and the
+hex2 linker.")
+    (home-page "https://github.com/oriansj/MESCC_Tools")
+    (license gpl3+)))
diff --git a/gnu/packages/moe.scm b/gnu/packages/moe.scm
index 12929b327a..67e5b02390 100644
--- a/gnu/packages/moe.scm
+++ b/gnu/packages/moe.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -28,7 +28,7 @@
 (define-public moe
   (package
     (name "moe")
-    (version "1.8")
+    (version "1.9")
     (source
      (origin
       (method url-fetch)
@@ -36,7 +36,7 @@
                           version ".tar.lz"))
       (sha256
        (base32
-        "0mv4pg38p0dq88xmxxv08rykn7vv4x7gskmdk7nfp3vx37r4xzvy"))))
+        "1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q"))))
     (build-system gnu-build-system)
     (native-inputs `(("lzip" ,lzip)))
     (inputs `(("ncurses" ,ncurses)))
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 78c2b2f73b..8a3a5809c7 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -290,14 +290,14 @@ This package contains the binary.")
 (define-public mpg123
   (package
     (name "mpg123")
-    (version "1.23.8")
+    (version "1.25.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/mpg123/mpg123/" version
                                   "/mpg123-" version ".tar.bz2"))
               (sha256
                (base32
-                "13ngfzk84k4ks7ymanmq8f6707yrybra5h0mk3ir6mdnxk4068yy"))))
+                "0j2fyb984cwvhn8kicf87y39bhjsg43p14aj893hzq25n0fkwbjm"))))
     (build-system gnu-build-system)
     (arguments '(#:configure-flags '("--with-default-audio=pulse")))
     (native-inputs `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 06a2c8be6e..d4b9a3d129 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
@@ -64,6 +66,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
@@ -1308,3 +1311,79 @@ transparently have a connection established to another address (e.g., a UNIX
 socket on a different system).  This is similar to 'ssh -L' functionality, but
 does not use SSH and requires a pre-shared symmetric key.")
     (license license:bsd-2)))
+
+(define-public quagga
+  (package
+    (name "quagga")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://savannah/quagga/quagga-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1kgvcr9cfgys5asvb5lh5h95silkr624apqm5x68xva19xfvmpda"))
+              (patches
+               (search-patches "quagga-reproducible-build.patch"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config",pkg-config)
+                     ("perl",perl)
+                     ("dejagnu",dejagnu)))
+    (inputs `(("readline",readline)
+              ("c-ares",c-ares)))
+    (synopsis "Routing Software Suite")
+    (description "Quagga is a routing software suite, providing implementations
+of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms.
+
+The Quagga architecture consists of a core daemon, @command{zebra}, which
+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/")
+    (license license:gpl2+)))
+
+(define-public thc-ipv6
+  (package
+    (name "thc-ipv6")
+    (version "3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/vanhauser-thc/thc-ipv6/"
+                                  "archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0yh2lpsazmm0pgbmh0dx023w6fss1kdfyr4cq7yw0fac8vkw32d3"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:tests? #f ; No test suite.
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ; No ./configure script.
+         (add-before 'build 'patch-paths
+           (lambda _
+             (substitute* "Makefile"
+               (("/bin/echo") "echo"))
+             #t))
+         (add-after 'install 'install-more-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/thc-ipv6/doc")))
+               (install-file "README" doc)
+               (install-file "HOWTO-INJECT" doc)
+               #t))))))
+    ;; TODO Add libnetfilter-queue once packaged.
+    (inputs
+     `(("libpcap" ,libpcap)
+       ("openssl" ,openssl)
+       ("perl" ,perl)))
+    (home-page "https://github.com/vanhauser-thc/thc-ipv6")
+    (synopsis "IPv6 security research toolkit")
+    (description "The THC IPv6 Toolkit provides command-line tools and a library
+for researching IPv6 implementations and deployments.  It requires Linux 2.6 or
+newer and only works on Ethernet network interfaces.")
+    ;; AGPL 3 with exception for linking with OpenSSL. See the 'LICENSE' file in
+    ;; the source distribution for more information.
+    (license license:agpl3)))
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 69bd928833..d4415fc501 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -40,14 +40,14 @@
 (define-public node
   (package
     (name "node")
-    (version "7.10.0")
+    (version "8.1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://nodejs.org/dist/v" version
                                   "/node-v" version ".tar.gz"))
               (sha256
                (base32
-                "00vdmb0z8b2sd547bkksgy9dfq5gi5xfd9b3f0rc4ngvpzl3z164"))
+                "0l92gar1pivzaiwffiiiz2f2m5k39sl5fphlfnvy0ml9hrjb65yp"))
               ;; https://github.com/nodejs/node/pull/9077
               (patches (search-patches "node-9077.patch"))))
     (build-system gnu-build-system)
@@ -83,10 +83,18 @@
                (("	\\$\\(MAKE\\) jslint") "")
                (("	\\$\\(MAKE\\) cpplint\n") ""))
 
+             ;; FIXME: This test seems to depends on files that are not
+             ;; available in the bundled v8. See
+             ;; https://github.com/nodejs/node/issues/13344
+             (for-each delete-file
+                       '("test/addons-napi/test_general/testInstanceOf.js"))
              ;; FIXME: These tests fail in the build container, but they don't
              ;; seem to be indicative of real problems in practice.
              (for-each delete-file
-                       '("test/parallel/test-dgram-membership.js"
+                       '("test/async-hooks/test-ttywrap.readstream.js"
+                         "test/parallel/test-util-inspect.js"
+                         "test/parallel/test-v8-serdes.js"
+                         "test/parallel/test-dgram-membership.js"
                          "test/parallel/test-cluster-master-error.js"
                          "test/parallel/test-cluster-master-kill.js"
                          "test/parallel/test-npm-install.js"
diff --git a/gnu/packages/patches/ansible-wrap-program-hack.patch b/gnu/packages/patches/ansible-wrap-program-hack.patch
new file mode 100644
index 0000000000..c2e1028392
--- /dev/null
+++ b/gnu/packages/patches/ansible-wrap-program-hack.patch
@@ -0,0 +1,22 @@
+Ansible changes its behaviour depending on the name of the script that it is
+called as. Make it deal with guix' .real wrapper scripts.
+
+FIXME: Remove once wrapping ansible works properly.
+See http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html.
+--- ansible-2.3.0.0/bin/ansible	2017-04-12 16:08:05.000000000 +0200
++++ ansible-2.3.0.0-fixed/bin/ansible	2017-05-21 20:11:18.720872385 +0200
+@@ -75,7 +75,13 @@
+             # sometimes add that
+             target = target[:-1]
+
+-        if len(target) > 1:
++        if target[-1] == "real" and target[0].startswith('.'):
++            target = target[:-1]
++            target[0] = target[0][1:]
++        if len(target) > 1 and target[1] != "real" :
++            sub = target[1]
++            myclass = "%sCLI" % sub.capitalize()
++        elif len(target) > 2 and target[2] == "real" :
+             sub = target[1]
+             myclass = "%sCLI" % sub.capitalize()
+         elif target[0] == 'ansible':
diff --git a/gnu/packages/patches/quagga-reproducible-build.patch b/gnu/packages/patches/quagga-reproducible-build.patch
new file mode 100644
index 0000000000..80efe4bf62
--- /dev/null
+++ b/gnu/packages/patches/quagga-reproducible-build.patch
@@ -0,0 +1,22 @@
+Make sure, that vtysh_cmd.c is deterministically generated.
+
+--- a/vtysh/extract.pl.in	2017-03-10 13:55:06.000000000 +0100
++++ b/vtysh/extract.pl.in	2017-06-24 00:51:56.460000000 +0200
+@@ -214,7 +214,7 @@
+ }
+ 
+ # Output DEFSH
+-foreach (keys %live) {
++foreach (sort keys %live) {
+     my ($proto);
+     my ($key);
+     $key = $live{$_};
+@@ -229,7 +229,7 @@
+ {
+ EOF
+ 
+-foreach (keys %odefun) {
++foreach (sort keys %odefun) {
+     my ($node, $str) = (split (/,/));
+     $cmd = $ocmd{$_};
+     $cmd =~ s/_cmd/_cmd_vtysh/;
diff --git a/gnu/packages/patches/screen-fix-info-syntax-error.patch b/gnu/packages/patches/screen-fix-info-syntax-error.patch
deleted file mode 100644
index 6ee9091daa..0000000000
--- a/gnu/packages/patches/screen-fix-info-syntax-error.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Fix errors when building the info manual:
-
-[...]
-./screen.texinfo:5799: unknown command `suse'
-./screen.texinfo:5800: unknown command `deuxchevaux'
-make[2]: *** [Makefile:31: screen.info] Error 1
-[...]
-
-Patch copied from upstream source repository:
-
-http://git.savannah.gnu.org/cgit/screen.git/commit/?id=a7d2f9e6ecfa794dd0bd3dbeaf6780c88a6f3152
-
-From a7d2f9e6ecfa794dd0bd3dbeaf6780c88a6f3152 Mon Sep 17 00:00:00 2001
-From: Andreas Stieger <astieger@suse.com>
-Date: Tue, 28 Feb 2017 19:23:01 +0100
-Subject: [PATCH] fix texinfo syntax errors
-
-thanks to Andreas Stieger <astieger@suse.com>
----
- src/doc/screen.texinfo | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/doc/screen.texinfo b/src/doc/screen.texinfo
-index bc4cbae..aadad33 100644
---- a/doc/screen.texinfo
-+++ b/doc/screen.texinfo
-@@ -5795,7 +5795,7 @@ and Alexander Naumov <alexander_naumov@@opensuse.org>.
- Contributors @*
- ============
- 
--@example
-+@verbatim
-      Thomas Renninger <treen@suse.com>,
-      Axel Beckert <abe@deuxchevaux.org>,
-      Ken Beal <kbeal@@amber.ssd.csd.harris.com>,
-@@ -5826,7 +5826,7 @@ Contributors @*
-      Jason Merrill <jason@@jarthur.Claremont.EDU>,
-      Johannes Zellner <johannes@@zellner.org>,
-      Pablo Averbuj <pablo@@averbuj.com>.
--@end example
-+@end verbatim
- 
- @noindent
- Version @*
--- 
-cgit v1.0-41-gc330
-
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 5ccaa38eea..dce02a7b57 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -76,6 +76,7 @@
 (define-public poppler
   (package
    (name "poppler")
+   (replacement poppler-0.56.0)
    (version "0.52.0")
    (source (origin
             (method url-fetch)
@@ -129,15 +130,27 @@
    (license license:gpl2+)
    (home-page "https://poppler.freedesktop.org/")))
 
-(define-public poppler-qt4
+(define poppler-0.56.0
   (package (inherit poppler)
+  (version "0.56.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (string-append "https://poppler.freedesktop.org/poppler-"
+                          version ".tar.xz"))
+      (sha256
+       (base32
+        "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6"))))))
+
+(define-public poppler-qt4
+  (package/inherit poppler
    (name "poppler-qt4")
    (inputs `(("qt-4" ,qt-4)
              ,@(package-inputs poppler)))
    (synopsis "Qt4 frontend for the Poppler PDF rendering library")))
 
 (define-public poppler-qt5
-  (package (inherit poppler)
+  (package/inherit poppler
    (name "poppler-qt5")
    (inputs `(("qtbase" ,qtbase)
              ,@(package-inputs poppler)))
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 3effc181d3..1811e8ad3e 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -386,6 +386,8 @@ photographic equipment.")
 developer.  It manages your digital negatives in a database, lets you view
 them through a zoomable lighttable and enables you to develop raw images
 and enhance them.")
+    ;; see src/is_supported_platform.h for supported platforms
+    (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
     (license license:gpl3+)))
 
 (define-public hugin
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ef7b92bd48..34cab7a041 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6036,7 +6036,19 @@ of the structure, dynamics, and functions of complex networks.")
     (build-system python-build-system)
     (arguments
      ;; TODO: Package missing test dependencies.
-     '(#:tests? #f))
+     '(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; For cluster execution Snakemake will call Python.  Since there is
+         ;; no suitable PYTHONPATH set, cluster execution will fail.  We fix
+         ;; this by calling the snakemake wrapper instead.
+         (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "snakemake/executors.py"
+               (("\\{sys.executable\\} -m snakemake")
+                (string-append (assoc-ref outputs "out")
+                               "/bin/snakemake")))
+             #t)))))
     (propagated-inputs
      `(("python-wrapt" ,python-wrapt)
        ("python-requests" ,python-requests)))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index bcb715327c..dae00732af 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@@ -181,7 +181,7 @@
                "0w5ib5vsidihb4hb6fma3sp596ykr8izagm57axvgd6lqzwicsjg"))))))))
 
     ;; Fails to build on MIPS, see <http://bugs.gnu.org/18221>.
-    (supported-systems (delete "mips64el-linux" %supported-systems))
+    (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 
     (home-page "https://www.gnu.org/software/mit-scheme/")
     (synopsis "A Scheme implementation with integrated editor and debugger")
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 49584662b1..af0079be20 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -37,14 +37,13 @@
 (define-public screen
   (package
     (name "screen")
-    (version "4.5.1")
+    (version "4.6.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/screen/screen-"
                                  version ".tar.gz"))
-             (patches (search-patches "screen-fix-info-syntax-error.patch"))
              (sha256
-              (base32 "0bbv16gpxrh64sn4bvjy3qjy7jsxjlqlilyysin02fwnvla23nwp"))))
+              (base32 "1m7yd2bs1i623kk27nfy3qa2mgjp5qjqxwj5qz21r51ycmmp0cwl"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("makeinfo" ,texinfo)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 832b8dc7c5..41c0668151 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@@ -3768,37 +3768,26 @@ from within R.")
 (define-public r-spams
   (package
     (name "r-spams")
-    (version "2.5-svn2014-07-04")
+    (version "2.6-2017-03-22")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://gforge.inria.fr/frs/download.php/33815/"
+       (uri (string-append "https://gforge.inria.fr/frs/download.php/36615/"
                            "spams-R-v" version ".tar.gz"))
        (sha256
         (base32
-         "1k459jg9a334slkw31w63l4d39xszjzsng7dv5j1mp78zifz7hvx"))))
+         "13z2293jixf1r9g8dyy856xrhvpjr2ln2n9smn6644126r9hmhkx"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'chdir
            (lambda _ (chdir "spams") #t))
-         ;; Since R 3.3.0 including R headers inside of an extern "C" block
-         ;; causes C headers to be included, which results in a lot of
-         ;; duplicate definitions.  This can be avoided by defining
-         ;; NO_C_HEADERS before including the R headers.
-         (add-after 'chdir 'patch-use-of-R-headers
+         ;; Don't tune for the building machine
+         (add-after 'chdir 'no-mtune
            (lambda _
-             (substitute* "src/spams.cpp"
-               (("#include <R.h>" line)
-                (string-append "#define NO_C_HEADERS\n" line)))
-             #t))
-         ;; This looks like a syntax error.
-         (add-after 'chdir 'patch-isnan
-           (lambda _
-             (substitute* '"src/spams/linalg/linalg.h"
-               (("if isnan\\(lambda\\) \\{")
-                "if (isnan(lambda)) {"))
+             (substitute* "src/Makevars"
+               (("-mtune=native") ""))
              #t)))))
     (propagated-inputs
      `(("r-lattice" ,r-lattice)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index eb69547a1c..f4b6596e9d 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -735,11 +735,14 @@ book).")
                (and (zero? (system* "luatex" "-ini" "-interaction=batchmode"
                                     "-output-directory=build"
                                     "unpack.ins"))
-                    ;; LaTeX and XeTeX require e-TeX, which is enabled only in
-                    ;; extended mode (activated with a leading asterisk).  We
-                    ;; should not use luatex here, because that would make the
-                    ;; generated format files incompatible with any other TeX
-                    ;; engine.
+                    (zero? (system* "tex" "-ini" "-interaction=batchmode"
+                                    "-output-directory=web2c"
+                                    "tex.ini"))
+                    ;; LaTeX, pdfetex/pdftex, and XeTeX require e-TeX, which
+                    ;; is enabled only in extended mode (activated with a
+                    ;; leading asterisk).  We should not use luatex here,
+                    ;; because that would make the generated format files
+                    ;; incompatible with any other TeX engine.
 
                     ;; FIXME: XeTeX fails to build because neither
                     ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are
@@ -751,7 +754,8 @@ book).")
                                        "-translate-file=cp227.tcx"
                                        (string-append "*" format ".ini"))))
                      '("latex" ;"xetex"
-                       ))
+                       "pdflatex"
+                       "pdfetex"))
                     (every
                      (lambda (format)
                        (zero? (system* "luatex" "-ini" "-interaction=batchmode"
@@ -772,6 +776,10 @@ book).")
                            (find-files "build" ".*"))
                  (for-each (cut install-file <> web2c)
                            (find-files "web2c" ".*"))
+                 ;; pdftex is really just the same as pdfetex, but since it
+                 ;; doesn't have its own format file, we need to copy it.
+                 (copy-file "web2c/pdfetex.fmt"
+                            (string-append web2c "/pdftex.fmt"))
                  #t))))))
       (native-inputs
        `(("texlive-bin" ,texlive-bin)
@@ -934,7 +942,7 @@ verbatim source).")
                  (revision %texlive-revision)))
            (sha256
             (base32
-             "1q5l0x3jsy74v0zq4c9g0x0rb9jfzf7cbhdzkbchyydv49iav802"))))))
+             "0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb"))))))
     (home-page "http://www.ctan.org/pkg/latex-graphics")
     (synopsis "LaTeX standard graphics bundle")
     (description
@@ -1446,6 +1454,131 @@ distribution.")
     (description "This is a very limited subset of the TeX Live distribution.
 It includes little more than the required set of LaTeX packages.")))
 
+(define-public texlive-latex-natbib
+  (package
+    (name "texlive-latex-natbib")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "natbib"))
+              (sha256
+               (base32
+                "0aqliq0nwblxyrzhwhv77pnmk7qh2y3prgq7z7qhwcbgz5kisld7"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/natbib"))
+    (home-page "http://www.ctan.org/pkg/natbib")
+    (synopsis "Flexible bibliography support")
+    (description
+     "This bundle provides a package that implements both author-year and
+numbered references, as well as much detailed of support for other
+bibliography use.  Also provided are versions of the standard BibTeX styles
+that are compatible with @code{natbib}: @code{plainnat}, @code{unsrtnat},
+@code{abbrnat}.  The bibliography styles produced by @code{custom-bib} are
+designed from the start to be compatible with @code{natbib}.")
+    (license license:lppl)))
+
+(define-public texlive-latex-seminar
+  (package
+    (name "texlive-latex-seminar")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/seminar"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "0y4i651b75y6006n03x8n86bsqvjsailvvz9bhzy51dzsznqidq0"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/seminar"))
+    (home-page "http://www.ctan.org/pkg/seminar")
+    (synopsis "Make overhead slides")
+    ;; TODO: This package may need fancybox and xcomment at runtime.
+    (description
+     "This package provides a class that produces overhead
+slides (transparencies), with many facilities.  Seminar is not nowadays
+reckoned a good basis for a presentation — users are advised to use more
+recent classes such as powerdot or beamer, both of which are tuned to
+21st-century presentation styles.")
+    (license license:lppl1.2+)))
+
+(define-public texlive-latex-hyperref
+  (package
+    (name "texlive-latex-hyperref")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "hyperref"))
+              (sha256
+               (base32
+                "03arf3xvz1jsbvlpgc5qxbxbl9wmk8k09cn6b8gv9pzgpjy4vx4j"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/hyperref"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-hluatex.def
+           (lambda _
+             ;; This depends on hluatex.dtx, which does not exist and is
+             ;; nowhere to be found in the sources of the TeX Live
+             ;; distribution.
+             (substitute* "hyperref.ins"
+               (("\\\\file\\{hluatex.def\\}.*") ""))
+             #t)))))
+    ;; The package depends on the kvoptions, ltxcmds, and refcount packages,
+    ;; which are part of the oberdiek bundle.
+    (inputs
+     `(("texlive-latex-oberdiek" ,texlive-latex-oberdiek)))
+    (home-page "http://www.ctan.org/pkg/hyperref")
+    (synopsis "Extensive support for hypertext in LaTeX")
+    (description
+     "The @code{hyperref} package is used to handle cross-referencing commands
+in LaTeX to produce hypertext links in the document.  The package provides
+backends for the @code{\\special} set defined for HyperTeX DVI processors; for
+embedded @code{pdfmark} commands for processing by Acrobat
+Distiller (@code{dvips} and Y&Y's @code{dvipsone}); for Y&Y's @code{dviwindo};
+for PDF control within pdfTeX and @code{dvipdfm}; for TeX4ht; and for VTeX's
+pdf and HTML backends.  The package is distributed with the @code{backref} and
+@code{nameref} packages, which make use of the facilities of @code{hyperref}.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-tex-texinfo
+  (package
+    (name "texlive-tex-texinfo")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/texinfo"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/texinfo")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/texinfo")
+    (synopsis "TeX macros to handle Texinfo files")
+    (description
+     "Texinfo is the preferred format for documentation in the GNU project;
+the format may be used to produce online or printed output from a single
+source.  The Texinfo macros may be used to produce printable output using TeX;
+other programs in the distribution offer online interactive use (with
+hypertext linkages in some cases).")
+    (license license:gpl3+)))
+
 (define texlive-texmf
   (package
    (name "texlive-texmf")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 32f09db751..816fb9dbea 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2001,7 +2001,8 @@ of modern, widely supported codecs.")
      `(("nasm" ,nasm)
        ("python" ,python)))
     (arguments
-     '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+     '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                          "CC=gcc")
        #:test-target "test"
        #:phases (modify-phases %standard-phases
                   ;; no configure script
diff --git a/gnu/packages/wdiff.scm b/gnu/packages/wdiff.scm
index 1dcdb8ba36..20fc0bc06f 100644
--- a/gnu/packages/wdiff.scm
+++ b/gnu/packages/wdiff.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,18 +40,16 @@
         "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases (alist-cons-before
-                 'check 'fix-sh
-                 (lambda _
-                   (substitute* "tests/testsuite"
-                     (("#! /bin/sh")
-                      (string-append "#!" (which "sh")))))
-                 %standard-phases)))
-    (inputs `(("screen" ,screen)
-              ("which" ,which)
-
-              ;; For some reason wdiff.info gets rebuilt.
-              ("texinfo" ,texinfo)))
+     `(#:phases (modify-phases %standard-phases
+                  (add-before 'check 'fix-sh
+                    (lambda _
+                      (substitute* "tests/testsuite"
+                        (("#! /bin/sh")
+                         (string-append "#!" (which "sh")))))))))
+    (native-inputs
+     `(("which" ,which)
+       ;; For some reason wdiff.info gets rebuilt.
+       ("texinfo" ,texinfo)))
     (home-page "https://www.gnu.org/software/wdiff/")
     (synopsis "Word difference finder")
     (description
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 63dba8a8bc..fa745a1711 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -55,14 +55,14 @@
 (define-public wine
   (package
     (name "wine")
-    (version "2.10")
+    (version "2.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dl.winehq.org/wine/source/2.x"
                                   "/wine-" version ".tar.xz"))
               (sha256
                (base32
-                "0ygiaayi2mv6jl450d03i4x2gd2bg3mwk3s2pxas87g8sbzzg3a8"))))
+                "0g6cwjyqwc660w33453aklh3hpc0b8rrb88dryn23ah6wannvagg"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
@@ -104,8 +104,7 @@
        ("unixodbc" ,unixodbc)
        ("zlib" ,zlib)))
     (arguments
-     `(;; The 64-bit build of Wine is reportedly less useful or even usable,
-       ;; so force a 32-bit build (under the assumption that this package is
+     `(;; Force a 32-bit build (under the assumption that this package is
        ;; being used on an IA32-compatible architecture.)
        #:system "i686-linux"
 
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index d7d1372dd2..101909b1e4 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -159,13 +159,15 @@ storage system.")
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)))
     (propagated-inputs
-     `(("gtk+-2" ,gtk+-2)  ; required by libxfce4ui-1.pc
-       ("gtk+-3" ,gtk+)    ; required by libxfce4ui-2.pc
+     `(("gtk+-3" ,gtk+)    ; required by libxfce4ui-2.pc
        ;; libxfce4kbd-private-2.pc refers to all these.
        ("libxfce4util" ,libxfce4util)
        ("xfconf" ,xfconf)))
     (inputs `(("libsm" ,libsm)
               ("libice" ,libice)
+              ;; FIXME: required by libxfce4ui-1.pc, so should be propagated,
+              ;; but will lead to a conflict with gtk+.
+              ("gtk+-2" ,gtk+-2)
               ("startup-notification" ,startup-notification)))
     (home-page "http://www.xfce.org/")
     (synopsis "Widgets library for Xfce")
@@ -221,6 +223,8 @@ development.")
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
        ("glib:bin" ,glib "bin")))
+    (inputs
+     `(("gtk+" ,gtk+-2)))
     (propagated-inputs
      `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
     (home-page "http://www.xfce.org/")
@@ -452,6 +456,7 @@ per window.")
        ("intltool" ,intltool)))
     (inputs
      `(("garcon" ,garcon)
+       ("gtk+" ,gtk+-2)
        ("libxfce4ui" ,libxfce4ui)))
     (home-page "http://www.xfce.org/")
     (synopsis "Xfce application finder")
@@ -698,8 +703,17 @@ on your desktop.")
     (version (package-version xfce4-session))
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
-    (propagated-inputs
+    (arguments
+     '(#:modules ((guix build union))
+       #:builder
+       (begin
+         (use-modules (ice-9 match)
+                      (guix build union))
+         (match %build-inputs
+           (((names . directories) ...)
+            (union-build (assoc-ref %outputs "out")
+                         directories))))))
+    (inputs
      `(("exo"                  ,exo)
        ("garcon"               ,garcon)
        ("gnome-icon-theme"     ,gnome-icon-theme)
@@ -750,6 +764,7 @@ system resources, while still being visually appealing and user friendly.")
        ("intltool" ,intltool)))
     (inputs
      `(("lbxrandr" ,libxrandr)
+       ("gtk+" ,gtk+-2)
        ("upower" ,upower)
        ("libnotify" ,libnotify)
        ("libxfce4ui" ,libxfce4ui)))
@@ -783,6 +798,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("desktop-file-utils" ,desktop-file-utils)
+       ("gtk+" ,gtk+-2)
        ("libexif" ,libexif)
        ("libxfce4ui" ,libxfce4ui)
        ("librsvg" ,librsvg)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 910857d121..278410f4ce 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@@ -2849,7 +2849,8 @@ X server.")
                                     (string-prefix? "x86_64-" system)))
                %supported-systems))
       (arguments
-       '(#:phases (modify-phases %standard-phases
+       '(#:configure-flags '("--with-default-accel=uxa")
+         #:phases (modify-phases %standard-phases
                     (add-after 'unpack 'bootstrap
                       (lambda _
                         (zero? (system* "autoreconf" "-vfi")))))))
diff --git a/gnu/system.scm b/gnu/system.scm
index 580159a946..31f9320023 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -490,6 +490,7 @@ explicitly appear in OS."
          lsof                                 ;for Guix's 'list-runtime-roots'
          pciutils usbutils
          util-linux inetutils isc-dhcp
+         shadow                                   ;for 'passwd'
 
          ;; wireless-tools is deprecated in favor of iw, but it's still what
          ;; many people are familiar with, so keep it around.
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 8d963a7475..056a7dcc7c 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -69,7 +69,7 @@
    ("BSD_2_clause + file LICENSE" 'bsd-2)
    ("BSD_3_clause" 'bsd-3)
    ("BSD_3_clause + file LICENSE" 'bsd-3)
-   ("GPL" (list 'gpl2+ 'gpl3+))
+   ("GPL" '(list gpl2+ gpl3+))
    ("GPL (>= 2)" 'gpl2+)
    ("GPL (>= 3)" 'gpl3+)
    ("GPL-2" 'gpl2)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index dcb5186c7a..056406e303 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -96,6 +96,7 @@
             manifest-transaction-install-entry
             manifest-transaction-remove-pattern
             manifest-transaction-null?
+            manifest-transaction-removal-candidate?
             manifest-perform-transaction
             manifest-transaction-effects
 
@@ -564,6 +565,12 @@ remove software."
     (($ <manifest-transaction> () ()) #t)
     (($ <manifest-transaction> _ _)   #f)))
 
+(define (manifest-transaction-removal-candidate? entry transaction)
+  "Return true if ENTRY is a candidate for removal in TRANSACTION."
+  (any (lambda (pattern)
+         ((entry-predicate pattern) entry))
+       (manifest-transaction-remove transaction)))
+
 (define (manifest-transaction-effects manifest transaction)
   "Compute the effect of applying TRANSACTION to MANIFEST.  Return 4 values:
 the list of packages that would be removed, installed, upgraded, or downgraded
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 1f835ca5a5..58da3113a0 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -294,7 +294,11 @@ of relevance scores."
         (output (manifest-entry-output old)))
       transaction)))
 
-  (match entry
+  (match (if (manifest-transaction-removal-candidate? entry transaction)
+             'dismiss
+             entry)
+    ('dismiss
+     transaction)
     (($ <manifest-entry> name version output (? string? path))
      (match (vhash-assoc name (find-newest-available-packages))
        ((_ candidate-version pkg . rest)
@@ -492,7 +496,7 @@ Install, remove, or upgrade packages in a single transaction.\n"))
                                  (alist-cons 'do-not-upgrade arg result)
                                  result)
                              arg-handler))))
-         (option '("roll-back") #f #f
+         (option '("roll-back" "rollback") #f #f
                  (lambda (opt name arg result arg-handler)
                    (values (alist-cons 'roll-back? #t result)
                            #f)))
@@ -875,11 +879,11 @@ processed, #f otherwise."
                               #:dry-run? dry-run?)))))
             opts)
 
-  ;; Then, process normal package installation/removal/upgrade.
+  ;; Then, process normal package removal/installation/upgrade.
   (let* ((manifest (profile-manifest profile))
-         (step1    (options->installable opts manifest
-                                         (manifest-transaction)))
-         (step2    (options->removable opts manifest step1))
+         (step1    (options->removable opts manifest
+                                       (manifest-transaction)))
+         (step2    (options->installable opts manifest step1))
          (step3    (manifest-transaction
                     (inherit step2)
                     (install (map transform-entry
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 5ecb33193f..99952f130c 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -279,8 +279,27 @@ guix package --bootstrap --install-from-file="$module_dir/package.scm"
 test "`guix package -A super-non-portable-emacs`" = ""
 test "`guix package -s super-non-portable-emacs | grep ^systems:`" = "systems: "
 
+# Don't upgrade packages marked for removal: <http://bugs.gnu.org/27262>.
+guix package --bootstrap -p "$profile" -i guile-bootstrap
+
+cat > "$module_dir/foo.scm"<<EOF
+(define-module (foo)
+  #:use-module (guix)
+  #:use-module (gnu packages bootstrap))
+
+(define-public x
+  (package (inherit %bootstrap-guile) (version "42")))
+EOF
+
+guix package --bootstrap -p "$profile" -r guile-bootstrap -u guile
+test ! -f "$profile/bin/guile"
+guix package --bootstrap -p "$profile" --roll-back
+test -f "$profile/bin/guile"
+rm "$profile-2-link"
+
 unset GUIX_PACKAGE_PATH
 
+
 # Using 'GUIX_BUILD_OPTIONS'.
 available="`guix package -A | sort`"
 GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
diff --git a/tests/profiles.scm b/tests/profiles.scm
index f731807e8c..469dde2652 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -197,6 +197,13 @@
 (test-assert "manifest-transaction-null?"
   (manifest-transaction-null? (manifest-transaction)))
 
+(test-assert "manifest-transaction-removal-candidate?"
+  (let ((m (manifest (list guile-2.0.9)))
+        (t (manifest-transaction
+            (remove (list (manifest-pattern (name "guile")))))))
+    (and (manifest-transaction-removal-candidate? guile-2.0.9 t)
+         (not (manifest-transaction-removal-candidate? glibc t)))))
+
 (test-assertm "profile-derivation"
   (mlet* %store-monad
       ((entry ->   (package->manifest-entry %bootstrap-guile))