summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/audio.scm81
-rw-r--r--gnu/packages/bioinformatics.scm109
-rw-r--r--gnu/packages/boost.scm22
-rw-r--r--gnu/packages/commencement.scm5
-rw-r--r--gnu/packages/cups.scm4
-rw-r--r--gnu/packages/databases.scm6
-rw-r--r--gnu/packages/enlightenment.scm9
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/gcc.scm12
-rw-r--r--gnu/packages/glib.scm50
-rw-r--r--gnu/packages/gnome.scm61
-rw-r--r--gnu/packages/gnupg.scm6
-rw-r--r--gnu/packages/gtk.scm59
-rw-r--r--gnu/packages/java.scm83
-rw-r--r--gnu/packages/julia.scm5
-rw-r--r--gnu/packages/libidn.scm4
-rw-r--r--gnu/packages/lisp.scm16
-rw-r--r--gnu/packages/mail.scm17
-rw-r--r--gnu/packages/music.scm53
-rw-r--r--gnu/packages/ocr.scm4
-rw-r--r--gnu/packages/package-management.scm7
-rw-r--r--gnu/packages/patches/gitolite-openssh-6.8-compat.patch25
-rw-r--r--gnu/packages/patches/gobject-introspection-cc.patch25
-rw-r--r--gnu/packages/patches/pycairo-wscript.patch31
-rw-r--r--gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch42
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/python.scm36
-rw-r--r--gnu/packages/statistics.scm10
-rw-r--r--gnu/packages/version-control.scm60
-rw-r--r--gnu/packages/video.scm12
-rw-r--r--gnu/packages/web.scm11
-rw-r--r--gnu/packages/xfce.scm5
-rw-r--r--gnu/packages/xorg.scm36
34 files changed, 744 insertions, 174 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 3a0361299e..ffaf6b4fc7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -702,7 +702,9 @@ commands and their arguments.")
                     ".tar.gz"))
               (sha256
                (base32
-                "0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa"))))
+                "0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa"))
+              (patches
+               (list (search-patch "wpa-supplicant-CVE-2015-1863.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-replace
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 8fb3da7fa1..06f8bbdbea 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -236,6 +236,48 @@ bass section with five drawbars.  A standalone JACK application and LV2
 plugins are provided.")
     (license license:gpl2)))
 
+(define-public calf
+  (package
+    (name "calf")
+    (version "0.0.60")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/calf/calf/"
+                    version "/calf-" version ".tar.gz"))
+              (sha256
+               (base32
+                "019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("fluidsynth" ,fluidsynth)
+       ("expat" ,expat)
+       ("glib" ,glib)
+       ("gtk" ,gtk+-2)
+       ("cairo" ,cairo)
+       ("lash" ,lash)
+       ("jack" ,jack-1)
+       ("lv2" ,lv2)
+       ("ladspa" ,ladspa)
+       ("fftw" ,fftw)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "LV2_PATH")
+            (files '("lib/lv2")))))
+    (home-page "http://calf.sourceforge.net/")
+    (synopsis "Audio plug-in pack for LV2 and JACK environments")
+    (description
+     "Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
+The suite contains lots of effects (delay, modulation, signal processing,
+filters, equalizers, dynamics, distortion and mastering effects),
+instruments (SF2 player, organ simulator and a monophonic synthesizer) and
+tools (analyzer, mono/stereo tools, crossovers).")
+    ;; calfjackhost is released under GPLv2+
+    ;; The plugins are released under LGPLv2.1+
+    (license (list license:lgpl2.1+ license:gpl2+))))
+
 (define-public csound
   (package
     (name "csound")
@@ -314,6 +356,45 @@ language and software synthesizer.")
 ALSA PCM devices.")
     (license license:gpl2+)))
 
+(define-public fluidsynth
+  (package
+    (name "fluidsynth")
+    (version "1.1.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/fluidsynth/fluidsynth-"
+                    version "/fluidsynth-" version ".tar.gz"))
+              (sha256
+               (base32
+                "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (alist-cons-after
+        'unpack
+        'remove-broken-symlinks
+        (lambda _ (delete-file-recursively "m4") #t)
+        %standard-phases)))
+    (inputs
+     `(("libsndfile" ,libsndfile)
+       ("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("ladspa" ,ladspa)
+       ("lash" ,lash)
+       ("readline" ,readline)
+       ("glib" ,glib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://www.fluidsynth.org/")
+    (synopsis "SoundFont synthesizer")
+    (description
+     "FluidSynth is a real-time software synthesizer based on the SoundFont 2
+specifications.  FluidSynth reads and handles MIDI events from the MIDI input
+device.  It is the software analogue of a MIDI synthesizer. FluidSynth can
+also play midifiles using a Soundfont.")
+    (license license:gpl2+)))
+
 (define-public faad2
   (package
     (name "faad2")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4fd9459350..ccfda627f3 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -28,6 +28,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages file)
   #:use-module (gnu packages java)
@@ -37,6 +38,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
@@ -46,6 +48,29 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages zip))
 
+(define-public bamtools
+  (package
+    (name "bamtools")
+    (version "2.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/pezmaster31/bamtools/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1brry29bw2xr2l9pqn240rkqwayg85b8qq78zk2zs6nlspk4d018"))))
+    (build-system cmake-build-system)
+    (arguments `(#:tests? #f)) ;no "check" target
+    (inputs `(("zlib" ,zlib)))
+    (home-page "https://github.com/pezmaster31/bamtools")
+    (synopsis "C++ API and command-line toolkit for working with BAM data")
+    (description
+     "BamTools provides both a C++ API and a command-line toolkit for handling
+BAM files.")
+    (license license:expat)))
+
 (define-public bedops
   (package
     (name "bedops")
@@ -507,6 +532,51 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
 other types of unwanted sequence from high-throughput sequencing reads.")
     (license license:expat)))
 
+(define-public express
+  (package
+    (name "express")
+    (version "1.5.1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append
+                "http://bio.math.berkeley.edu/eXpress/downloads/express-"
+                version "/express-" version "-src.tgz"))
+              (sha256
+               (base32
+                "03rczxd0gjp2l1jxcmjfmf5j94j77zqyxa6x063zsc585nj40n0c"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ;no "check" target
+       #:phases
+       (alist-cons-after
+        'unpack 'use-shared-boost-libs-and-set-bamtools-paths
+        (lambda* (#:key inputs #:allow-other-keys)
+          (substitute* "CMakeLists.txt"
+            (("set\\(Boost_USE_STATIC_LIBS ON\\)")
+             "set(Boost_USE_STATIC_LIBS OFF)")
+            (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include")
+             (string-append (assoc-ref inputs "bamtools") "/include/bamtools")))
+          (substitute* "src/CMakeLists.txt"
+            (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib")
+             (string-append (assoc-ref inputs "bamtools") "/lib/bamtools")))
+          #t)
+        %standard-phases)))
+    (inputs
+     `(("boost" ,boost)
+       ("bamtools" ,bamtools)
+       ("protobuf" ,protobuf)
+       ("zlib" ,zlib)))
+    (home-page "http://bio.math.berkeley.edu/eXpress")
+    (synopsis "Streaming quantification for high-throughput genomic sequencing")
+    (description
+     "eXpress is a streaming tool for quantifying the abundances of a set of
+target sequences from sampled subsequences.  Example applications include
+transcript-level RNA-Seq quantification, allele-specific/haplotype expression
+analysis (from RNA-Seq), transcription factor binding quantification in
+ChIP-Seq, and analysis of metagenomic data.")
+    (license license:artistic2.0)))
+
 (define-public fastx-toolkit
   (package
     (name "fastx-toolkit")
@@ -1386,6 +1456,45 @@ sequences.")
     ;; STAR is licensed under GPLv3 or later; htslib is MIT-licensed.
     (license license:gpl3+)))
 
+(define-public subread
+  (package
+    (name "subread")
+    (version "1.4.6-p2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/subread/subread-"
+                    version "-source.tar.gz"))
+              (sha256
+               (base32
+                "06sv9mpcsdj6p68y15d6gi70lca3lxmzk0dn61hg0kfsa7rxmsr3"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ;no "check" target
+       #:make-flags '("-f" "Makefile.Linux")
+       #:phases
+       (alist-cons-after
+        'unpack 'enter-dir
+        (lambda _ (chdir "src") #t)
+        (alist-replace
+         'install
+         (lambda* (#:key outputs #:allow-other-keys)
+           (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+             (mkdir-p bin)
+             (copy-recursively "../bin" bin)))
+         ;; no "configure" script
+         (alist-delete 'configure %standard-phases)))))
+    (inputs `(("zlib" ,zlib)))
+    (home-page "http://bioinf.wehi.edu.au/subread-package/")
+    (synopsis "Tool kit for processing next-gen sequencing data")
+    (description
+     "The subread package contains the following tools: subread aligner, a
+general-purpose read aligner; subjunc aligner: detecting exon-exon junctions
+and mapping RNA-seq reads; featureCounts: counting mapped reads for genomic
+features; exactSNP: a SNP caller that discovers SNPs by testing signals
+against local background noises.")
+    (license license:gpl3+)))
+
 (define-public shogun
   (package
     (name "shogun")
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 10c88f3f2a..2bdd8f19f0 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -102,3 +102,25 @@
 across a broad spectrum of applications.")
     (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
                                 "Some components have other similar licences."))))
+
+(define-public mdds
+  (package
+    (name "mdds")
+    (version "0.12.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "http://kohei.us/files/mdds/src/mdds_" version ".tar.bz2"))
+             (sha256
+              (base32
+               "10ar7r0gkdl2r7916jlkl5c38cynrh7x9s90a5i8d242r8ixw8ia"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+      `(("boost" ,boost))) ; inclusion of header files
+    (home-page "https://code.google.com/p/multidimalgorithm/")
+    (synopsis "Multi-dimensional C++ data structures and indexing algorithms")
+    (description "Mdds (multi-dimensional data structure) provides a
+collection of multi-dimensional data structures and indexing algorithms
+for C++.  It includes flat segment trees, segment trees, rectangle sets,
+point quad trees, multi-type vectors and multi-type matrices.")
+    (license license:expat)))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 65524091a9..da1b1ffd98 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -794,4 +794,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
 (define-public gcc-toolchain-4.9
   (gcc-toolchain gcc-4.9))
 
+(define-public gcc-toolchain-5.1
+  (gcc-toolchain gcc-5.1))
+
 ;;; commencement.scm ends here
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index a74e4097eb..3acf9dfd46 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -36,7 +36,7 @@
 (define-public cups-filters
   (package
     (name "cups-filters")
-    (version "1.0.61")
+    (version "1.0.68")
     (source (origin
               (method url-fetch)
               (uri
@@ -44,7 +44,7 @@
                               "cups-filters-" version ".tar.xz"))
               (sha256
                (base32
-                "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m"))
+                "0dx4assqzqdi0q4j7z5s7xzzvzxnd5c1njd9139a1h353qrcr5fi"))
               (modules '((guix build utils)))
               (snippet
                ;; install backends, banners and filters to cups-filters output
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 9df4a14d26..aa0aa0d49f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -228,14 +228,14 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "9.3.5")
+    (version "9.3.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://ftp.postgresql.org/pub/source/v"
-                                  version "/postgresql-" version ".tar.gz"))
+                                  version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g"))))
+                "056ass7nnfyv7blv02anv795kgpz77gipdpxggd835cdwrhwns13"))))
     (build-system gnu-build-system)
     (inputs
      `(("readline" ,readline)
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 4a59e67ed8..c64230097d 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -156,15 +156,16 @@ full capabilities of EFL.")
 (define-public evas-generic-loaders
   (package
     (name "evas-generic-loaders")
-    (version "1.13.0")
+    (version "1.13.2")
     (source (origin
               (method url-fetch)
               (uri
                (string-append
-                "http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-"
-                version ".tar.gz"))
+                "https://download.enlightenment.org/rel/libs/"
+                "evas_generic_loaders/evas_generic_loaders-"
+                version ".tar.xz"))
               (sha256
-               (base32 "16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63"))))
+               (base32 "1z5vjabs3psvqs3251mpyl1wgbdv1grn30yf682vamdqc5ckfa69"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index f65a5bbf9d..386f4c5972 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -53,14 +53,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
     (name "libinput")
-    (version "0.13.0")
+    (version "0.14.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://freedesktop.org/software/libinput/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "06n6ih2bfr957rprsgjxhi6f7m96wmf4kgac8y0ispsjvrzszv3c"))))
+                "0r0v5jqbnwgndq6ns3ss3kv1438ny302m7bg1najcl1dpqp21v9b"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index ca85073ea4..dbce52e2f2 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -327,6 +327,18 @@ Go.  It also includes runtime support libraries for these languages.")
                "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))
              (patches (list (search-patch "gcc-arm-link-spec-fix.patch")))))))
 
+(define-public gcc-5.1
+  (package (inherit gcc-4.7)
+    (version "5.1.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://gnu/gcc/gcc-"
+                                 version "/gcc-" version ".tar.bz2"))
+             (sha256
+              (base32
+               "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"))
+             (patches (list (search-patch "gcc-arm-link-spec-fix.patch")))))))
+
 (define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
   "Return a custom version of GCC that supports LANGUAGES."
   (package (inherit gcc)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 688c0b61d0..1d43895f5c 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -207,14 +207,14 @@ dynamic loading, and an object system.")
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-    (version "1.42.0")
+    (version "1.44.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/"
+             (uri (string-append "mirror://gnome/sources/"
                    "gobject-introspection/" (version-major+minor version)
                    "/gobject-introspection-" version ".tar.xz"))
              (sha256
-              (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv"))
+              (base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g"))
              (patches (list
                        (search-patch "gobject-introspection-cc.patch")
                        (search-patch
@@ -243,14 +243,7 @@ dynamic loading, and an object system.")
     (arguments
      `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes
        ;; some tests to fail.
-       #:tests? #f
-       #:phases
-        (alist-cons-before
-         'configure 'patch-paths
-         (lambda _
-           (substitute* "giscanner/sourcescanner.py"
-             (("GUIX_GCC_PATH") (which "gcc"))))
-         %standard-phases)))
+       #:tests? #f))
     (home-page "https://wiki.gnome.org/GObjectIntrospection")
     (synopsis "Generate interface introspection data for GObject libraries")
     (description
@@ -313,14 +306,14 @@ The intltool collection can be used to do these things:
 (define itstool
   (package
     (name "itstool")
-    (version "1.2.0")
+    (version "2.0.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://files.itstool.org/itstool/itstool-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6"))))
+               "0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("libxml2" ,libxml2)
@@ -350,7 +343,7 @@ translated.")
 (define dbus-glib
   (package
     (name "dbus-glib")
-    (version "0.102")
+    (version "0.104")
     (source (origin
              (method url-fetch)
              (uri
@@ -358,7 +351,7 @@ translated.")
                              version ".tar.gz"))
              (sha256
               (base32
-               "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"))))
+               "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"))))
     (build-system gnu-build-system)
     (inputs
      `(("dbus" ,dbus)
@@ -377,14 +370,15 @@ by GDBus included in Glib.")
 (define libsigc++
   (package
     (name "libsigc++")
-    (version "2.3.1")
+    (version "2.4.1")
     (source (origin
              (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/libsigc++/2.3/libsigc++-"
-                                 version ".tar.xz"))
+             (uri (string-append "mirror://gnome/sources/libsigc++/"
+                                 (version-major+minor version) "/"
+                                 name "-" version ".tar.xz"))
              (sha256
               (base32
-               "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"))))
+               "1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("m4" ,m4)))
@@ -403,7 +397,7 @@ has an ease of use unmatched by other C++ callback libraries.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.42.0")
+    (version "2.44.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/glibmm/"
@@ -411,7 +405,7 @@ has an ease of use unmatched by other C++ callback libraries.")
                                  "/glibmm-" version ".tar.xz"))
              (sha256
               (base32
-               "15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q"))))
+               "1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (alist-cons-before
@@ -485,8 +479,7 @@ useful for C++.")
 (define-public python-pygobject
   (package
     (name "python-pygobject")
-    (version "3.12.2")                  ;last version that works with
-                                        ;gobject-introspection 1.38
+    (version "3.16.1")
     (source
      (origin
        (method url-fetch)
@@ -495,8 +488,7 @@ useful for C++.")
                            "/pygobject-" version ".tar.xz"))
        (sha256
         (base32
-         "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky"))))
-    ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp
+         "1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("which" ,which)
@@ -549,14 +541,6 @@ useful for C++.")
         (base32
          "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:phases (alist-cons-before
-                 'build 'set-cc
-                 (lambda _
-                   ;; Set $CC so that g-ir-scanner works.
-                   (setenv "CC" "gcc")
-                   #t)
-                 %standard-phases)))
     (native-inputs
      `(("glib" ,glib "bin") ; uses glib-mkenums
        ("pkg-config" ,pkg-config)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 33ce2e8717..871cde8491 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -499,13 +499,6 @@ some form of information without getting in the user's way.")
        ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)))
-    (arguments
-     `(#:phases 
-       (alist-cons-before
-        'build 'pre-build
-        (lambda* _
-          (setenv "CC" "gcc"))
-        %standard-phases)))
     (home-page "https://wiki.gnome.org/Libpeas")
     (synopsis "GObject plugin system")
     (description
@@ -675,11 +668,7 @@ dealing with different structured file formats.")
                 (string-join (find-files (assoc-ref inputs "gdk-pixbuf") 
                                          "libpixbufloader-.*\\.so") " ")
                 "> " loaders-directory ".cache")))))
-         (alist-cons-before
-          'build 'pre-build
-          (lambda* _
-            (setenv "CC" "gcc"))
-          %standard-phases)))))
+         %standard-phases))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("glib" ,glib "bin")                               ; glib-mkenums, etc.
@@ -1385,7 +1374,7 @@ engineering.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.26.1")
+    (version "0.28.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1393,9 +1382,15 @@ engineering.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0swyym2papln0f62ah05dpvq3vv6fssap26jq2zqp9dkkaqsn1w4"))))
+                "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd"))))
     (build-system gnu-build-system)
-    (arguments '(#:make-flags '("CC=gcc")))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-cc
+                     (lambda _
+                       (setenv "CC" "gcc")
+                       #t)))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
@@ -1437,13 +1432,6 @@ libraries written in C.")
     (propagated-inputs
      `(("gtk+" ,gtk+)                             ;required by vte-2.91.pc
        ("gnutls" ,gnutls)))                       ;ditto
-    (arguments
-     `(#:phases
-       (alist-cons-before
-        'build 'pre-build
-        (lambda* _
-          (setenv "CC" "gcc"))
-        %standard-phases)))
     (home-page "http://www.gnome.org/")
     (synopsis "Virtual Terminal Emulator")
     (description
@@ -1542,14 +1530,6 @@ configuration storage systems.")
                (base32
                 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:phases (alist-cons-before
-                 'build 'set-cc
-                 (lambda _
-                   ;; Set $CC so that g-ir-scanner works.
-                   (setenv "CC" "gcc")
-                   #t)
-                 %standard-phases)))
     (native-inputs
      `(("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
@@ -1581,13 +1561,7 @@ JSON, such as arrays and objects.")
      '(#:configure-flags
        (list (string-append "--with-xkb-base="
                             (assoc-ref %build-inputs "xkeyboard-config")
-                            "/share/X11/xkb"))
-       #:phases
-       (alist-cons-before
-        'build 'set-cc
-        (lambda _
-          (setenv "CC" "gcc")) ; for g-ir-scanner.
-        %standard-phases)))
+                            "/share/X11/xkb"))))
     (native-inputs
      `(("glib:bin"              ,glib "bin") ; for glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection)
@@ -1698,8 +1672,7 @@ library.")
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:make-flags '("CC=gcc") ; for g-ir-scanner
-       #:configure-flags
+     `(#:configure-flags
        (list (string-append "--with-html-dir="
                             (assoc-ref %outputs "doc")
                             "/share/gtk-doc/html")
@@ -1762,7 +1735,6 @@ and the GLib main loop, to integrate well with GNOME applications.")
     (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; FIXME: Testing hangs.
-       #:make-flags '("CC=gcc") ; for g-ir-scanner.
        #:configure-flags
        (list (string-append "--with-html-dir="
                             (assoc-ref %outputs "doc")
@@ -1926,12 +1898,7 @@ keyboard shortcuts.")
                          (("/bin/true") (which "true")))
                        (substitute* "src/Makefile.in"
                          (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
-                          "if test -w $(DESTDIR)$(localstatedir);"))))
-         (add-before 'build 'set-cc
-                     (lambda _
-                       ;; Set $CC so that g-ir-scanner works.
-                       (setenv "CC" "gcc")
-                       #t)))))
+                          "if test -w $(DESTDIR)$(localstatedir);")))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gobject-introspection" ,gobject-introspection)
@@ -2015,7 +1982,6 @@ permission from user. ")
      `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
        ;; work for the builder.  Punt.
        #:tests? #f
-       #:make-flags '("CC=gcc") ; for g-ir-scanner
        ))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-mkenums
@@ -2103,7 +2069,6 @@ service via the system message bus.")
      `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
        ;; work for the builder.  Punt.
        #:tests? #f
-       #:make-flags '("CC=gcc") ; for g-ir-scanner
        #:configure-flags
        `(;; No introspection for now, as it wants to install to
          ;; gobject-introspection's own directory and I don't know how to easily
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 7a16b4161a..3b29d1abfa 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -286,7 +286,7 @@ libskba (working with X.509 certificates and CMS data).")
 (define-public gpgme
   (package
     (name "gpgme")
-    (version "1.5.3")
+    (version "1.5.4")
     (source
      (origin
       (method url-fetch)
@@ -294,7 +294,7 @@ libskba (working with X.509 certificates and CMS data).")
                           ".tar.bz2"))
       (sha256
        (base32
-        "1jgwmra6cf0i5x2prj92w77vl7hmj276qmmll3lwysbyn32l1c0d"))))
+        "0v7azxazsfakvhrxzj5ysvcxma0892c89d27c17fkj8mi3nc0f5v"))))
     (build-system gnu-build-system)
     (propagated-inputs
      ;; Needs to be propagated because gpgme.h includes gpg-error.h.
@@ -434,7 +434,7 @@ PGP keysigning parties.")
 including tools for signing keys, keyring analysis, and party preparation.
 
  * caff: CA - Fire and Forget signs and mails a key
- 
+
  * pgp-clean: removes all non-self signatures from key
 
  * pgp-fixkey: removes broken packets from keys
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index cd54cfc5b9..0f7ba863e8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -30,6 +30,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
+  #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages compression)
@@ -352,8 +353,7 @@ in the GNOME project.")
    (build-system gnu-build-system)
    (outputs '("out" "doc"))
    (arguments
-    '(#:make-flags '("CC=gcc") ; for g-ir-scanner
-      #:configure-flags
+    '(#:configure-flags
       (list (string-append "--with-html-dir="
                            (assoc-ref %outputs "doc")
                            "/share/gtk-doc/html"))
@@ -449,8 +449,7 @@ is part of the GNOME accessibility project.")
       ("pkg-config" ,pkg-config)
       ("python-wrapper" ,python-wrapper)))
    (arguments
-    `(#:make-flags '("CC=gcc")
-      #:configure-flags
+    `(#:configure-flags
       (list "--with-xinput=yes"
             (string-append "--with-html-dir="
                            (assoc-ref %outputs "doc")
@@ -475,7 +474,7 @@ application suites.")
 (define-public gtk+
   (package (inherit gtk+-2)
    (name "gtk+")
-   (version "3.16.0")
+   (version "3.16.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -483,7 +482,7 @@ application suites.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "1si6ihl1wlvag8qq3166skr9fnm9i33dimbfry1j628qzqc76qff"))))
+              "1yhwg2l72l3khfkprydcjlpxjrg11ccqfc80sjl56llz3jk66fd0"))))
    (propagated-inputs
     `(("at-spi2-atk" ,at-spi2-atk)
       ("atk" ,atk)
@@ -625,7 +624,7 @@ library.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.34.0")
+    (version "2.36.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -633,7 +632,7 @@ library.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf"))))
+               "1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (propagated-inputs
@@ -674,7 +673,7 @@ toolkit.")
 (define-public gtkmm
   (package
     (name "gtkmm")
-    (version "3.14.0")
+    (version "3.16.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -682,7 +681,7 @@ toolkit.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "12z4g2in82nk92nfjs2hmrdcwbav8v3laz1813x2dhkf5jk2ixfr"))))
+               "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (propagated-inputs
@@ -706,7 +705,7 @@ extensive documentation, including API reference and a tutorial.")
 (define-public gtkmm-2
   (package (inherit gtkmm)
     (name "gtkmm")
-    (version "2.24.2")
+    (version "2.24.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -714,7 +713,7 @@ extensive documentation, including API reference and a tutorial.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369"))))
+               "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"))))
     (propagated-inputs
      `(("pangomm" ,pangomm)
        ("cairomm" ,cairomm)
@@ -733,29 +732,23 @@ extensive documentation, including API reference and a tutorial.")
                           version ".tar.bz2"))
       (sha256
        (base32
-        "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))))
-    (build-system python-build-system)
+        "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))
+      (patches (list (search-patch "pycairo-wscript.patch")))))
+    (build-system waf-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("python-waf" ,python-waf)))
     (propagated-inputs                  ;pycairo.pc references cairo
      `(("cairo" ,cairo)))
     (arguments
      `(#:tests? #f
-       #:phases (alist-cons-before
-                 'build 'configure
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (zero? (system* "./waf" "configure"
-                                   (string-append "--prefix="
-                                                  (assoc-ref outputs "out")))))
-                 (alist-replace
-                  'build
-                  (lambda _
-                    (zero? (system* "./waf" "build")))
-                  (alist-replace
-                   'install
-                   (lambda _
-                     (zero? (system* "./waf" "install")))
-                   %standard-phases)))))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'patch-waf
+          (lambda* (#:key inputs #:allow-other-keys)
+            ;; The bundled `waf' doesn't work with python-3.4.x.
+            (copy-file (assoc-ref %build-inputs "python-waf") "./waf"))))))
     (home-page "http://cairographics.org/pycairo/")
     (synopsis "Python bindings for cairo")
     (description
@@ -776,7 +769,11 @@ extensive documentation, including API reference and a tutorial.")
         "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
     (arguments
      `(#:python ,python-2
-       ,@(package-arguments python-pycairo)))
+       ,@(substitute-keyword-arguments (package-arguments python-pycairo)
+           ((#:phases phases)
+            `(alist-delete 'patch-waf ,phases))
+           ((#:native-inputs native-inputs)
+            `(alist-delete "python-waf" ,native-inputs)))))
     ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
     (license (list license:lgpl2.1 license:mpl1.1))))
 
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 2a8cd99fe6..a77d1716bc 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages gnuzilla) ;nss
   #:use-module (gnu packages ghostscript) ;lcms
   #:use-module (gnu packages gnome)
@@ -47,6 +48,88 @@
   #:use-module (gnu packages zip)
   #:use-module (gnu packages texinfo))
 
+(define-public swt
+  (package
+    (name "swt")
+    (version "4.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://ftp-stud.fht-esslingen.de/pub/Mirrors/"
+                    "eclipse/eclipse/downloads/drops4/R-" version
+                    "-201502041700/swt-" version "-gtk-linux-x86.zip"))
+              (sha256
+               (base32
+                "0lzyqr8k2zm5s8fmnrx5kxpslxfs0i73y26fwfms483x45izzwj8"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags '("-f" "make_linux.mak")
+       #:tests? #f ; no "check" target
+       #:phases
+       (alist-replace
+        'unpack
+        (lambda _
+          (and (mkdir "swt")
+               (zero? (system* "unzip" (assoc-ref %build-inputs "source") "-d" "swt"))
+               (chdir "swt")
+               (mkdir "src")
+               (zero? (system* "unzip" "src.zip" "-d" "src"))
+               (chdir "src")))
+        (alist-replace
+         'build
+         (lambda* (#:key inputs outputs #:allow-other-keys)
+           (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
+             (setenv "JAVA_HOME" (assoc-ref inputs "icedtea6"))
+
+             ;; Build shared libraries.  Users of SWT have to set the system
+             ;; property swt.library.path to the "lib" directory of this
+             ;; package output.
+             (mkdir-p lib)
+             (setenv "OUTPUT_DIR" lib)
+             (zero? (system* "bash" "build.sh"))
+
+             ;; build jar
+             (mkdir "build")
+             (for-each (lambda (file)
+                         (format #t "Compiling ~s\n" file)
+                         (system* "javac" "-d" "build" file))
+                       (find-files "." "\\.java"))
+             (zero? (system* "jar" "cvf" "swt.jar" "-C" "build" "."))))
+         (alist-cons-after
+          'install 'install-java-files
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((java (string-append (assoc-ref outputs "out")
+                                       "/share/java")))
+              (mkdir-p java)
+              (copy-file "swt.jar" (string-append java "/swt.jar"))) #t)
+          (alist-delete 'configure %standard-phases))))))
+    (inputs
+     `(("xulrunner" ,icecat)
+       ("gtk" ,gtk+-2)
+       ("libxtst" ,libxtst)
+       ("libxt" ,libxt)
+       ("mesa" ,mesa)
+       ("glu" ,glu)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("unzip" ,unzip)
+       ("icedtea6" ,icedtea6 "jdk")))
+    (home-page "https://www.eclipse.org/swt/")
+    (synopsis "Widget toolkit for Java")
+    (description
+     "SWT is a widget toolkit for Java designed to provide efficient, portable
+access to the user-interface facilities of the operating systems on which it
+is implemented.")
+    ;; SWT code is licensed under EPL1.0
+    ;; Gnome and Gtk+ bindings contain code licensed under LGPLv2.1
+    ;; Cairo bindings contain code under MPL1.1
+    ;; XULRunner 1.9 bindings contain code under MPL2.0
+    (license (list
+              license:epl1.0
+              license:mpl1.1
+              license:mpl2.0
+              license:lgpl2.1+))))
+
 (define-public ant
   (package
     (name "ant")
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index e5990441f5..c9428c4f12 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -118,7 +118,10 @@
         ,(match (or (%current-target-system)
                     (%current-system))
            ("x86_64-linux" "MARCH=x86-64")
-           ("i686-linux" "MARCH=pentium4"))
+           ("i686-linux" "MARCH=pentium4")
+           ;; Prevent errors when querying this package on unsupported
+           ;; platforms, e.g. when running "guix package --search="
+           (_ "MARCH=UNSUPPORTED"))
 
         "CONFIG_SHELL=bash"     ;needed to build bundled libraries
         "USE_SYSTEM_LIBUV=0"    ;Julia expects a modified libuv
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index 3e55618e53..49dafbeb6d 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -26,13 +26,13 @@
 (define-public libidn
   (package
    (name "libidn")
-   (version "1.29")
+   (version "1.30")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libidn/libidn-" version
                                 ".tar.gz"))
             (sha256 (base32
-                     "0z3w5arlvyiyvzg76msg3n2px3c1glqr6wnj7rq6zczrpdyp90pv"))))
+                     "0lxh5r1z8gsk4jxx3rv8aasjv8p53j4y04kvfn2w30a0syagrf9r"))))
    (build-system gnu-build-system)
 ;; FIXME: No Java and C# libraries are currently built.
    (synopsis "Internationalized string processing library")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 8f12efb9eb..feaa08af38 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -343,9 +343,13 @@ statistical profiler, a code coverage tool, and many other extensions.")
             (chdir (string-append
                     "lisp-kernel/"
                     ,(match (or (%current-target-system) (%current-system))
-                       ("i686-linux" "linuxx8632")
+                       ("i686-linux"   "linuxx8632")
                        ("x86_64-linux" "linuxx8664")
-                       ("armhf-linux" "linuxarm"))))
+                       ("armhf-linux"  "linuxarm")
+                       ;; Prevent errors when querying this package
+                       ;; on unsupported platforms, e.g. when running
+                       ;; "guix package --search="
+                       (_              "UNSUPPORTED"))))
             (substitute* '("Makefile")
               (("/bin/rm") "rm"))
             (setenv "CC" "gcc")
@@ -366,9 +370,13 @@ statistical profiler, a code coverage tool, and many other extensions.")
                     (bash (assoc-ref inputs "bash"))
                     (kernel
                      ,(match (or (%current-target-system) (%current-system))
-                        ("i686-linux" "lx86cl")
+                        ("i686-linux"   "lx86cl")
                         ("x86_64-linux" "lx86cl64")
-                        ("armhf-linux" "armcl")))
+                        ("armhf-linux"  "armcl")
+                        ;; Prevent errors when querying this package
+                        ;; on unsupported platforms, e.g. when running
+                        ;; "guix package --search="
+                        (_              "UNSUPPORTED")))
                     (heap (string-append kernel ".image")))
                (mkdir-p libdir)
                (mkdir-p bindir)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9a61cf4580..170fbe4921 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages backup)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
@@ -361,27 +362,37 @@ attachments, create new maildirs, and so on.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.18.1")
+    (version "0.19")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj"))))
+                "1szf6c44g209pcjq5nvfhlp3nzcm3lrcwv4spsxmwy13hiaccvrr"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;; FIXME: Test suite hangs and times out.
        #:phases (alist-replace
                  'configure
                  (lambda* (#:key outputs #:allow-other-keys)
+                   (setenv "CC" "gcc")
                    (setenv "CONFIG_SHELL" (which "sh"))
+
+                   ;; XXX Should python-docutils make a symlink
+                   ;; for "rst2man" and other similar programs?
+                   (substitute* '("configure" "doc/prerst2man.py")
+                     ((" rst2man ") " rst2man.py "))
+
                    (let ((out (assoc-ref outputs "out")))
                      (zero? (system* "./configure"
                                      (string-append "--prefix=" out)))))
                  %standard-phases)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-2)
+       ("python2-docutils" ,python2-docutils)
+       ("bash-completion" ,bash-completion)))
     (inputs
      `(("emacs" ,emacs)
        ("glib" ,glib)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0c83b0bd82..5795ecbb0d 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gnome)
@@ -36,6 +37,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages linux) ; for alsa-utils
   #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
@@ -221,3 +223,54 @@ features a statistics overview so you can monitor your progress across several
 sessions.  Solfege is also designed to be extensible so you can easily write
 your own lessons.")
     (license license:gpl3+)))
+
+(define-public tuxguitar
+  (package
+    (name "tuxguitar")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/tuxguitar/TuxGuitar/TuxGuitar-"
+                    version "/tuxguitar-src-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1g1yf2gd06fzdhqb8kb8dmdcmr602s9y24f01kyl4940wimgr944"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+                                         (assoc-ref %outputs "out") "/lib")
+                          (string-append "PREFIX="
+                                         (assoc-ref %outputs "out"))
+                          (string-append "SWT_PATH="
+                                         (assoc-ref %build-inputs "swt")
+                                         "/share/java/swt.jar"))
+       #:tests? #f ;no "check" target
+       #:parallel-build? #f ;not supported
+       #:phases
+       (alist-cons-before
+        'build 'enter-dir-set-path-and-pass-ldflags
+        (lambda* (#:key inputs #:allow-other-keys)
+          (chdir "TuxGuitar")
+          (substitute* "GNUmakefile"
+            (("PROPERTIES\\?=")
+             (string-append "PROPERTIES?= -Dswt.library.path="
+                            (assoc-ref inputs "swt") "/lib"))
+            (("\\$\\(GCJ\\) -o") "$(GCJ) $(LDFLAGS) -o"))
+          #t)
+        (alist-delete 'configure %standard-phases))))
+    (inputs
+     `(("swt" ,swt)))
+    (native-inputs
+     `(("gcj" ,gcj-4.8)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://tuxguitar.com.ar")
+    (synopsis "Multitrack tablature editor and player")
+    (description
+     "TuxGuitar is a guitar tablature editor with player support through midi.
+It can display scores and multitrack tabs.  TuxGuitar provides various
+additional features, including autoscrolling while playing, note duration
+management, bend/slide/vibrato/hammer-on/pull-off effects, support for
+tuplets, time signature management, tempo management, gp3/gp4/gp5 import and
+export.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm
index b94a7f51cb..0d5fbcdc29 100644
--- a/gnu/packages/ocr.scm
+++ b/gnu/packages/ocr.scm
@@ -29,14 +29,14 @@
 (define-public ocrad
   (package
     (name "ocrad")
-    (version "0.24")
+    (version "0.25")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/ocrad/ocrad-"
                                  version ".tar.lz"))
              (sha256
               (base32
-               "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv"))))
+               "1m2dblgvvjs48rsglfdwq0ib9zk8h9n34xsh67ibrg0g0ffbw477"))))
     (build-system gnu-build-system)
     (native-inputs `(("lzip" ,lzip)))
     (home-page "http://www.gnu.org/software/ocrad/")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 131cbcd9a7..75efd0c448 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -67,6 +67,9 @@
      `(#:configure-flags (list
                           "--localstatedir=/var"
                           "--sysconfdir=/etc"
+                          (string-append "--with-bash-completion-dir="
+                                         (assoc-ref %outputs "out")
+                                         "/etc/bash_completion.d")
                           (string-append "--with-libgcrypt-prefix="
                                          (assoc-ref %build-inputs
                                                     "libgcrypt")))
@@ -145,7 +148,7 @@ the Nix package manager.")
   ;;
   ;; Note: use a short commit id; when using the long one, the limit on socket
   ;; file names is exceeded while running the tests.
-  (let ((commit "0b13161"))
+  (let ((commit "fc34dee"))
     (package (inherit guix-0.8.1)
       (version (string-append "0.8.1." commit))
       (source (origin
@@ -155,7 +158,7 @@ the Nix package manager.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "0h9yyfxs14di858hb9ypjvdjryv8nzll6f9vxkggcy40iyhp65sh"))))
+                  "0nx60wwiar0s4bgwrm3nrskc54jig3vw7yzwxkwilc43cnlgpkja"))))
       (arguments
        (substitute-keyword-arguments (package-arguments guix-0.8.1)
          ((#:phases phases)
diff --git a/gnu/packages/patches/gitolite-openssh-6.8-compat.patch b/gnu/packages/patches/gitolite-openssh-6.8-compat.patch
new file mode 100644
index 0000000000..d7fc2e6b12
--- /dev/null
+++ b/gnu/packages/patches/gitolite-openssh-6.8-compat.patch
@@ -0,0 +1,25 @@
+From ed807a40c6683960e357bc995b3acf721ec088b4 Mon Sep 17 00:00:00 2001
+From: Sitaram Chamarty <sitaram@atc.tcs.com>
+Date: Thu, 19 Mar 2015 05:17:59 +0530
+Subject: [PATCH] openssh 6.8 compat
+
+---
+ src/triggers/post-compile/ssh-authkeys | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/triggers/post-compile/ssh-authkeys b/src/triggers/post-compile/ssh-authkeys
+index 84dda73..d5f5d8b 100755
+--- a/src/triggers/post-compile/ssh-authkeys
++++ b/src/triggers/post-compile/ssh-authkeys
+@@ -115,7 +115,7 @@ sub fp_file {
+     my $f  = shift;
+     my $fp = `ssh-keygen -l -f '$f'`;
+     chomp($fp);
+-    _die "fingerprinting failed for '$f'" unless $fp =~ /([0-9a-f][0-9a-f](:[0-9a-f][0-9a-f])+)/;
++    _die "fingerprinting failed for '$f'" unless $fp =~ /([0-9a-f][0-9a-f](:[0-9a-f][0-9a-f])+)/ or $fp =~ m(SHA256:([A-ZA-z0-9+/]+));
+     $fp = $1;
+     return $fp;
+ }
+--
+2.2.1
+
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
index 38b919a746..d9cacf4ca7 100644
--- a/gnu/packages/patches/gobject-introspection-cc.patch
+++ b/gnu/packages/patches/gobject-introspection-cc.patch
@@ -1,14 +1,11 @@
---- a/giscanner/sourcescanner.py	2013-12-15 23:03:54.002937000 +0100
-+++ b/giscanner/sourcescanner.py	2013-12-15 23:04:50.322937000 +0100
-@@ -277,6 +277,11 @@
-         defines = ['__GI_SCANNER__']
-         undefs = []
-         cpp_args = os.environ.get('CC', 'cc').split()  # support CC="ccache gcc"
-+        if (cpp_args == ['cc'] and
-+            not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
-+                        os.environ.get('PATH').split(':')))):
-+            cpp_args = ['GUIX_GCC_PATH']
-+
-         if 'cl' in cpp_args:
-             # The Microsoft compiler/preprocessor (cl) does not accept
-             # source input from stdin (the '-' flag), so we need
+Use gcc as the default C compiler if CC is not set.
+
+
+--- gobject-introspection-1.44.0.orig/giscanner/__init__.py	2014-08-04 22:37:07.000000000 +0800
++++ gobject-introspection-1.44.0/giscanner/__init__.py	2015-04-20 17:30:26.507697234 +0800
+@@ -22,3 +22,5 @@
+ builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
+ if builddir is not None:
+     __path__.append(os.path.join(builddir, 'giscanner'))
++if not 'CC' in os.environ:
++    os.environ['CC'] = 'gcc'
diff --git a/gnu/packages/patches/pycairo-wscript.patch b/gnu/packages/patches/pycairo-wscript.patch
new file mode 100644
index 0000000000..c49f0afcb3
--- /dev/null
+++ b/gnu/packages/patches/pycairo-wscript.patch
@@ -0,0 +1,31 @@
+Update the wscript to work with waf-1.8.8.  Based on:
+http://cgit.freedesktop.org/pycairo/commit/?id=c57cd129407c904f8c2f752a59d0183df7b01a5e
+
+
+--- pycairo-1.10.0.orig/wscript	2011-04-18 15:42:29.000000000 +0800
++++ pycairo-1.10.0/wscript	2015-04-20 13:01:45.383756898 +0800
+@@ -13,18 +13,18 @@
+ 
+ def options(ctx):
+   print('  %s/options()' %d)
+-  ctx.tool_options('gnu_dirs')
+-  ctx.tool_options('compiler_cc')
+-  ctx.tool_options('python') # options for disabling pyc or pyo compilation
++  ctx.load('gnu_dirs')
++  ctx.load('compiler_c')
++  ctx.load('python') # options for disabling pyc or pyo compilation
+ 
+ 
+ def configure(ctx):
+   print('  %s/configure()' %d)
+ 
+   env = ctx.env
+-  ctx.check_tool('gnu_dirs')
+-  ctx.check_tool('compiler_cc')
+-  ctx.check_tool('python')
++  ctx.load('gnu_dirs')
++  ctx.load('compiler_c')
++  ctx.load('python')
+   ctx.check_python_version((3,1,0))
+   ctx.check_python_headers()
+   ctx.check_cfg(package='cairo', atleast_version=cairo_version_required,
diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch b/gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch
new file mode 100644
index 0000000000..de1964ca76
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch
@@ -0,0 +1,42 @@
+From 9ed4eee345f85e3025c33c6e20aa25696e341ccd Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@qca.qualcomm.com>
+Date: Tue, 7 Apr 2015 11:32:11 +0300
+Subject: [PATCH] P2P: Validate SSID element length before copying it
+ (CVE-2015-1863)
+
+This fixes a possible memcpy overflow for P2P dev->oper_ssid in
+p2p_add_device(). The length provided by the peer device (0..255 bytes)
+was used without proper bounds checking and that could have resulted in
+arbitrary data of up to 223 bytes being written beyond the end of the
+dev->oper_ssid[] array (of which about 150 bytes would be beyond the
+heap allocation) when processing a corrupted management frame for P2P
+peer discovery purposes.
+
+This could result in corrupted state in heap, unexpected program
+behavior due to corrupted P2P peer device information, denial of service
+due to process crash, exposure of memory contents during GO Negotiation,
+and potentially arbitrary code execution.
+
+Thanks to Google security team for reporting this issue and smart
+hardware research group of Alibaba security team for discovering it.
+
+Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
+---
+ src/p2p/p2p.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
+index f584fae..a45fe73 100644
+--- a/src/p2p/p2p.c
++++ b/src/p2p/p2p.c
+@@ -778,6 +778,7 @@ int p2p_add_device(struct p2p_data *p2p, const u8 *addr, int freq,
+ 	if (os_memcmp(addr, p2p_dev_addr, ETH_ALEN) != 0)
+ 		os_memcpy(dev->interface_addr, addr, ETH_ALEN);
+ 	if (msg.ssid &&
++	    msg.ssid[1] <= sizeof(dev->oper_ssid) &&
+ 	    (msg.ssid[1] != P2P_WILDCARD_SSID_LEN ||
+ 	     os_memcmp(msg.ssid + 2, P2P_WILDCARD_SSID, P2P_WILDCARD_SSID_LEN)
+ 	     != 0)) {
+-- 
+1.9.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 21fb39562b..bca577eb35 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -50,13 +50,13 @@
 (define-public poppler
   (package
    (name "poppler")
-   (version "0.28.1")
+   (version "0.32.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://poppler.freedesktop.org/poppler-"
                                 version ".tar.xz"))
             (sha256 (base32
-                     "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc"))))
+                     "162vfbvbz0frvqyk00ldsbl49h4bj8i8wn0ngfl30xg1lldy6qs9"))))
    (build-system gnu-build-system)
    ;; FIXME: more dependencies could  be added
    ;;  cairo output:       no (requires cairo >= 1.10.0)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d64f6331d9..050c0de402 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3508,3 +3508,39 @@ It is written entirely in Python.")
 
 (define-public python2-singledispatch
   (package-with-python2 python-singledispatch))
+
+(define-public python-waf
+  (package
+    (name "python-waf")
+    (version "1.8.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://waf.io/"
+                                  "waf-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0b5q307fgn6a5d8yjia2d1l4bk1q3ilvc0w8k4isfrrx2gbcw8wn"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'build
+                  (lambda _
+                    (zero? (begin
+                             (system* "python" "waf-light" "configure")
+                             (system* "python" "waf-light" "build")))))
+         (replace 'check
+                  (lambda _
+                    (zero? (system* "python" "waf" "--version"))))
+         (replace 'install
+                  (lambda _
+                    (copy-file "waf" %output))))))
+    (home-page "https://waf.io/")
+    (synopsis "Python-based build system")
+    (description
+     "Waf is a Python-based framework for configuring, compiling and installing
+applications.")
+    (license bsd-3)))
+
+(define-public python2-waf
+  (package-with-python2 python-waf))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 5fae6d7a3c..722e0dfa49 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -42,7 +42,7 @@
 (define-public r
   (package
     (name "r")
-    (version "3.1.2")
+    (version "3.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cran/src/base/R-"
@@ -50,10 +50,14 @@
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ypsm11c7n49pgh2ricyhhpfhas3famscdazzdp2zq70rapm1ldw"))))
+                "0dagyqgvi8i3nw158qi2zpwm04s4ffzvnmk5niaksvxs30zrbbpm"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
+     `(#:make-flags
+       (list (string-append "LDFLAGS=-Wl,-rpath="
+                            (assoc-ref %outputs "out")
+                            "/lib/R/lib"))
+       #:phases
        (alist-cons-before
         'check 'set-timezone
         ;; Some tests require the timezone to be set.
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 2094ec0554..3cbd12f635 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages nano)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openssl)
+  #:use-module (gnu packages ssh)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -401,6 +402,65 @@ linear.  It will test every change between two points in the DAG.  It will
 also walk each side of a merge and test those changes individually.")
       (license (x11-style "file://LICENSE")))))
 
+(define-public gitolite
+  (package
+    (name "gitolite")
+    (version "3.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/sitaramc/gitolite/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              ;; Commit ed807a4 upstream
+              (patches
+               (list (search-patch "gitolite-openssh-6.8-compat.patch")))
+              (sha256
+               (base32
+                "1gsgzi9ayb4rablki3mqr11b0h8db4xg43df660marfpacmkfb01"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; no tests
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'build)
+                  (add-before 'install 'patch-scripts
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((perl (string-append (assoc-ref inputs "perl")
+                                                 "/bin/perl")))
+                        ;; This seems to take care of every shell script that
+                        ;; invokes Perl.
+                        (substitute* (find-files "." ".*")
+                          ((" perl -")
+                           (string-append " " perl " -"))))))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((output (assoc-ref outputs "out"))
+                             (sharedir (string-append output "/share/gitolite"))
+                             (bindir (string-append output "/bin")))
+                        (mkdir-p sharedir)
+                        (mkdir-p bindir)
+                        (system* "./install" "-to" sharedir)
+                        ;; Create symlinks for executable scripts in /bin.
+                        (for-each (lambda (script)
+                                    (symlink (string-append sharedir "/" script)
+                                             (string-append bindir "/" script)))
+                                  '("gitolite" "gitolite-shell"))
+                        #t))))))
+    (inputs
+     `(("perl" ,perl)))
+    ;; git and openssh are propagated because trying to patch the source via
+    ;; regexp matching is too brittle and prone to false positives.
+    (propagated-inputs
+     `(("git" ,git)
+       ("openssh" ,openssh)))
+    (home-page "http://gitolite.com")
+    (synopsis "Git access control layer")
+    (description
+     "Gitolite is an access control layer on top of Git, providing fine access
+control to Git repositories.")
+    (license gpl2)))
+
 (define-public mercurial
   (package
     (name "mercurial")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 822d9021cb..8868713ba1 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -570,13 +570,13 @@ treaming protocols.")
                            '("--enable-runtime-cpudetection"
                              "--target=i686-linux"))
                           ("mips64el-linux"
-                           '("--target=mips3-linux")))
-                      "--disable-armv5te"
-                      "--disable-armv6"
-                      "--disable-armv6t2"
-                      "--disable-armvfp"
+                           '("--target=mips3-linux"))
+                          (_ (list (string-append
+                                    "--target="
+                                    (or (%current-target-system)
+                                        (nix-system->gnu-triplet
+                                         (%current-system)))))))
                       "--disable-neon"
-                      "--disable-thumb"
                       "--disable-iwmmxt"))))
           %standard-phases)))
     (home-page "http://www.mplayerhq.hu/design7/news.html")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 0c22562aa6..fb3ff2d149 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -94,14 +94,14 @@ and its related documentation.")
 (define-public nginx
   (package
     (name "nginx")
-    (version "1.6.2")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m"))))
+                "1mgkkmmwkhmpn68sdvbd73ssv6lpqhh864fsyvc1ij4hk4is3k13"))))
     (build-system gnu-build-system)
     (inputs `(("pcre" ,pcre)
               ("openssl" ,openssl)
@@ -132,7 +132,12 @@ and its related documentation.")
                                                      (%current-system))
                                             ("x86_64-linux"   "x86_64")
                                             ("i686-linux"     "i686")
-                                            ("mips64el-linux" "mips64"))))
+                                            ("mips64el-linux" "mips64")
+                                            ;; Prevent errors when querying
+                                            ;; this package on unsupported
+                                            ;; platforms, e.g. when running
+                                            ;; "guix package --search="
+                                            (_                "UNSUPPORTED"))))
                              (string-append "--crossbuild="
                                             system ":" release ":" machine)))))
                (setenv "CC" "gcc")
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index b39b903e9b..37f09579fe 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -397,8 +397,11 @@ allows you to shutdown the computer from Xfce.")
        ("libnotify" ,libnotify)
        ("libxcursor", libxcursor)
        ("libxi" ,libxi)
+       ("libxklavier" ,libxklavier)
        ("libxrandr" ,libxrandr)
-       ("libxfce4ui" ,libxfce4ui)))
+       ("libxfce4ui" ,libxfce4ui)
+       ("upower" ,upower)
+       ("xf86-input-libinput" ,xf86-input-libinput)))
     (home-page "http://www.xfce.org/")
     (synopsis "Xfce settings manager")
     (description
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 998f0803fc..dc04bee20a 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -45,7 +45,8 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages ncurses)
-  #:use-module (gnu packages xdisorg))
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages freedesktop))
 
 
 
@@ -2220,6 +2221,35 @@ devices, thus making direct access unnecessary.")
     (description "X.org provides an implementation of the X Window System")
     (license license:x11)))
 
+(define-public xf86-input-libinput
+  (package
+    (name "xf86-input-libinput")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://xorg/individual/driver/"
+                    name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0fm4vrkw7azipbnwvc2l18g65z77pllsznaajd8q3zpg9ycb0li1"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append "--with-sdkdir="
+                            %output "/include/xorg"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libinput" ,libinput)
+       ("xorg-server" ,xorg-server)))
+    (home-page "http://www.x.org/wiki/")
+    (synopsis "Xorg input driver")
+    (description
+     "This is an Xorg input driver based on libinput.  It therefore supports
+all input devices that libinput can handle, including most mice, keyboards,
+tablets and touchscreens.")
+    (license license:x11)))
 
 (define-public xf86-input-joystick
   (package
@@ -4271,7 +4301,7 @@ graphics cards.")
 (define-public libxfont
   (package
     (name "libxfont")
-    (version "1.5.0")
+    (version "1.5.1")
     (source
       (origin
         (method url-fetch)
@@ -4281,7 +4311,7 @@ graphics cards.")
                ".tar.bz2"))
         (sha256
           (base32
-            "0py2c498lrq6wrj9al6nj57v2ypid9cz0zzhc0hjndgrmp254g1s"))))
+            "1630v3sfvwwlimb2ja10c84ql6v1mw9bdfhvan7pbybkgi99h25p"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("fontsproto" ,fontsproto)