summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/backup.scm9
-rw-r--r--gnu/packages/base.scm17
-rw-r--r--gnu/packages/bioinformatics.scm5
-rw-r--r--gnu/packages/c.scm55
-rw-r--r--gnu/packages/cdrom.scm41
-rw-r--r--gnu/packages/disk.scm198
-rw-r--r--gnu/packages/elf.scm4
-rw-r--r--gnu/packages/emacs.scm72
-rw-r--r--gnu/packages/freedesktop.scm25
-rw-r--r--gnu/packages/games.scm202
-rw-r--r--gnu/packages/gnome.scm24
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/graphics.scm66
-rw-r--r--gnu/packages/image.scm14
-rw-r--r--gnu/packages/libreoffice.scm6
-rw-r--r--gnu/packages/linux.scm26
-rw-r--r--gnu/packages/mail.scm48
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/networking.scm83
-rw-r--r--gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch27
-rw-r--r--gnu/packages/patches/irrlicht-use-system-libs.patch202
-rw-r--r--gnu/packages/patches/lvm2-static-link.patch11
-rw-r--r--gnu/packages/patches/qtwebkit-pbutils-include.patch15
-rw-r--r--gnu/packages/patches/xdotool-fix-makefile.patch16
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/python.scm2
-rw-r--r--gnu/packages/qt.scm100
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/ruby.scm23
-rw-r--r--gnu/packages/search.scm6
-rw-r--r--gnu/packages/xdisorg.scm15
31 files changed, 1064 insertions, 264 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 74ee67c70c..f55dd1a139 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -105,6 +105,15 @@
              (substitute* "duplicity/gpginterface.py"
                (("self.call = 'gpg'")
                 (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
+
+             ;; This matches up with an unreleased upstream fix, it should be
+             ;; removed when the package is updated
+             ;; https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/revision/1308
+             (substitute* "duplicity/gpg.py"
+               (("--no-secmem-warning'\\)")
+                "--no-secmem-warning')
+        gnupg.options.extra_args.append('--ignore-mdc-error')"))
+
              (substitute* '("testing/functional/__init__.py"
                             "testing/overrides/bin/lftp")
                (("/bin/sh") (which "sh")))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index de0aa92adb..4065af0abc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -873,6 +873,23 @@ GLIBC/HURD for a Hurd host"
 (define-syntax glibc
   (identifier-syntax (glibc-for-target)))
 
+;; The "next" libc.  Useful for populating locale data before reconfiguring the
+;; entire system on it.  Will be the default in the next rebuild cycle.
+(define-public glibc-2.28
+  (package
+    (inherit glibc)
+    (version "2.28")
+    (source (origin
+              (inherit (package-source glibc))
+              (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
+              (sha256
+               (base32
+                "10iha5ynvdj5m62vgpgqbq4cwvc2yhyl2w9yyyjgfxmdmx8h145i"))
+              (patches (search-patches "glibc-allow-kernel-2.6.32.patch"
+                                       "glibc-ldd-x86_64.patch"
+                                       "glibc-hidden-visibility-ldconfig.patch"
+                                       "glibc-versioned-locpath.patch"))))))
+
 ;; Below are old libc versions, which we use mostly to build locale data in
 ;; the old format (which the new libc cannot cope with.)
 
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 849225bd78..13572b0c75 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -13030,7 +13030,7 @@ methylation and segmentation.")
 (define-public pigx-scrnaseq
   (package
     (name "pigx-scrnaseq")
-    (version "0.0.6")
+    (version "0.0.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
@@ -13038,7 +13038,7 @@ methylation and segmentation.")
                                   "/pigx_scrnaseq-" version ".tar.gz"))
               (sha256
                (base32
-                "0fvdymnka598z2ka7zk6rwrf9dq89p5lyd2y9swvyg72hn1jwjai"))))
+                "131zarirv16w8653m0d66jgjnwqfsxqc0hix0rypssz4d83bl51j"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -13061,6 +13061,7 @@ methylation and segmentation.")
        ("python-loompy" ,python-loompy)
        ("ghc-pandoc" ,ghc-pandoc-1)
        ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+       ("samtools" ,samtools)
        ("snakemake" ,snakemake-4)
        ("star" ,star)
        ("r-minimal" ,r-minimal)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874b..d82db532aa 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pkg-config)
   #:use-module (srfi srfi-1))
 
 (define-public tcc
@@ -166,3 +174,50 @@ compiler while still keeping it small, simple, fast and understandable.")
     ;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
     ;; preferred.  See http://pcc.ludd.ltu.se/licenses/ for more details.
     (license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+  (package
+    (name "libbytesize")
+    (version "1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1l7mxm2vq2h6137fyfa46v9r4lydp9dvmsixkd64xr3ylqk1g6fi"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)))
+    (inputs
+     `(("mpfr" ,mpfr)
+       ("pcre" ,pcre)))
+    ;; One test fails because busctl (systemd only?) and python2-pocketlint
+    ;; are missing.  Should we fix it, we would need the "python-2" ,
+    ;; "python2-polib" and "python2-six" native-inputs.
+    (arguments `(#:tests? #f))
+    (home-page "https://github.com/storaged-project/libbytesize")
+    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+    (description
+     "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes.  Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
+@end itemize
+
+@code{libbytesize} offers a generally usable solution that could be used by
+every project that needs to deal with sizes in bytes.  It is written in the C
+language with thin bindings for other languages.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 384fc57317..3659115960 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -769,3 +770,43 @@ to produce new complete file system images or add-on images to be appended
 to the read file system image.
 Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
     (license gpl2+)))
+
+(define-public cdrkit-libre
+  (package
+    (name "cdrkit-libre")
+    (version "1.1.11")
+    (source (origin
+              (method url-fetch)
+              ;; cdrkit.org is dead.
+              ;;
+              ;; ‘cdrkit-libre’ removes a couple of problematic files,
+              ;; see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32165#14>.
+              (uri (string-append
+                    "https://repo.parabola.nu/other/cdrkit-libre/cdrkit-libre-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0g2zyzb56czh429qy87lvaddzjnlcq8c616ddxsmsshz3clhyzrh"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("bzip2" ,bzip2)
+       ("libcap" ,libcap)
+       ("perl" ,perl)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:tests? #f ;no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'old-cdrecord
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion (string-append (assoc-ref outputs "out")
+                                                      "/bin")
+               (symlink "genisoimage" "mkisofs")
+               (symlink "wodim" "cdrecord"))
+             #t)))))
+    (home-page "https://repo.parabola.nu/other/cdrkit-libre/")
+    (synopsis "Command-line CD/DVD recorder")
+    (description "Cdrkit is a suite of programs for recording CDs and DVDs,
+blanking CD-RW media, creating ISO-9660 file system images, extracting audio
+CD data, and more.  It's mostly compatible with @code{cdrtools}.")
+    (license gpl2+)))
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index c1fc2e2c30..9d05b2444e 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
@@ -55,7 +57,16 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages w3m)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages c))
 
 (define-public parted
   (package
@@ -547,3 +558,188 @@ provides a minimalistic and nice curses interface with a view on the directory
 hierarchy.  It ships with @code{rifle}, a file launcher that is good at
 automatically finding out which program to use for what file type.")
     (license license:gpl3)))
+
+(define-public volume-key
+  (package
+    (name "volume-key")
+    (version "0.3.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0vaz15rcgdkh5z4yxc22x76wi44gh50jxnrqz5avaxz4bb17kcp6"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)
+       ("swig" ,swig)
+       ("python" ,python-3)))           ; Used to generate the Python bindings.
+    (inputs
+     `(("cryptsetup" ,cryptsetup)
+       ("nss" ,nss)
+       ("lvm2" ,lvm2)                   ; For "-ldevmapper".
+       ("glib" ,glib)
+       ("gpgme" ,gpgme)))
+    (arguments
+     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-python.h-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((python (assoc-ref inputs "python")))
+               (substitute* "Makefile.in"
+                 (("/usr/include/python") (string-append python "/include/python")))
+               #t))))))
+    (home-page "https://pagure.io/volume_key")
+    (synopsis "Manipulate storage volume encryption keys")
+    (description
+     "This package provides a library for manipulating storage volume
+encryption keys and storing them separately from volumes to handle forgotten
+passphrases.")
+    (license license:gpl2)))
+
+(define-public ndctl
+  (package
+    (name "ndctl")
+    (version "61.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pmem/ndctl")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0vid78jzhmzh505bpwn8mvlamfhcvl6rlfjc29y4yn7zslpydxl7"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("docbook-xsl" ,docbook-xsl)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("xmlto" ,xmlto)
+       ;; Required for offline docbook generation:
+       ("which" ,which)))
+    (inputs
+     `(("eudev" ,eudev)
+       ("json-c" ,json-c)
+       ("kmod" ,kmod)
+       ("util-linux" ,util-linux)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (substitute* "autogen.sh"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version-gen"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version"
+               (("/bin/bash") (which "bash"))))))
+       #:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BASH_COMPLETION_DIR=" out
+                              "/share/bash-completion/completions")))))
+    (home-page "https://github.com/pmem/ndctl")
+    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+    (description
+     "This package provides a utility library for managing the
+libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
+    ;; COPYING says LGPL2.1, but many source files are GPL2 so that's
+    ;; the effective license.  Note that some files under ccan/ are
+    ;; covered by BSD-3 or public domain, see the individual folders.
+    (license license:gpl2)))
+
+(define-public dmraid
+  (package
+    (name "dmraid")
+    (version "1.0.0.rc16-3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+    (build-system gnu-build-system)
+    (inputs `(("lvm2" ,lvm2)))
+    (native-inputs `(("which" ,which)))
+    (arguments
+     `(#:tests? #f                      ; No tests.
+       ;; Prevent a race condition where some target would attempt to link
+       ;; libdmraid.so before it had been built as reported in
+       ;; <https://bugs.gnu.org/31999#187>.
+       #:parallel-build? #f
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'change-directory
+                    (lambda _
+                      (chdir (string-append ,version "/dmraid"))
+                      (substitute* "make.tmpl.in"
+                        (("/bin/sh") (which "sh")))
+                      #t)))
+       #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
+                               ;; find libdmraid.so.
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"))))
+    (home-page "https://people.redhat.com/~heinzm/sw/dmraid/")
+    (synopsis "Device mapper RAID interface")
+    (description
+     "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+    (license license:gpl2+)))
+
+(define-public libblockdev
+  (package
+    (name "libblockdev")
+    (version "2.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/storaged-project/libblockdev/releases/download/"
+                                  version "-1/libblockdev-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1a3kpdr9s6g7nfibazi92i27wbv692b5gm2r24gimis6l6jq4pbh"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("util-linux" ,util-linux)))
+    (inputs
+     `(("btrfs-progs" ,btrfs-progs)
+       ("cryptsetup" ,cryptsetup)
+       ("dosfstools" ,dosfstools)
+       ("dmraid" ,dmraid)
+       ("eudev" ,eudev)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("kmod" ,kmod)
+       ("libbytesize" ,libbytesize)
+       ("libyaml" ,libyaml)
+       ("lvm2" ,lvm2)
+       ("mdadm" ,mdadm)
+       ("ndctl" ,ndctl)
+       ("nss" ,nss)
+       ("parted" ,parted)
+       ("volume-key" ,volume-key)
+       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+       ))
+    (home-page "https://github.com/storaged-project/libblockdev")
+    (synopsis "Library for manipulating block devices")
+    (description
+     "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices.  It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM D-Bus API).")
+    ;; XXX: Copying says LGPL2.1, but the source files with license
+    ;; information are GPL2+.
+    (license license:gpl2+)))
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 97bc7728ec..82af1f233d 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -34,14 +34,14 @@
 (define-public elfutils
   (package
     (name "elfutils")
-    (version "0.172")
+    (version "0.173")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://sourceware.org/elfutils/ftp/"
                                   version "/elfutils-" version ".tar.bz2"))
               (sha256
                (base32
-                "090fmbnvd9jblkwhb2bm3hanim63rrvd5f30mfxq4jac6kk9k73p"))
+                "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp"))
               (patches (search-patches "elfutils-tests-ptrace.patch"))))
     (build-system gnu-build-system)
 
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e607337fbf..3a8419ee83 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -6290,7 +6290,8 @@ It should enable you to implement low-level X11 applications.")
                                   version ".tar"))
               (sha256
                (base32
-                "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"))))
+                "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"))
+              (patches (search-patches "emacs-exwm-fix-fullscreen-issue.patch"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-xelb" ,emacs-xelb)))
@@ -11573,3 +11574,72 @@ value.  For directories where the user doesn't have read permission, the
 recursive size is not obtained.  Once this mode is enabled, every new Dired
 buffer displays recursive dir sizes.")
     (license license:gpl3+)))
+
+(define-public emacs-pcre2el
+  ;; Last release is very old so we get the latest commit.
+  (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
+    (package
+      (name "emacs-pcre2el")
+      (version (git-version "1.8" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/joddie/pcre2el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/joddie/pcre2el")
+      (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
+      (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
+Tools) is a utility for working with regular expressions in Emacs, based on a
+recursive-descent parser for regexp syntax.  In addition to converting (a
+subset of) PCRE syntax into its Emacs equivalent, it can do the following:
+
+@itemize
+@item convert Emacs syntax to PCRE
+@item convert either syntax to @code{rx}, an S-expression based regexp syntax
+@item untangle complex regexps by showing the parse tree in @code{rx} form and
+highlighting the corresponding chunks of code
+@item show the complete list of strings (productions) matching a regexp,
+provided the list is finite
+@item provide live font-locking of regexp syntax (so far only for Elisp
+buffers – other modes on the TODO list).
+@end itemize\n")
+      (license license:gpl3))))
+
+(define-public emacs-magit-todos
+  ;; TODO: <1.1 is broken with Guix.  Switch to 1.1 when out.
+  (let ((commit "966642762788d335dc2d3667d230a36ede65972e"))
+    (package
+      (name "emacs-magit-todos")
+      (version (git-version "1.0.4" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/alphapapa/magit-todos")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0nxarip8sf0446xfgrcfsjm4vbsg50klxjbr4i6h09a3lri03gyp"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-async" ,emacs-async)
+         ("emacs-dash" ,emacs-dash)
+         ("emacs-f" ,emacs-f)
+         ("emacs-hl-todo" ,emacs-hl-todo)
+         ("magit" ,magit)
+         ("emacs-pcre2el" ,emacs-pcre2el)
+         ("emacs-s" ,emacs-s)))
+      (home-page "https://github.com/alphapapa/magit-todos")
+      (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
+      (description "This package displays keyword entries from source code
+comments and Org files in the Magit status buffer.  Activating an item jumps
+to it in its file.  By default, it uses keywords from @code{hl-todo}, minus a
+few (like NOTE).")
+      (license license:gpl3))))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cb0916621a..8ad4b467c6 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -623,20 +624,23 @@ Analysis and Reporting Technology) functionality.")
 (define-public udisks
   (package
     (name "udisks")
-    (version "2.1.8")
+    (version "2.7.7")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://udisks.freedesktop.org/releases/"
-                                  name "-" version ".tar.bz2"))
+              (uri (string-append
+                    "https://github.com/storaged-project/udisks/releases/download/udisks-"
+                    version "/udisks-" version ".tar.bz2"))
               (sha256
                (base32
-                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+                "1dnlxqgy9v0mjdknv3b1s64szdykyk3hk0rxj3chwhpd415lrwgs"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
        ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums
+       ("glib:bin" ,glib "bin")         ; for glib-mkenums
+       ("gnome-common" ,gnome-common)   ; TODO: Why is this needed?
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
@@ -644,12 +648,12 @@ Analysis and Reporting Technology) functionality.")
      `(("glib" ,glib))) ; required by udisks2.pc
     (inputs
      `(("acl" ,acl)
+       ("cryptsetup" ,cryptsetup)
        ("libatasmart" ,libatasmart)
+       ("libblockdev" ,libblockdev)
        ("libgudev" ,libgudev)
        ("polkit" ,polkit)
-       ("util-linux" ,util-linux)
-       ("cryptsetup" ,cryptsetup)
-       ("parted" ,parted)))
+       ("util-linux" ,util-linux)))
     (outputs '("out"
                "doc"))                            ;5 MiB of gtk-doc HTML
     (arguments
@@ -657,6 +661,8 @@ Analysis and Reporting Technology) functionality.")
        #:disallowed-references ("doc")            ;enforce separation of "doc"
        #:configure-flags
        (list "--enable-man"
+             "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+             "--enable-available-modules" ; Such as lvm2, btrfs, etc.
              "--localstatedir=/var"
              "--enable-fhs-media"     ;mount devices in /media, not /run/media
              (string-append "--with-html-dir="
@@ -702,9 +708,6 @@ Analysis and Reporting Technology) functionality.")
                     ;; cryptsetup is required for setting encrypted
                     ;; partitions, e.g. in gnome-disks
                     ,(string-append cryptsetup "/sbin")
-                    ;; parted is required for managing partitions, e.g. in
-                    ;; gnome-disks
-                    ,(string-append parted "/sbin")
                     "/run/current-system/profile/bin"
                     "/run/current-system/profile/sbin")))
                #t))))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5ed928f5b7..453f732a5d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -67,11 +67,22 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages avahi)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages crypto)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fltk)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
@@ -82,67 +93,56 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages graphics)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages less)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libunwind)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages music)
   #:use-module (gnu packages multiprecision)
-  #:use-module (gnu packages icu4c)
-  #:use-module (gnu packages image)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ocaml)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
-  #:use-module (gnu packages textutils)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages databases)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages swig)
-  #:use-module (gnu packages texinfo)
-  #:use-module (gnu packages check)
-  #:use-module (gnu packages fonts)
-  #:use-module (gnu packages fontutils)
-  #:use-module (gnu packages gstreamer)
-  #:use-module (gnu packages bash)
-  #:use-module (gnu packages perl)
-  #:use-module (gnu packages perl-check)
-  #:use-module (gnu packages qt)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages pulseaudio)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages xiph)
-  #:use-module (gnu packages curl)
-  #:use-module (gnu packages lua)
-  #:use-module (gnu packages video)
-  #:use-module (gnu packages xml)
   #:use-module (gnu packages tcl)
-  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages pcre)
-  #:use-module (gnu packages cyrus-sasl)
-  #:use-module (gnu packages messaging)
   #:use-module (gnu packages upnp)
-  #:use-module (gnu packages wxwidgets)
-  #:use-module (gnu packages bison)
-  #:use-module (gnu packages flex)
-  #:use-module (gnu packages cmake)
-  #:use-module (gnu packages gnuzilla)
-  #:use-module (gnu packages icu4c)
-  #:use-module (gnu packages networking)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages vulkan)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages messaging)
+  #:use-module (gnu packages networking)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system haskell)
@@ -364,7 +364,7 @@ effects and music to make a completely free game.")
 (define-public golly
   (package
     (name "golly")
-    (version "3.1")
+    (version "3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/golly/golly/golly-"
@@ -372,7 +372,7 @@ effects and music to make a completely free game.")
                                   "-src.tar.gz"))
               (sha256
                (base32
-                "0dn74k3rylhx023n047lz4z6qrqijfcxi0b6jryqklhmm2n532f7"))))
+                "0cg9mbwmf4q6qxhqlnzrxh9y047banxdb8pd3hgj3smmja2zf0jd"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags (list "CC=gcc"
@@ -545,15 +545,15 @@ destroying an ancient book using a special wand.")
 (define-public gnubg
   (package
     (name "gnubg")
-    (version "1.02")
+    (version "1.06.001")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://files.gnubg.org/media/sources/gnubg-release-"
-                           version ".000-sources." "tar.gz"))
+                           version "-sources." "tar.gz"))
        (sha256
         (base32
-         "015mvjk2iw1cg1kxwxfnvp2rxb9cylf6yc39i30fdy414k07zkky"))))
+         "0snz3j1bvr25ji7lg82bl2gm2s2x9lrpc7viw0hclgz0ql74cw7b"))))
     (build-system gnu-build-system)
     (inputs `(("glib" ,glib)
               ("readline" ,readline)
@@ -567,9 +567,9 @@ destroying an ancient book using a special wand.")
                      ("pkg-config" ,pkg-config)))
     (home-page "http://gnubg.org")
     (synopsis "Backgammon game")
-    (description "The GNU backgammon application can be used for playing, analyzing and
-teaching the game.  It has an advanced evaluation engine based on artificial
-neural networks suitable for both beginners and advanced players.  In
+    (description "The GNU backgammon application can be used for playing,
+analyzing and teaching the game.  It has an advanced evaluation engine based on
+artificial neural networks suitable for both beginners and advanced players.  In
 addition to a command-line interface, it also features an attractive, 3D
 representation of the playing board.")
     (license license:gpl3+)))
@@ -875,7 +875,8 @@ role, and your gender.")
 
                (copy-recursively "data" data)
 
-               (install-file "COPYING" doc)))))))
+               (install-file "COPYING" doc)
+               #t))))))
     (inputs
      `(("python-sge-pygame" ,python-sge-pygame)
        ("python-six" ,python-six)
@@ -1482,34 +1483,53 @@ are primarily in English, however some in other languages are provided.")
                     "/" version "/irrlicht-" version ".zip"))
               (sha256
                (base32
-                "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl"))))
+                "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl"))
+              (patches (search-patches "irrlicht-use-system-libs.patch"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file-recursively
+                     '("bin" ; bundled compiled Windows binaries"
+                       "source/Irrlicht/MacOSX"
+                       "source/Irrlicht/bzip2"
+                       "source/Irrlicht/jpeglib"
+                       "source/Irrlicht/libpng"
+                       "source/Irrlicht/lzma"
+                       "source/Irrlicht/zlib"))
+                  (delete-file "source/Irrlicht/glext.h")
+                  (delete-file "source/Irrlicht/glxext.h")
+                  (delete-file "source/Irrlicht/wglext.h")
+                  #t))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-build-env
+         (add-after 'unpack 'chdir-to-source
+           (lambda _
+             ;; The actual source is buried a few directories deep.
+             (chdir "source/Irrlicht/")
+             #t))
+         (add-after 'chdir-to-source 'fix-build-env
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (substitute* "Makefile"
                  (("INSTALL_DIR = /usr/local/lib")
-                  (string-append "INSTALL_DIR = " out "/lib")))
+                  (string-append "INSTALL_DIR = " out "/lib"))
+                 ;; Add '-fpermissive' to the CXXFLAGS
+                 (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp
                ;; The Makefile assumes these directories exist.
                (mkdir-p (string-append out "/lib"))
                (mkdir-p (string-append out "/include")))))
-         (replace 'unpack
-           (lambda* (#:key source #:allow-other-keys)
-             (and (zero? (system* "unzip" source))
-                  ;; The actual source is buried a few directories deep.
-                  (chdir (string-append "irrlicht-" ,version
-                                        "/source/Irrlicht/")))))
          (delete 'configure))           ; no configure script
        #:tests? #f                      ; no check target
        #:make-flags '("CC=gcc" "sharedlib")))
-    (native-inputs
-     `(("unzip" ,unzip)))
     (inputs
-     `(("mesa" ,mesa)
-       ("glu" ,glu)))
+     `(("bzip2" ,bzip2)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxxf86vm" ,libxxf86vm)
+       ("mesa" ,mesa)))
     (synopsis "3D game engine written in C++")
     (description
      "The Irrlicht Engine is a high performance realtime 3D engine written in
@@ -1577,36 +1597,28 @@ match, cannon keep, and grave-itation pit.")
     (name "minetest-data")
     (version "0.4.17")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/minetest/minetest_game/archive/"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/minetest/minetest_game")
+                     (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0pa9skjwbq27aky6dgr7g3mb0a7c5rpa6xmz2qh0nm618z5hgazh"))))
+                "1g8iw2pya32ifljbdx6z6rpcinmzm81i9minhi2bi1d500ailn7s"))))
     (build-system trivial-build-system)
     (native-inputs
-     `(("source" ,source)
-       ("tar" ,tar)
-       ("gzip" ,(@ (gnu packages compression) gzip))))
+     `(("source" ,source)))
     (arguments
      `(#:modules ((guix build utils))
        #:builder (begin
                    (use-modules (guix build utils))
-                   (let ((tar (string-append (assoc-ref %build-inputs "tar")
-                                             "/bin/tar"))
-                         (install-dir (string-append
+                   (let ((install-dir (string-append
                                        %output
-                                       "/share/minetest/games/minetest_game"))
-                         (path (string-append (assoc-ref %build-inputs
-                                                         "gzip")
-                                              "/bin")))
-                     (setenv "PATH" path)
-                     (invoke tar "xvf" (assoc-ref %build-inputs "source"))
-                     (chdir (string-append "minetest_game-" ,version))
+                                       "/share/minetest/games/minetest_game")))
                      (mkdir-p install-dir)
-                     (copy-recursively "." install-dir)
+                     (copy-recursively
+                       (assoc-ref %build-inputs "source")
+                       install-dir)
                      #t))))
     (synopsis "Main game data for the Minetest game engine")
     (description
@@ -1617,22 +1629,27 @@ match, cannon keep, and grave-itation pit.")
 (define-public minetest
   (package
     (name "minetest")
-    (version "0.4.17")
+    (version "0.4.17.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/minetest/minetest/archive/"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/minetest/minetest")
+                     (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0wpbad5bssbbgspgdcq3hhq4bhckrj53nhymsz34d8g01j0csr46"))))
+                "19sfblgh9mchkgw32n7gdvm7a8a9jxsl9cdlgmxn9bk9m939a2sg"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin
+                   (delete-file-recursively "lib") #t))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
          (list "-DRUN_IN_PLACE=0"
                "-DENABLE_FREETYPE=1"
                "-DENABLE_GETTEXT=1"
+               "-DENABLE_SYSTEM_JSONCPP=TRUE"
                (string-append "-DIRRLICHT_INCLUDE_DIR="
                               (assoc-ref %build-inputs "irrlicht")
                               "/include/irrlicht")
@@ -1647,18 +1664,21 @@ match, cannon keep, and grave-itation pit.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("irrlicht" ,irrlicht)
-       ("libpng" ,libpng)
+     `(("curl" ,curl)
+       ("freetype" ,(@ (gnu packages fontutils) freetype))
+       ("gettext" ,gettext-minimal)
+       ("gmp" ,gmp)
+       ("irrlicht" ,irrlicht)
+       ("jsoncpp" ,jsoncpp)
        ("libjpeg" ,libjpeg)
-       ("libxxf86vm" ,libxxf86vm)
-       ("mesa" ,mesa)
+       ("libpng" ,libpng)
        ("libogg" ,libogg)
        ("libvorbis" ,libvorbis)
-       ("openal" ,openal)
-       ("freetype" ,(@ (gnu packages fontutils) freetype))
-       ("curl" ,curl)
+       ("libxxf86vm" ,libxxf86vm)
        ("luajit" ,luajit)
-       ("gettext" ,gettext-minimal)
+       ("mesa" ,mesa)
+       ("ncurses" ,ncurses)
+       ("openal" ,openal)
        ("sqlite" ,sqlite)))
     (propagated-inputs
      `(("minetest-data" ,minetest-data)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 46eae3608a..586cfc9686 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2928,14 +2928,15 @@ faster results and to avoid unnecessary server load.")
 (define-public upower
   (package
     (name "upower")
-    (version "0.99.4")
+    (version "0.99.8")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://upower.freedesktop.org/releases/"
-                                  name "-" version ".tar.xz"))
+              (uri (string-append "https://gitlab.freedesktop.org/upower/upower/"
+                                  "uploads/9125ab7ee96fdc4ecc68cfefb50c1cab/"
+                                  "upower-" version ".tar.xz"))
               (sha256
                (base32
-                "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
+                "00lzr0vyxz5lvmgya48gdb2cdgmfdim4b34jlfdyqakk1i9sl8xv"))
               (patches (search-patches "upower-builddir.patch"))))
     (build-system glib-or-gtk-build-system)
     (arguments
@@ -2946,17 +2947,7 @@ faster results and to avoid unnecessary server load.")
        #:configure-flags (list "--localstatedir=/var"
                                (string-append "--with-udevrulesdir="
                                               (assoc-ref %outputs "out")
-                                              "/lib/udev/rules.d"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-/bin/true
-                     (lambda _
-                       (substitute* "configure"
-                         (("/bin/true") (which "true")))))
-         (add-before 'configure 'patch-integration-test
-                     (lambda _
-                       (substitute* "src/linux/integration-test"
-                         (("/usr/bin/python3") (which "python3"))))))))
+                                              "/lib/udev/rules.d"))))
     (native-inputs
      `(("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)
@@ -2971,6 +2962,9 @@ faster results and to avoid unnecessary server load.")
      `(("dbus-glib" ,dbus-glib)
        ("libgudev" ,libgudev)
        ("libusb" ,libusb)))
+    (propagated-inputs
+     ;; In Requires of upower-glib.pc.
+     `(("glib" ,glib)))
     (home-page "https://upower.freedesktop.org/")
     (synopsis "System daemon for managing power devices")
     (description
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 7a4660cc8d..eb17b96492 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -186,13 +186,13 @@ authentication and support for SSL3 and TLS.")
 (define-public gnurl
   (package
    (name "gnurl")
-   (version "7.60.0")
+   (version "7.61.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z"))
             (sha256
              (base32
-              "0klf3h339dznbm903474mjjysrarz09s1wiypnbai3xnfjamha99"))))
+              "1h03zkd9mp4xb5icirl3bfd64r5x8j9ka1hw9qd0n1ql1w0ilz23"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                             ; 1.5 MiB of man3 pages
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index ad5ff8ed1e..6632c9a1a3 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2018 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -456,6 +457,71 @@ virtual reality, scientific visualization and modeling.")
     ;; LGPL 2.1, but with 4 exceptions. This version is called OSGPL.
     (license license:lgpl2.1)))
 
+(define-public povray
+  (package
+    (name "povray")
+    (version "3.7.0.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/POV-Ray/povray")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1q114n4m3r7qy3yn954fq7p46rg7ypdax5fazxr9yj1jklf1lh6z"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Delete bundled libraries.
+                  (delete-file-recursively "libraries")
+                  #t))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("openexr" ,openexr)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (arguments
+     '(#:configure-flags
+       (list "COMPILED_BY=Guix"
+             (string-append "--with-boost-libdir="
+                            (assoc-ref %build-inputs "boost") "/lib")
+             "CXXFLAGS=-std=c++11"
+             "--disable-optimiz-arch")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'run-prebuild
+           (lambda _
+             (setenv "HOME" (getcwd))
+             (with-directory-excursion "unix"
+               (substitute* "prebuild.sh"
+                 (("/bin/sh") (which "sh")))
+               (invoke "sh" "prebuild.sh"))
+             #t))
+         ;; The bootstrap script is run by the prebuild script in the
+         ;; "run-prebuild" phase.
+         (delete 'bootstrap))))
+    (synopsis "Tool for creating three-dimensional graphics")
+    (description
+     "@code{POV-Ray} is short for the Persistence of Vision Raytracer, a tool
+for producing high-quality computer graphics.  @code{POV-Ray} creates
+three-dimensional, photo-realistic images using a rendering technique called
+ray-tracing.  It reads in a text file containing information describing the
+objects and lighting in a scene and generates an image of that scene from the
+view point of a camera also described in the text file.  Ray-tracing is not a
+fast process by any means, but it produces very high quality images with
+realistic reflections, shading, perspective and other effects.")
+    (home-page "http://www.povray.org/")
+    (license license:agpl3+)))
+
 (define-public rapicorn
   (package
     (name "rapicorn")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index b381c3f97b..b604712c99 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1199,10 +1199,17 @@ installed as @code{stb_image}.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))))
+         "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))
+       (modules '((guix build utils)))
+       (snippet
+         '(begin
+            (delete-file-recursively "src/libpng")
+            (delete-file-recursively "src/zlib")
+            #t))))
     (build-system gnu-build-system)
     (inputs
-     `(("zlib" ,zlib)))
+     `(("libpng" ,libpng)
+       ("zlib" ,zlib)))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
@@ -1210,7 +1217,8 @@ installed as @code{stb_image}.")
            (lambda* (#:key outputs #:allow-other-keys)
              ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL
              (invoke "sh" "configure"
-                     (string-append "--prefix=" (assoc-ref outputs "out")))
+                     (string-append "--prefix=" (assoc-ref outputs "out"))
+                     "-with-system-libs")
              #t)))))
     (synopsis "Optimizer that recompresses PNG image files to a smaller size")
     (description "OptiPNG is a PNG optimizer that recompresses image
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 0fa04bdec7..25c99f1c73 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -896,7 +896,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "6.0.5.1")
+    (version "6.0.6.2")
     (source
      (origin
       (method url-fetch)
@@ -906,7 +906,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
           (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
       (sha256
        (base32
-        "0vnmb231hyhxm7klaqd8vp3rmvix145bq8iqzv19jgl1yaqkxl21"))
+        "13kaikaz65xw9a3hxbh245cnydjpy58np22c7s0s65pnmcq68rpi"))
       (patches (search-patches "libreoffice-icu.patch"
                                "libreoffice-glm.patch"))))
     (build-system gnu-build-system)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f1bf65d27a..f13c3f8986 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -404,8 +404,8 @@ It has been modified to remove all non-free binary blobs.")
 ;; supports qemu "virt" machine and possibly a large number of ARM boards.
 ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 
-(define %linux-libre-version "4.17.11")
-(define %linux-libre-hash "0c0ryl8rnzizr0x2gj9kprj9wfjz536574fnn46r0ww3szrzdm78")
+(define %linux-libre-version "4.17.12")
+(define %linux-libre-hash "1zpyrw55pg3rg9rjhasx7n070c81frnaab44f4g9gyh08wbapz7k")
 
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
@@ -413,8 +413,8 @@ It has been modified to remove all non-free binary blobs.")
                     %linux-compatible-systems
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.59")
-(define %linux-libre-4.14-hash "1mf22i8a71qs04x4wfqmm21clj4jnqia6rpk7jbh3r3vjfjjbd1d")
+(define %linux-libre-4.14-version "4.14.60")
+(define %linux-libre-4.14-hash "0550cynydwgnfd1wsl8gqmjsp4qhsimanl7h5sdi297qrz4d93pa")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.116"
-                    "1v5138a5317ddrl0zvlip18586si68ccw6y5wdxgpkh8ixvcamy6"
+  (make-linux-libre "4.9.117"
+                    "0lvy6psiw1vkc3ax4fmz07fx635qm9f46p84ds30paw7nhwm115x"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -2127,12 +2127,24 @@ time.")
                                "--enable-udev_sync"
                                "--enable-udev_rules"
                                "--enable-pkgconfig"
+                               "--enable-cmdlib"
+                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.
 
                                ;; Make sure programs such as 'dmsetup' can
                                ;; find libdevmapper.so.
                                (string-append "LDFLAGS=-Wl,-rpath="
                                               (assoc-ref %outputs "out")
-                                              "/lib"))
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper")
+                               ;; TODO: Patch make.tmpl.in to take LDFLAGS
+                               ;; into account so that we don't need to also
+                               ;; set CLDFLAGS.
+                               (string-append "CLDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper"))
 
        ;; The tests use 'mknod', which requires root access.
        #:tests? #f))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 3d7b0e4632..2a6a17c804 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -300,7 +300,7 @@ operating systems.")
 (define-public neomutt
   (package
     (name "neomutt")
-    (version "20180323")
+    (version "20180716")
     (source
      (origin
        (method url-fetch)
@@ -308,7 +308,7 @@ operating systems.")
                            "/archive/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "12v7zkm809cvjxfz0n7jb4qa410ns1ydyf0gjin99vbdrlj88jac"))))
+         "0072in2d6znwqq461shsaxlf40r4zr7w3j9848qvm4xlh1lq52dx"))))
     (build-system gnu-build-system)
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)
@@ -2554,3 +2554,47 @@ and binaries. It supports offline reading, scoring and killfiles, yEnc, NZB,
 PGP handling, multiple servers, and secure connections.")
     ;; License of the docs: fdl-1.1; Others: gpl2.
     (license (list fdl1.1+ gpl2))))
+
+(define-public imapfilter
+  (package
+    (name "imapfilter")
+    (version "2.6.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/lefcha/imapfilter/archive/"
+                       "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yslvwr3w5fnl06gfrp0lim8zdlasx3cvgd2fsqi0695xnb9bsms"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             "CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'fix-include-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((pcre (assoc-ref inputs "pcre")))
+               (substitute* "src/Makefile"
+                 (("INCDIRS =")
+                  (string-append "INCDIRS ="
+                                 "-I" pcre "/include")))
+               #t))))))
+    (native-inputs
+     `(("lua" ,lua)
+       ("pcre" ,pcre)
+       ("openssl" ,openssl)))
+    (home-page "https://github.com/lefcha/imapfilter")
+    (synopsis "IMAP mail filtering utility")
+    (description "IMAPFilter is a mail filtering utility.  It connects
+to remote mail servers using IMAP, sends searching queries to the server and
+processes mailboxes based on the results.  It can be used to delete, copy,
+move, flag, etc. messages residing in mailboxes at the same or different mail
+servers.  The 4rev1 and 4 versions of IMAP are supported.")
+    (license license:expat)))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0185b8fd9c..f705566df9 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3516,7 +3516,7 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke
 (define-public musescore
   (package
     (name "musescore")
-    (version "2.3.1")
+    (version "2.3.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3525,7 +3525,7 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00inrw9g8g34g74bhg5gp0rr5nydhjraiyn7vpl7kaqi5yzmhawd"))
+                "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"))
               (modules '((guix build utils)))
               (snippet
                ;; Un-bundle OpenSSL and remove unused libraries.
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 90967b9b1f..5055f030af 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
@@ -23,6 +23,8 @@
 ;;; Copyright © 2018 Tonton <tonton@riseup.net>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -577,7 +579,7 @@ of the same name.")
 (define-public wireshark
   (package
     (name "wireshark")
-    (version "2.6.1")
+    (version "2.6.2")
     (source
      (origin
        (method url-fetch)
@@ -585,7 +587,7 @@ of the same name.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "126dvd6myjbxjr69dy9vzzdda2lmjy1wwwc6gcs5djb46jy5nvmb"))))
+         "153h6prxamv5a62f3pfadkry0y57696xrgxfy2gfy5xswdg8kcj9"))))
     (build-system gnu-build-system)
     (inputs `(("c-ares" ,c-ares)
               ("glib" ,glib)
@@ -1965,3 +1967,78 @@ Features:
 @item Destination IP blacklist
 @end itemize")
       (license license:asl2.0))))
+
+(define-public net-snmp
+  (package
+    (name "net-snmp")
+    (version "5.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/net-snmp/net-snmp/"
+                                  version "/net-snmp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1pvajzj9gmj56dmwix0ywmkmy2pglh6nny646hkm7ghfhh03bz5j"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Drop bundled libraries.
+                  (delete-file-recursively "snmplib/openssl")
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       ;; XXX: With parallel build enabled, Perl modules may not get linked with
+       ;; libnetsnmp.  See e.g. <https://bugzilla.novell.com/show_bug.cgi?id=819497>.
+       #:parallel-build? #f
+       #:configure-flags
+       (list (string-append "LDFLAGS=-Wl,-rpath="
+                            (assoc-ref %outputs "out")
+                            "/lib")
+             "--with-logfile=/var/log/snmpd.log")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-tests
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "testing/fulltests/support/simple_TESTCONF.sh"
+               (("NETSTAT=\"\"")
+                (string-append "NETSTAT=\"" (which "netstat") "\"")))
+             (substitute* '("testing/fulltests/default/T065agentextend_simple"
+                            "testing/fulltests/default/T115agentxperl_simple")
+               (("/usr/bin/env") (which "env")))
+             (substitute* "testing/fulltests/default/T065agentextend_sh_simple"
+               (("/bin/sh") (which "sh")))
+             ;; These tests require network access.
+             (for-each delete-file
+                       '("testing/fulltests/default/T070com2sec_simple"
+                         "testing/fulltests/default/T071com2sec6_simple"))
+             #t))
+         (add-after 'unpack 'patch-Makefile.PL
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "Makefile.in"
+               (("Makefile.PL -NET")
+                (string-append "Makefile.PL PREFIX="
+                               (assoc-ref outputs "out")
+                               " INSTALLDIRS=site" " NO_PERLLOCAL=1"
+                               " -NET")))
+             #t)))))
+    (inputs
+     `(("perl" ,perl)
+       ("openssl" ,openssl)
+       ("libnl" ,libnl)))
+    ;; These inputs are only needed for tests.
+    (native-inputs
+     `(("net-tools" ,net-tools)
+       ("coreutils" ,coreutils)
+       ("grep" ,grep)))
+    (home-page "http://www.net-snmp.org/")
+    (synopsis "Simple Network Management Protocol library and tools")
+    (description "The @dfn{Simple Network Management Protocol} (SNMP) is a
+widely used protocol for monitoring the health and welfare of network
+equipment (e.g. routers), computer equipment and even devices like UPSs.
+Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and
+SNMP v3 using both IPv4 and IPv6.")
+    (license (list license:bsd-3
+                   (license:non-copyleft
+                    "http://www.net-snmp.org/about/license.html"
+                    "CMU/UCD copyright notice")))))
diff --git a/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch b/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch
new file mode 100644
index 0000000000..5c9bd36598
--- /dev/null
+++ b/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch
@@ -0,0 +1,27 @@
+From 13a14579cc1bb772735f895dd5b4b90c6812f3ee Mon Sep 17 00:00:00 2001
+From: Chris Feng <chris.w.feng@gmail.com>
+Date: Sun, 29 Jul 2018 00:00:00 +0000
+Subject: [PATCH] Fix issues with destroying full screen X windows
+
+* exwm-manage.el (exwm-manage--unmanage-window): Set the Emacs window
+of an full screen X window as non-dedicated before killing its buffer
+so as not to cause other side effects.
+---
+ exwm-manage.el | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/exwm-manage.el b/exwm-manage.el
+index a0a9e05..349157f 100644
+--- a/exwm-manage.el
++++ b/exwm-manage.el
+@@ -392,6 +392,10 @@ manager is shutting down."
+                                :window window :parent exwm--root :x 0 :y 0))
+             (xcb:+request exwm--connection
+                 (make-instance 'xcb:DestroyWindow :window container))))
++        (when (exwm-layout--fullscreen-p)
++          (let ((window (get-buffer-window)))
++            (when window
++              (set-window-dedicated-p window nil))))
+         (exwm-manage--set-client-list)
+         (xcb:flush exwm--connection))
+       (let ((kill-buffer-func
diff --git a/gnu/packages/patches/irrlicht-use-system-libs.patch b/gnu/packages/patches/irrlicht-use-system-libs.patch
new file mode 100644
index 0000000000..e764f411d3
--- /dev/null
+++ b/gnu/packages/patches/irrlicht-use-system-libs.patch
@@ -0,0 +1,202 @@
+This patch is a combination of the two following patches with minor
+changes to the install code
+https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/link-against-needed-libs.diff/
+https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/use-system-libs.diff/
+
+
+---
+ include/IrrCompileConfig.h                  | 26 +++++++++------------
+ source/Irrlicht/CIrrDeviceLinux.h           |  2 +-
+ source/Irrlicht/COpenGLExtensionHandler.h   |  8 +++----
+ source/Irrlicht/COpenGLSLMaterialRenderer.h |  2 +-
+ source/Irrlicht/Makefile                    | 15 ++++++------
+ 5 files changed, 25 insertions(+), 28 deletions(-)
+
+diff --git a/include/IrrCompileConfig.h b/include/IrrCompileConfig.h
+index 6bb0589..2216353 100644
+--- a/include/IrrCompileConfig.h
++++ b/include/IrrCompileConfig.h
+@@ -238,6 +238,17 @@ for Windows based systems. You also have to set #define UNICODE for this to comp
+ #undef _IRR_WCHAR_FILESYSTEM

+ #endif

+ 

++//! Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.

++/** This enables the engine to read from compressed .zip archives. If you

++disable this feature, the engine can still read archives, but only uncompressed

++ones. */

++#define _IRR_COMPILE_WITH_ZLIB_

++

++//! Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.

++/** If this is commented out, Irrlicht will try to compile using the zlib installed in the system.

++	This is only used when _IRR_COMPILE_WITH_ZLIB_ is defined. */

++#undef _IRR_USE_NON_SYSTEM_ZLIB_

++

+ //! Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.

+ /** This enables the engine to read jpeg images. If you comment this out,

+ the engine will no longer read .jpeg images. */

+@@ -249,10 +260,7 @@ the engine will no longer read .jpeg images. */
+ //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.

+ /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.

+ 	This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */

+-#define _IRR_USE_NON_SYSTEM_JPEG_LIB_

+-#ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_

+ #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_

+-#endif

+ 

+ //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.

+ /** This enables the engine to read png images. If you comment this out,

+@@ -265,10 +273,7 @@ the engine will no longer read .png images. */
+ //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.

+ /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.

+ 	This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */

+-#define _IRR_USE_NON_SYSTEM_LIB_PNG_

+-#ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_

+ #undef _IRR_USE_NON_SYSTEM_LIB_PNG_

+-#endif

+ 

+ //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9

+ /** If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h,

+@@ -602,10 +607,7 @@ ones. */
+ /** If this is commented out, Irrlicht will try to compile using the zlib

+ installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is

+ defined. */

+-#define _IRR_USE_NON_SYSTEM_ZLIB_

+-#ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_

+ #undef _IRR_USE_NON_SYSTEM_ZLIB_

+-#endif

+ //! Define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ if you want to read AES-encrypted ZIP archives

+ #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_

+ #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_

+@@ -623,18 +625,12 @@ library. */
+ /** If this is commented out, Irrlicht will try to compile using the bzlib

+ installed on the system. This is only used when _IRR_COMPILE_WITH_BZLIB_ is

+ defined. */

+-#define _IRR_USE_NON_SYSTEM_BZLIB_

+-#ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_

+ #undef _IRR_USE_NON_SYSTEM_BZLIB_

+-#endif

+ //! Define _IRR_COMPILE_WITH_LZMA_ if you want to use LZMA compressed zip files.

+ /** LZMA is a very efficient compression code, known from 7zip. Irrlicht

+ currently only supports zip archives, though. */

+-#define _IRR_COMPILE_WITH_LZMA_

+-#ifdef NO_IRR_COMPILE_WITH_LZMA_

+ #undef _IRR_COMPILE_WITH_LZMA_

+ #endif

+-#endif

+ 

+ //! Define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ if you want to mount folders as archives

+ #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_

+diff --git a/source/Irrlicht/CIrrDeviceLinux.h b/source/Irrlicht/CIrrDeviceLinux.h
+index 4d2a2c6..8cf24ba 100644
+--- a/source/Irrlicht/CIrrDeviceLinux.h
++++ b/source/Irrlicht/CIrrDeviceLinux.h
+@@ -22,7 +22,7 @@
+ #define GLX_GLXEXT_LEGACY 1

+ #include <GL/glx.h>

+ #ifdef _IRR_OPENGL_USE_EXTPOINTER_

+-#include "glxext.h"

++#include <GL/glxext.h>

+ #endif

+ #endif

+ 

+diff --git a/source/Irrlicht/COpenGLExtensionHandler.h b/source/Irrlicht/COpenGLExtensionHandler.h
+index 1b77bad..3886a0e 100644
+--- a/source/Irrlicht/COpenGLExtensionHandler.h
++++ b/source/Irrlicht/COpenGLExtensionHandler.h
+@@ -35,7 +35,7 @@
+ 	#endif

+ 	#include <OpenGL/gl.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+-		#include "glext.h"

++		#include <GL/glext.h>

+ 	#endif

+ #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+@@ -48,7 +48,7 @@
+ 	#define NO_SDL_GLEXT

+ 	#include <SDL/SDL_video.h>

+ 	#include <SDL/SDL_opengl.h>

+-	#include "glext.h"

++	#include <GL/glext.h>

+ #else

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+ 		#define GL_GLEXT_LEGACY 1

+@@ -60,9 +60,9 @@
+ 	#include <GL/gl.h>

+ 	#include <GL/glx.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+-	#include "glext.h"

++	#include <GL/glext.h>

+ 	#undef GLX_ARB_get_proc_address // avoid problems with local glxext.h

+-	#include "glxext.h"

++	#include <GL/glxext.h>

+ 	#endif

+ #endif

+ 

+diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.h b/source/Irrlicht/COpenGLSLMaterialRenderer.h
+index ff71150..f8a6007 100644
+--- a/source/Irrlicht/COpenGLSLMaterialRenderer.h
++++ b/source/Irrlicht/COpenGLSLMaterialRenderer.h
+@@ -25,7 +25,7 @@
+ 	#include <GL/gl.h>

+ #endif

+ #if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+-	#include "glext.h"

++	#include <GL/glext.h>

+ #endif

+ #endif

+ 

+diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile
+index 67a3899..d9ea7f3 100644
+--- a/source/Irrlicht/Makefile
++++ b/source/Irrlicht/Makefile
+@@ -43,7 +43,7 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CIm
+ 	CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o

+ IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)

+ IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o

+-IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o

++IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o

+ IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o

+ IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o

+ ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o

+@@ -56,14 +56,14 @@ BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o
+ EXTRAOBJ =

+ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \

+ 	$(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \

+-	$(IRRGUIOBJ) $(ZLIBOBJ) $(JPEGLIBOBJ) $(LIBPNGOBJ) $(LIBAESGM) \

+-	$(BZIP2OBJ) $(EXTRAOBJ)

++	$(IRRGUIOBJ) $(LIBAESGM) \

++	$(EXTRAOBJ)

+ 

+ ###############

+ #Compiler flags

+-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng

++CXXINCS = -I../../include # -Izlib -Ijpeglib -Ilibpng

+ CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1

+-CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing

++CXXFLAGS += -Wall -pipe -fno-exceptions -fstrict-aliasing

+ ifndef NDEBUG

+ CXXFLAGS += -g -D_DEBUG

+ else

+@@ -88,7 +88,7 @@ STATIC_LIB = libIrrlicht.a
+ LIB_PATH = ../../lib/$(SYSTEM)

+ INSTALL_DIR = /usr/local/lib

+ sharedlib install: SHARED_LIB = libIrrlicht.so

+-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm

++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2

+ staticlib sharedlib: CXXINCS += -I/usr/X11R6/include

+ 

+ #OSX specific options

+@@ -153,7 +153,8 @@ install install_osx:
+ 	$(RM) -r $(INSTALL_DIR)/../include/irrlicht

+ 	mkdir -p $(INSTALL_DIR)/../include/irrlicht

+ 	cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/

+-	cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)

++	cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) || true

++	cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) || true

+ 	cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME)

+ 	cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB)

+ #	ldconfig -n $(INSTALL_DIR)

+-- 
+2.18.0
+
diff --git a/gnu/packages/patches/lvm2-static-link.patch b/gnu/packages/patches/lvm2-static-link.patch
index 6adf6891bb..eb7849a679 100644
--- a/gnu/packages/patches/lvm2-static-link.patch
+++ b/gnu/packages/patches/lvm2-static-link.patch
@@ -12,3 +12,14 @@ and libm via libdevmapper.a.
  
  liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
  	cat $(top_builddir)/lib/liblvm-internal.a > $@
+--- a/make.tmpl.in     2018-07-31 22:00:39.969983104 +0200
++++ b/make.tmpl.in     2018-07-31 22:00:58.467613682 +0200
+@@ -53,7 +53,7 @@
+ 
+ LIBS = @LIBS@
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
++STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(M_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
diff --git a/gnu/packages/patches/qtwebkit-pbutils-include.patch b/gnu/packages/patches/qtwebkit-pbutils-include.patch
new file mode 100644
index 0000000000..57961e7a51
--- /dev/null
+++ b/gnu/packages/patches/qtwebkit-pbutils-include.patch
@@ -0,0 +1,15 @@
+Patch taken from Nix:
+   https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
+
+diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
+--- a/Source/WebKit2/PlatformQt.cmake
++++ b/Source/WebKit2/PlatformQt.cmake
+@@ -261,6 +261,7 @@
+ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
+     ${GLIB_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
++    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
+     ${Qt5Quick_INCLUDE_DIRS}
+     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+     ${SQLITE_INCLUDE_DIR}
+
diff --git a/gnu/packages/patches/xdotool-fix-makefile.patch b/gnu/packages/patches/xdotool-fix-makefile.patch
deleted file mode 100644
index 5fed41f8b4..0000000000
--- a/gnu/packages/patches/xdotool-fix-makefile.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix Makefile, which missed including a necessary library for compiling in the
-0.5.0 release.
-
-See https://github.com/jordansissel/xdotool/pull/81 for more information.
-
---- xdotool-3.20150503.1/Makefile	2014-10-20 13:05:34.000000000 -0700
-+++ xdotool-3.20150503.1/Makefile	2016-02-05 14:44:18.652734272 -0800
-@@ -28,7 +28,7 @@
- CFLAGS+=-g # TODO(sissel): Comment before release
- CFLAGS+=$(CPPFLAGS)
- 
--DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama
-+DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lxkbcommon
- DEFAULT_INC=-I/usr/X11R6/include -I/usr/local/include
- 
- XDOTOOL_LIBS=$(shell pkg-config --libs x11 2> /dev/null || echo "$(DEFAULT_LIBS)")  $(shell sh platform.sh extralibs)
\ No newline at end of file
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 4eb68c0270..ab0ca08528 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -179,14 +179,14 @@ colors, styles, options and details.")
 (define-public asymptote
   (package
     (name "asymptote")
-    (version "2.44")
+    (version "2.47")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/asymptote/"
                                   version "/asymptote-" version ".src.tgz"))
               (sha256
                (base32
-                "1rs9v95g19ri6ra2m921jf2yr9avqnzfybrqxilsld98xpqx56vg"))))
+                "0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971"))))
     (build-system gnu-build-system)
     ;; Note: The 'asy' binary retains a reference to docdir for use with its
     ;; "help" command in interactive mode, so adding a "doc" output is not
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3b10f05e75..1d718bf228 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3800,7 +3800,7 @@ atlas_libs = openblas
              (add-installed-pythonpath inputs outputs)
              (with-directory-excursion "/tmp"
                (invoke "python" "-c"
-                       "import scipy; scipy.test('full', verbose=2)")))))))
+                       "import scipy; scipy.test(verbose=2)")))))))
     (home-page "https://www.scipy.org/")
     (synopsis "The Scipy library provides efficient numerical routines")
     (description "The SciPy library is one of the core packages that make up
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index cefceb6b68..f6eb2831fd 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1786,7 +1786,7 @@ module provides support functions to the automatically generated code.")
        ("qtsvg" ,qtsvg)
        ("qttools" ,qttools)
        ("qtwebchannel" ,qtwebchannel)
-       ;("qtwebkit" ,qtwebkit)
+       ("qtwebkit" ,qtwebkit)
        ("qtwebsockets" ,qtwebsockets)
        ("qtx11extras" ,qtx11extras)
        ("qtxmlpatterns" ,qtxmlpatterns)))
@@ -2104,18 +2104,17 @@ different kinds of sliders, and much more.")
 (define-public qtwebkit
   (package
     (name "qtwebkit")
-    (version "5.9.1")
+    (version "5.212.0-alpha2")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "https://download.qt.io/official_releases/qt/"
-                            (version-major+minor version) "/" version
-                            "/submodules/" name "-opensource-src-"
-                            version ".tar.xz"))
+        (uri (string-append "https://github.com/annulen/webkit/releases/download/"
+                            name "-" version "/" name "-" version ".tar.xz"))
         (sha256
          (base32
-          "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998"))))
-    (build-system gnu-build-system)
+          "12lg7w00d8wsj672s1y5z5gm0xdcgs16nas0b5bgq4byavg03ygq"))
+        (patches (search-patches "qtwebkit-pbutils-include.patch"))))
+    (build-system cmake-build-system)
     (native-inputs
      `(("perl" ,perl)
        ("python" ,python-2.7)
@@ -2126,6 +2125,8 @@ different kinds of sliders, and much more.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("icu" ,icu4c)
+       ("glib" ,glib)
+       ("gst-plugins-base" ,gst-plugins-base)
        ("libjpeg" ,libjpeg)
        ("libpng" ,libpng)
        ("libwebp" ,libwebp)
@@ -2134,92 +2135,27 @@ different kinds of sliders, and much more.")
        ("libxrender" ,libxrender)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtlocation" ,qtlocation)
        ("qtmultimedia" ,qtmultimedia)
+       ("qtsensors" ,qtsensors)
+       ("qtwebchannel" ,qtwebchannel)
        ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
        ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'fix-qmlwebkit-plugins-rpath
-           (lambda _
-             (substitute* "Source/WebKit/qt/declarative/experimental/experimental.pri"
-               (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib")
-                "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../../lib"))
-             (substitute* "Source/WebKit/qt/declarative/public.pri"
-               (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib")
-                "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../lib"))
-             #t))
-         (replace 'configure
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let ((out (assoc-ref outputs "out")))
-                      (setenv "QMAKEPATH"
-                              (string-append (getcwd) "/Tools/qmake:"
-                                             (getenv "QMAKEPATH")))
-                      (system* "qmake"))))
-         ;; prevent webkit from trying to install into the qtbase store directory,
-         ;; and replace references to the build directory in linker options:
-         (add-before 'build 'patch-installpaths
-                     (lambda* (#:key outputs inputs #:allow-other-keys)
-                       (let* ((out (assoc-ref outputs "out"))
-                              (qtbase (assoc-ref inputs "qtbase"))
-                              (builddir (getcwd))
-                              (linkbuild (string-append "-L" builddir))
-                              (linkout (string-append "-L" out))
-                              (makefiles
-                               (map-in-order
-                                (lambda (i)
-                                  (let* ((in (car i))
-                                         (mf (string-append (dirname in) "/"
-                                                            (cdr i))))
-                                    ;; by default, these Makefiles are
-                                    ;; generated during install, but we need
-                                    ;; to generate them now
-                                    (system* "qmake" in "-o" mf)
-                                    mf))
-                                '(("Source/api.pri" . "Makefile.api")
-                                  ("Source/widgetsapi.pri"
-                                   . "Makefile.widgetsapi")
-                                  ("Source/WebKit2/WebProcess.pro"
-                                   . "Makefile.WebProcess")
-                                  ("Source/WebKit2/PluginProcess.pro"
-                                   . "Makefile.PluginProcess")
-                                  ("Source/WebKit/qt/declarative/public.pri"
-                                   . "Makefile.declarative.public")
-                                  ("Source/WebKit/qt/declarative/experimental/experimental.pri"
-                                   . "Makefile.declarative.experimental")
-                                  ("Source/WebKit/qt/examples/platformplugin/platformplugin.pro"
-                                   . "Makefile")))))
-                         ;; Order of qmake calls and substitutions matters here.
-                         (system* "qmake" "-prl" "Source/widgetsapi.pri"
-                                  "-o" "Source/Makefile")
-                         (substitute* (find-files "lib" "libQt5.*\\.prl")
-                           ((linkbuild) linkout))
-                         (substitute* (find-files "lib"
-                                                  "libQt5WebKit.*\\.la")
-                           (("libdir='.*'")
-                            (string-append "libdir='" out "/lib'"))
-                           ((linkbuild) linkout))
-                         (substitute* (find-files "lib/pkgconfig"
-                                                  "Qt5WebKit.*\\.pc")
-                           (((string-append "prefix=" qtbase))
-                            (string-append "prefix=" out))
-                           ((linkbuild) linkout))
-                         ;; Makefiles must be modified after .prl/.la/.pc
-                         ;; files, lest they get rebuilt:
-                         (substitute* makefiles
-                           (((string-append "\\$\\(INSTALL_ROOT\\)" qtbase))
-                            out )
-                           (((string-append "-Wl,-rpath," builddir))
-                            (string-append "-Wl,-rpath," out)))))))))
+     `(#:tests? #f ; no apparent tests; it might be necessary to set
+                   ; ENABLE_API_TESTS, see CMakeLists.txt
+       #:configure-flags (list ;"-DENABLE_API_TESTS=TRUE"
+                               "-DPORT=Qt"
+                               "-DUSE_LIBHYPHEN=OFF"
+                               "-DUSE_SYSTEM_MALLOC=ON")))
     (home-page "https://www.webkit.org")
     (synopsis "Web browser engine and classes to render and interact with web
 content")
     (description "QtWebKit provides a Web browser engine that makes it easy to
 embed content from the World Wide Web into your Qt application.  At the same
 time Web content can be enhanced with native controls.")
-
     (license license:lgpl2.1+)))
 
 (define-public dotherside
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index d5ed06f0df..3f501a0736 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -29,7 +29,7 @@
 (define-public re2
    (package
      (name "re2")
-     (version "2018-07-01")
+     (version "2018-08-01")
      (home-page "https://github.com/google/re2")
      (source (origin
                (method url-fetch)
@@ -37,7 +37,7 @@
                (file-name (string-append name "-" version ".tar.gz"))
                (sha256
                 (base32
-                 "1zh7kzyv4h7960rdp31a3bq6y4qrdxyf6k86j67yzpkf2h8phg40"))))
+                 "0lmpc3cb9bvc27fp27jacx6qjn176v8z8p7k70byc092q68mr6bw"))))
      (build-system gnu-build-system)
      (arguments
       `(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index aa4cae6f97..908dfd5751 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1830,13 +1830,13 @@ Mocha stubbing and mocking library with Bacon, a small RSpec clone.")
 (define-public ruby-net-ssh
   (package
     (name "ruby-net-ssh")
-    (version "4.1.0")
+    (version "4.2.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "net-ssh" version))
               (sha256
                (base32
-                "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q"))))
+                "07c4v97zl1daabmri9zlbzs6yvkl56z1q14bw74d53jdj0c17nhx"))))
     (build-system ruby-build-system)
     (native-inputs
      `(("bundler" ,bundler)
@@ -5033,17 +5033,17 @@ in standard Ruby syntax.")
     (home-page "https://github.com/ruby/rake")
     (license license:expat)))
 
-(define-public ruby-childprocess
+(define-public ruby-childprocess-0.6
   (package
     (name "ruby-childprocess")
-    (version "0.9.0")
+    (version "0.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "childprocess" version))
        (sha256
         (base32
-         "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p"))))
+         "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv"))))
     (build-system ruby-build-system)
     (arguments
      `(#:tests? #f))
@@ -5057,3 +5057,16 @@ in standard Ruby syntax.")
 programs running in the background, in Ruby.")
     (home-page "http://github.com/enkessler/childprocess")
     (license license:expat)))
+
+(define-public ruby-childprocess
+  (package
+    (inherit ruby-childprocess-0.6)
+    (name "ruby-childprocess")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "childprocess" version))
+       (sha256
+        (base32
+         "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p"))))))
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 386092b358..284771ab60 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -46,7 +46,7 @@
 (define-public xapian
   (package
     (name "xapian")
-    (version "1.4.6")
+    (version "1.4.7")
     ;; Note: When updating Xapian, remember to update xapian-bindings below.
     (source (origin
               (method url-fetch)
@@ -54,7 +54,7 @@
                                   "/xapian-core-" version ".tar.xz"))
               (patches (search-patches "xapian-revert-5489fb2f8.patch"))
               (sha256
-               (base32 "166qpfq7pvyrj2w2x07v31ypvqg6c2xyvds5sms9h4g2sg0z23hy"))))
+               (base32 "1lxmlds3v5s1gng9nk1rvmln1zcksrw5ds509y0glylwch5qmw0k"))))
     (build-system gnu-build-system)
     (inputs `(("zlib" ,zlib)
               ("util-linux" ,util-linux)))
@@ -92,7 +92,7 @@ rich set of boolean query operators.")
                                   "/xapian-bindings-" version ".tar.xz"))
               (sha256
                (base32
-                "0z5ma66n742241ys037i3k66c6lvsywviqf33vqsf4jb7j03qsbi"))))
+                "0sjf9ck3a6p7xnd84w09l6s0xn2g03k9a9417f4mjnywfq9pa6a5"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-python3")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 59ac02f79f..d6ca5278f5 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -222,7 +222,7 @@ X11 (yet).")
 (define-public xdotool
   (package
     (name "xdotool")
-    (version "3.20150503.1")
+    (version "3.20160805.1")
     (source
       (origin
         (method url-fetch)
@@ -231,8 +231,7 @@ X11 (yet).")
               version "/xdotool-" version ".tar.gz"))
         (sha256
           (base32
-           "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
-        (patches (search-patches "xdotool-fix-makefile.patch"))))
+           "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; Test suite requires a lot of black magic
@@ -240,11 +239,11 @@ X11 (yet).")
        (modify-phases %standard-phases
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys #:rest args)
-             (setenv "PREFIX" (assoc-ref outputs "out"))
-             (setenv "LDFLAGS"
-                     (string-append "-Wl,-rpath="
-                                    (assoc-ref %outputs "out") "/lib"))
-             (setenv "CC" "gcc"))))))
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/lib"))
+               (setenv "PREFIX" out)
+               (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
+               (setenv "CC" "gcc")))))))
     (native-inputs `(("perl" ,perl))) ; for pod2man
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)