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/admin.scm13
-rw-r--r--gnu/packages/autotools.scm16
-rw-r--r--gnu/packages/cups.scm293
-rw-r--r--gnu/packages/emacs.scm12
-rw-r--r--gnu/packages/fonts.scm5
-rw-r--r--gnu/packages/freeipmi.scm4
-rw-r--r--gnu/packages/game-development.scm43
-rw-r--r--gnu/packages/games.scm34
-rw-r--r--gnu/packages/ghostscript.scm45
-rw-r--r--gnu/packages/glib.scm40
-rw-r--r--gnu/packages/gnome.scm42
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gtk.scm6
-rw-r--r--gnu/packages/guile.scm32
-rw-r--r--gnu/packages/kde.scm25
-rw-r--r--gnu/packages/linux.scm81
-rw-r--r--gnu/packages/netpbm.scm31
-rw-r--r--gnu/packages/nvi.scm4
-rw-r--r--gnu/packages/package-management.scm1
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/nvi-db4.patch35
-rw-r--r--gnu/packages/patches/nvi-dbpagesize-binpower.patch35
-rw-r--r--gnu/packages/patches/pyqt-configure.patch15
-rw-r--r--gnu/packages/patches/util-linux-perl.patch15
-rw-r--r--gnu/packages/patches/util-linux-tests.patch30
-rw-r--r--gnu/packages/plotutils.scm32
-rw-r--r--gnu/packages/python.scm66
-rw-r--r--gnu/packages/qt.scm130
-rw-r--r--gnu/packages/rdf.scm36
-rw-r--r--gnu/packages/slang.scm70
-rw-r--r--gnu/packages/version-control.scm4
-rw-r--r--gnu/packages/video.scm59
-rw-r--r--gnu/packages/xnee.scm19
34 files changed, 1090 insertions, 195 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d7cd0b8092..534fd070ff 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -631,7 +631,10 @@ system administrator.")
                 "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '("--with-logpath=/var/log/sudo.log")
+     `(#:configure-flags '("--with-logpath=/var/log/sudo.log"
+                           "--with-rundir=/run/sudo"
+                           "--with-vardir=/var/db/sudo"
+                           "--with-iologdir=/var/log/sudo-io")
        #:phases (alist-cons-before
                  'configure 'pre-configure
                  (lambda _
@@ -645,7 +648,13 @@ system administrator.")
                       "")
                      (("^install: (.*)install-sudoers(.*)" _ before after)
                       ;; Don't try to create /etc/sudoers.
-                      (string-append "install: " before after "\n"))))
+                      (string-append "install: " before after "\n"))
+                     (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
+                      ;; Don't try to create /run/sudo.
+                      "$(TMPDIR)/dummy")
+                     (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
+                      ;; Don't try to create /var/db/sudo.
+                      "$(TMPDIR)/dummy")))
                  %standard-phases)
 
        ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 8e72562444..7f20b262f8 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -238,14 +238,14 @@ Makefile, simplifying the entire process for the developer.")
 (define-public libtool
   (package
     (name "libtool")
-    (version "2.4.4")
+    (version "2.4.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/libtool/libtool-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
+                "0zhphv4n9bdd6sz66lqfrfqcsnv89mg2bykgi5w9401va4vc3al4"))
               (patches
                (list (search-patch "libtool-skip-tests.patch")))))
     (build-system gnu-build-system)
@@ -295,8 +295,16 @@ complexity of working with shared libraries across platforms.")
   ;; Libtool's extensive test suite isn't run.
   (package
     (name "libltdl")
-    (version (package-version libtool))
-    (source (package-source libtool))
+    (version "2.4.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/libtool/libtool-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
+              (patches
+               (list (search-patch "libtool-skip-tests.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-ltdl-install") ;really install it
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
new file mode 100644
index 0000000000..a74e4097eb
--- /dev/null
+++ b/gnu/packages/cups.scm
@@ -0,0 +1,293 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cups)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages avahi)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages fonts) ;font-dejavu
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages pdf)
+  #:use-module (gnu packages pkg-config))
+
+(define-public cups-filters
+  (package
+    (name "cups-filters")
+    (version "1.0.61")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "http://openprinting.org/download/cups-filters/"
+                              "cups-filters-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; install backends, banners and filters to cups-filters output
+               ;; directory, not the cups server directory
+               '(substitute* "Makefile.in"
+                  (("CUPS_DATADIR = @CUPS_DATADIR@")
+                   "CUPS_DATADIR = $(PREFIX)/share/cups")
+                  (("pkgcupsserverrootdir = \\$\\(CUPS_SERVERROOT\\)")
+                   "pkgcupsserverrootdir = $(PREFIX)")
+                  (("pkgbackenddir = \\$\\(CUPS_SERVERBIN\\)/backend")
+                   "pkgbackenddir = $(PREFIX)/backend")
+                  (("pkgfilterdir = \\$\\(CUPS_SERVERBIN\\)/filter")
+                   "pkgfilterdir = $(PREFIX)/filter")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list (string-append "PREFIX=" %output))
+       #:configure-flags
+       `(,(string-append "--with-test-font-path="
+                         (assoc-ref %build-inputs "font-dejavu")
+                         "/share/fonts/truetype/DejaVuSans.ttf")
+         ,(string-append "--with-rcdir="
+                         (assoc-ref %outputs "out") "/etc/rc.d"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fontconfig"   ,fontconfig)
+       ("freetype"     ,freetype)
+       ("font-dejavu"  ,font-dejavu) ;needed by test suite
+       ("ghostscript"  ,ghostscript)
+       ("ijs"          ,ijs)
+       ("dbus"         ,dbus)
+       ("lcms"         ,lcms)
+       ("libjpeg-8"    ,libjpeg-8)
+       ("libpng"       ,libpng)
+       ("libtiff"      ,libtiff)
+       ("glib"         ,glib)
+       ("qpdf"         ,qpdf)
+       ("poppler"      ,poppler)
+       ("cups-minimal" ,cups-minimal)))
+    (home-page "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters")
+    (synopsis "OpenPrinting CUPS filters and backends")
+    (description
+     "Contains backends, filters, and other software that was once part of the
+core CUPS distribution but is no longer maintained by Apple Inc.  In addition
+it contains additional filters developed independently of Apple, especially
+filters for the PDF-centric printing workflow introduced by OpenPrinting.")
+    ;; Different filters and backends have different licenses; see COPYING for
+    ;; details
+    (license (list license:gpl2
+                   license:gpl2+
+                   license:gpl3
+                   license:gpl3+
+                   license:lgpl2.0+
+                   license:expat))))
+
+;; CUPS on non-MacOS systems requires cups-filters.  Since cups-filters also
+;; depends on CUPS libraries and binaries, cups-minimal has been added to
+;; satisfy this dependency.
+(define-public cups-minimal
+  (package
+    (name "cups-minimal")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.cups.org/software/"
+                                  version "/cups-" version "-source.tar.gz"))
+              (sha256
+               (base32
+                "1kbc85kwhm1vyzahblrg3qih9yypggs91d13gdrbnaac8q7jd9jr"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       '("--disable-launchd"
+         "--disable-systemd"
+         "--disable-avahi"
+         "--disable-dnssd")
+       ;; Seven tests fail, mostly because of files that are provided by the
+       ;; cups-filters package.
+       #:tests? #f
+       #:phases
+       (alist-cons-before
+        'configure
+        'patch-makedefs
+        (lambda _
+          (substitute* "Makedefs.in"
+            (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
+            (("/bin/sh") (which "sh"))))
+        (alist-cons-before
+         'build
+         'patch-tests
+         (lambda _
+           (substitute* "test/ippserver.c"
+             (("#  else /\\* HAVE_AVAHI \\*/") "#elif defined(HAVE_AVAHI)")))
+         %standard-phases))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("zlib"  ,zlib)
+       ("gnutls" ,gnutls)))
+    (home-page "http://www.cups.org")
+    (synopsis "The Common Unix Printing System")
+    (description
+     "CUPS is a printing system that uses the Internet Printing
+Protocol (IPP).  It provides System V and BSD command-line interfaces, as well
+as a Web interface and a C programming interface to manage printers and print
+jobs.  It supports printing to both local (parallel, serial, USB) and
+networked printers, and printers can be shared from one computer to another.
+Internally, CUPS uses PostScript Printer Description (PPD) files to describe
+printer capabilities and features and a wide variety of generic and
+device-specific programs to convert and print many types of files.")
+    (license license:gpl2)))
+
+(define-public cups
+  (package (inherit cups-minimal)
+    (name "cups")
+    (arguments
+     `(;; Three tests fail:
+       ;; * two tests in ipp-1.1.test related to "RFC 2911 section 3.2.6:
+       ;;   Get-Jobs Operation"
+       ;; * test of number of error/warning messages, probably related to a
+       ;;   missing font.
+       #:tests? #f
+       #:configure-flags
+       '("--disable-launchd"
+         "--disable-systemd")
+       #:phases
+       (alist-cons-before
+        'configure
+        'patch-makedefs
+        (lambda _
+          (substitute* "Makedefs.in"
+            (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
+            (("/bin/sh") (which "sh"))))
+        (alist-cons-before
+         'check
+         'patch-tests
+         (lambda _
+           (let ((filters (assoc-ref %build-inputs "cups-filters"))
+                 (catpath (string-append
+                           (assoc-ref %build-inputs "coreutils") "/bin/"))
+                 (testdir (string-append (getcwd) "/tmp/")))
+             (mkdir testdir)
+             (substitute* "test/run-stp-tests.sh"
+               ((" *BASE=/tmp/") (string-append "BASE=" testdir))
+
+               ;; allow installation of filters from output dir and from
+               ;; cups-filters
+               (("for dir in /usr/libexec/cups/filter /usr/lib/cups/filter")
+                (string-append
+                 "for dir in "
+                 (assoc-ref %outputs "out") "/lib/cups/filter "
+                 filters "/filter"))
+
+               ;; check for charsets in cups-filters output
+               (("/usr/share/cups/charsets")
+                (string-append filters "/share/cups/charsets"))
+
+               ;; install additional required filters
+               (("instfilter texttopdf texttopdf pdf")
+                (string-append
+                 "instfilter texttopdf texttopdf pdf;"
+                 "instfilter imagetoraster imagetoraster raster;"
+                 "instfilter gstoraster gstoraster raster;"
+                 "instfilter urftopdf urftopdf pdf;"
+                 "instfilter rastertopdf rastertopdf pdf;"
+                 "instfilter pstopdf pstopdf pdf"))
+
+               ;; specify location of lpstat binary
+               (("description=\"`lpstat -l")
+                "description=\"`../systemv/lpstat -l")
+
+               ;; patch shebangs of embedded scripts
+               (("#!/bin/sh") (string-append "#!" (which "sh")))
+
+               ;; also link mime definitions from cups-filters
+               ;; to enable the additional filters for the test suite
+               (("ln -s \\$root/conf/mime\\.types")
+                (string-append
+                 "ln -s " filters
+                 "/share/cups/mime/cupsfilters.types $BASE/share/mime; "
+                 "ln -s $root/conf/mime.types"))
+               (("ln -s \\$root/conf/mime\\.convs")
+                (string-append
+                 "ln -s " filters
+                 "/share/cups/mime/cupsfilters.convs $BASE/share/mime; "
+                 "ln -s $root/conf/mime.convs")))
+
+             ;; fix search path for "cat"
+             (substitute* "cups/testfile.c"
+               (("cupsFileFind\\(\"cat\", \"/bin\"")
+                (string-append "cupsFileFind(\"cat\", \"" catpath "\""))
+               (("cupsFileFind\\(\"cat\", \"/bin:/usr/bin\"")
+                (string-append "cupsFileFind(\"cat\", \"" catpath "\"")))))
+         (alist-cons-after
+          'install
+          'install-cups-filters-symlinks
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out"))
+                  (cups-filters (assoc-ref inputs "cups-filters")))
+              ;; charsets
+              (symlink
+               (string-append cups-filters "/share/cups/charsets")
+               (string-append out "/share/charsets"))
+
+              ;; mime types, driver file, ppds
+              (for-each
+               (lambda (f)
+                 (symlink (string-append cups-filters f)
+                          (string-append out f)))
+               '("/share/cups/mime/cupsfilters.types"
+                 "/share/cups/mime/cupsfilters.convs"
+                 "/share/cups/drv/cupsfilters.drv"
+                 "/share/ppd"))
+
+              ;; filters
+              (for-each
+               (lambda (f)
+                 (symlink f
+                          (string-append out "/lib/cups/filter" (basename f))))
+               (find-files (string-append cups-filters "/filter") ".*"))
+
+              ;; backends
+              (for-each
+               (lambda (f)
+                 (symlink (string-append cups-filters f)
+                          (string-append out "/lib/cups" f)))
+               '("/backend/parallel"
+                 "/backend/serial"))
+
+              ;; banners
+              (let ((banners "/share/cups/banners"))
+                (delete-file-recursively (string-append out banners))
+                (symlink (string-append cups-filters banners)
+                         (string-append out banners)))
+
+              ;; assorted data
+              (let ((data "/share/cups/data"))
+                (delete-file-recursively (string-append out data))
+                (symlink (string-append cups-filters data)
+                         (string-append out data)))))
+          %standard-phases)))))
+    (inputs
+     `(("avahi" ,avahi)
+       ("gnutls" ,gnutls)
+       ("cups-filters" ,cups-filters)
+       ("zlib"  ,zlib)))))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9ccf34c362..f4d7ac9748 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
 ;;;
@@ -482,13 +482,12 @@ operations.")
                  (alist-cons-before
                   'install 'pre-install
                   (lambda* (#:key outputs #:allow-other-keys)
-                    ;; The 'install' rule expects 'emms-print-metadata.1' to
-                    ;; be already installed.
+                    ;; The 'install' rule expects the target directory to
+                    ;; exist.
                     (let* ((out  (assoc-ref outputs "out"))
                            (man1 (string-append out "/share/man/man1")))
                       (mkdir-p man1)
-                      (copy-file "emms-print-metadata.1"
-                                 (string-append man1 "/emms-print-metadata.1"))))
+                      #t))
                   (alist-cons-after
                    'install 'post-install
                    (lambda* (#:key outputs #:allow-other-keys)
@@ -505,8 +504,7 @@ operations.")
        #:tests? #f))
     (native-inputs `(("emacs" ,emacs)            ;for (guix build emacs-utils)
                      ("texinfo" ,texinfo)))
-    (inputs `(;("perl" ,perl)                     ;for 'emms-print-metadata.pl'
-              ("alsa-utils" ,alsa-utils)
+    (inputs `(("alsa-utils" ,alsa-utils)
               ("vorbis-tools" ,vorbis-tools)
               ("mpg321" ,mpg321)
               ("taglib" ,taglib)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index c16ab93242..94993f0d08 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
@@ -25,8 +25,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
-  #:use-module ((gnu packages base)
-                #:select (tar))
+  #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages xorg)
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index 39e541b884..a6bba757da 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -27,14 +27,14 @@
 (define-public freeipmi
   (package
     (name "freeipmi")
-    (version "1.4.7")
+    (version "1.4.8")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1j33b2spj1vzjf1ymfrgka5h7imijmdwg9jdjfb92b2ccld9jj6l"))))
+               "06smdsri1v5v2smrd3jxq3n135x7cx0npcimc37lb144gzgyk9wz"))))
     (build-system gnu-build-system)
     (inputs
      `(("readline" ,readline) ("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 056b3681a7..fefdf67f3d 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -17,11 +17,14 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages game-development)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
-  #:use-module (gnu packages))
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages compression))
 
 (define-public bullet
   (package
@@ -45,4 +48,38 @@
     (description
      "Bullet is a physics engine library usable for collision detection.  It
 is used in some video games and movies.")
-    (license zlib)))
+    (license license:zlib)))
+
+(define-public tiled
+  (package
+    (name "tiled")
+    (version "0.11.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/bjorn/tiled/archive/v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "03a15vbzjfwc8dpifbjvd0gnr208mzmdkgs2nlc8zq6z0a4h4jqd"))))
+    (build-system gnu-build-system)
+    (inputs `(("qt" ,qt)
+              ("zlib" ,zlib)))
+    (arguments
+     '(#:phases
+       (alist-replace
+        'configure
+        (lambda* (#:key outputs #:allow-other-keys)
+          (let ((out (assoc-ref outputs "out")))
+            (system* "qmake"
+                     (string-append "PREFIX=" out))))
+        %standard-phases)))
+    (home-page "http://www.mapeditor.org/")
+    (synopsis "Tile map editor")
+    (description
+     "Tiled is a general purpose tile map editor.  It is meant to be used for
+editing maps of any tile-based game, be it an RPG, a platformer or a Breakout
+clone.")
+
+    ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
+    ;; under BSD-2.
+    (license license:gpl2+)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index f206d3caca..a9c4d6bd11 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -520,40 +520,6 @@ alternative layouts Dvorak and Colemak, as well as for the numpad.  Tutorials
 are primarily in English, however some in other languages are provided.")
     (license license:gpl3+)))
 
-(define-public tiled
-  (package
-    (name "tiled")
-    (version "0.10.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/bjorn/tiled/archive/v"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0p4p3lv4nw11fkfvvyjirb93r2x4w2rrc2w650gl2k57k92jpiij"))))
-    (build-system gnu-build-system)
-    (inputs `(("qt" ,qt)
-              ("zlib" ,zlib)))
-    (arguments
-     '(#:phases
-       (alist-replace
-        'configure
-        (lambda* (#:key outputs #:allow-other-keys)
-          (let ((out (assoc-ref outputs "out")))
-            (system* "qmake"
-                     (string-append "PREFIX=" out))))
-        %standard-phases)))
-    (home-page "http://www.mapeditor.org/")
-    (synopsis "Tile map editor")
-    (description
-     "Tiled is a general purpose tile map editor.  It is meant to be used for
-editing maps of any tile-based game, be it an RPG, a platformer or a Breakout
-clone.")
-
-    ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
-    ;; under BSD-2.
-    (license license:gpl2+)))
-
 (define-public openal
   (package
     (name "openal")
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 405b4e744e..e2d4e618fa 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,6 +20,7 @@
 
 (define-module (gnu packages ghostscript)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages image)
@@ -164,6 +166,49 @@ output file formats and printers.")
    (license license:agpl3+)
    (home-page "http://www.gnu.org/software/ghostscript/")))
 
+(define-public ijs
+  (package
+   (name "ijs")
+   (version "9.14.0")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
+                                version ".tar.xz"))
+            (sha256 (base32
+                     "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))))
+   (build-system gnu-build-system)
+   (native-inputs
+    `(("libtool"    ,libtool)
+      ("automake"   ,automake)
+      ("autoconf"   ,autoconf)))
+   (arguments
+    `(#:phases
+      (alist-cons-after
+       'unpack 'autogen
+       (lambda _
+         ;; need to regenerate macros
+         (system* "autoreconf" "-if")
+         ;; do not run configure
+         (substitute* "autogen.sh"
+           (("^.*\\$srcdir/configure.*") ""))
+         (system* "bash" "autogen.sh")
+
+         ;; create configure script in ./ijs/
+         (chdir "ijs")
+         ;; do not run configure
+         (substitute* "autogen.sh"
+           (("^.*\\$srcdir/configure.*") "")
+           (("^ + && echo Now type.*$")  ""))
+         (zero? (system* "bash" "autogen.sh")))
+       %standard-phases)))
+   (synopsis "IJS driver framework for inkjet and other raster devices")
+   (description
+    "IJS is a protocol for transmission of raster page images.  This package
+provides the reference implementation of the raster printer driver
+architecture.")
+   (license license:expat)
+   (home-page "http://www.gnu.org/software/ghostscript/")))
+
 (define-public gs-fonts
   (package
    (name "gs-fonts")
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 39fc736b02..bbb57335a5 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
@@ -52,7 +52,8 @@
             intltool
             itstool
             libsigc++
-            glibmm))
+            glibmm
+            telepathy-glib))
 
 (define dbus
   (package
@@ -519,3 +520,38 @@ useful for C++.")
     (description
      "Python bindings for GLib, GObject, and GIO.")
     (license license:lgpl2.1+)))
+
+(define telepathy-glib
+  (package
+    (name "telepathy-glib")
+    (version "0.24.1")
+    (source
+     (origin
+      (method url-fetch)
+       (uri
+        (string-append
+         "http://telepathy.freedesktop.org/releases/telepathy-glib/"
+         "telepathy-glib-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("glib" ,glib "bin") ; uses glib-mkenums
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("libxslt" ,libxslt)))
+    (home-page "http://telepathy.freedesktop.org/wiki/")
+    (synopsis "GLib Real-time communications framework over D-Bus")
+    (description "Telepathy is a flexible, modular communications framework
+that enables real-time communication over D-Bus via pluggable protocol
+backends.  Telepathy is a communications service that can be accessed by
+many applications simultaneously.
+
+This package provides the library for GLib applications.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0f33880a21..535913bcf1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -1022,6 +1022,8 @@ widgets built in the loading process.")
     (license license:gpl2+))) ; This is correct.  GPL not LGPL
 
 (define-public libgnomeprint
+  ;; This library has been deprecated since 2006; see
+  ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
   (package
     (name "libgnomeprint")
     (version "2.8.2")
@@ -1045,11 +1047,14 @@ widgets built in the loading process.")
        ("pkg-config" ,pkg-config)))
     (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
     (synopsis "Printing framework for GNOME")
-    (description "Gnome-print is a high-quality printing framework for GNOME.")
+    (description
+     "GNOME-print was a printing framework for GNOME.  It has been deprecated
+since ca. 2006, when GTK+ itself incorporated printing support.")
     (license license:lgpl2.0+)))
 
 
 (define-public libgnomeprintui
+  ;; Deprecated; see libgnomeprint.
   (package
     (name "libgnomeprintui")
     (version "2.8.2")
@@ -1074,10 +1079,9 @@ widgets built in the loading process.")
        ("pkg-config" ,pkg-config)))
     (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
     (synopsis "Printing framework for GNOME")
-    (description  "Gnome-print is a high-quality printing framework for GNOME.")
+    (description (package-description libgnomeprint))
     (license license:lgpl2.0+)))
 
-
 (define-public libbonoboui
   (package
     (name "libbonoboui")
@@ -1442,3 +1446,31 @@ editors, IDEs, etc.")
 is to provide a backend to GSettings on platforms that don't already have
 configuration storage systems.")
     (license license:lgpl2.1)))
+
+(define-public json-glib
+  (package
+    (name "json-glib")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("glib" ,glib "bin") ; for glib-mkenums and glib-genmarshal
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib))) ; according to json-glib-1.0.pc
+    (home-page "https://wiki.gnome.org/Projects/JsonGlib")
+    (synopsis "Compiler for the GObject type system")
+    (description "JSON-GLib is a C library based on GLib providing
+serialization and deserialization support for the JavaScript Object Notation
+(JSON) format described by RFC 4627.  It provides parser and generator
+GObject classes and various wrappers for the complex data types employed by
+JSON, such as arrays and objects.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index f7063ead11..96b517b9a9 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -103,14 +103,14 @@ tool to extract metadata from a file and print the results.")
 (define-public libmicrohttpd
   (package
    (name "libmicrohttpd")
-   (version "0.9.38")
+   (version "0.9.39")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld"))))
+              "0wz3sw62z3wsqivrssh0xb3yn064ix5x5cc6prvdfrn3cmh7p4sg"))))
    (build-system gnu-build-system)
    (inputs
     `(("curl" ,curl)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 1ef8fe7e3a..9bc75b2329 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -107,7 +107,7 @@ generation.")
 (define-public libassuan
   (package
     (name "libassuan")
-    (version "2.1.3")
+    (version "2.2.0")
     (source
      (origin
       (method url-fetch)
@@ -115,7 +115,7 @@ generation.")
                           version ".tar.bz2"))
       (sha256
        (base32
-        "06hxyns8i73c6vrbrxyx6h38kwa7971h01qfc5cyna69afrp08gs"))))
+        "1ikf9whfi7rg71qa610ynyv12qrw20zkn7zxgvvr9dp41gbqxxbx"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f48815ae4d..6bd4e3665a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -39,6 +39,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages cups)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg))
@@ -413,7 +414,8 @@ application suites.")
       ("libxdamage" ,libxdamage)
       ("pango" ,pango)))
    (inputs
-    `(("libxml2" ,libxml2)))
+    `(("libxml2" ,libxml2)
+      ("cups" ,cups)))                            ;for printing support
    (native-inputs
     `(("perl" ,perl)
       ("glib" ,glib "bin")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c0c5ced0f3..f71201b553 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -34,7 +34,6 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages which)
-  #:use-module (gnu packages gtk)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -368,33 +367,4 @@ http:://json.org specification.  These are the main features:
 - Allows JSON pretty printing.")
     (license lgpl3+)))
 
-(define-public guile-charting
-  (package
-    (name "guile-charting")
-    (version "0.2.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://wingolog.org/pub/guile-charting/"
-                                  "guile-charting-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Use the standard location for modules.
-                  (substitute* "Makefile.in"
-                    (("godir = .*$")
-                     "godir = $(moddir)\n"))))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.0)))
-    (propagated-inputs `(("guile-cairo" ,guile-cairo)))
-    (home-page "http://wingolog.org/software/guile-charting/")
-    (synopsis "Create charts and graphs in Guile")
-    (description
-     "Guile-Charting is a Guile Scheme library to create bar charts and graphs
-using the Cairo drawing library.")
-    (license lgpl2.1+)))
-
 ;;; guile.scm ends here
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 52ed93e6a7..96acf0a573 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +31,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages rdf)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -60,26 +61,26 @@
 (define-public phonon
   (package
     (name "phonon")
-    (version "4.8.2")
+    (version "4.8.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://download.kde.org/stable/" name
-                                "/" version "/"
+                                "/" version "/src/"
                                 name "-" version ".tar.xz"))
              (sha256
               (base32
-               "0xnjz7bbw393q77n4s6y9frd7l2s90635w03w9a2jr85zr89fnfg"))))
+               "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551"))))
     (build-system cmake-build-system)
-    ;; FIXME: Add interpreter ruby once available.
-    ;; Add optional input libqtzeitgeist.
-    (inputs
+    ;; FIXME: Add optional input libqzeitgeist once available.
+    (native-inputs
      `(("automoc4" ,automoc4)
-       ("glib" ,glib)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
        ("libx11" ,libx11)
-       ("pulseaudio" ,pulseaudio)
-       ("qt" ,qt-4)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
+       ("pulseaudio" ,pulseaudio)))
+    (propagated-inputs
+     `(("qt" ,qt-4))) ; according to phonon.pc
     (arguments
      `(#:tests? #f)) ; no test target
     (home-page "http://phonon.kde.org/")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d48a8e9633..50e90f0da3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages ncurses)
@@ -36,6 +37,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages slang)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -50,6 +52,8 @@
   #:use-module (gnu packages rrdtool)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages asciidoc)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -378,41 +382,43 @@ providing the system administrator with some help in common tasks.")
 (define-public util-linux
   (package
     (name "util-linux")
-    (version "2.21")
+    (version "2.25.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/utils/"
-                                  name "/v" version "/"
-                                  name "-" version ".2" ".tar.xz"))
+                                  name "/v" (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))
-              (patches (list (search-patch "util-linux-perl.patch")))
+                "1miwwdq1zwvhf0smrxx3fjddq3mz22s8rc5cw54s7x3kbdqpyig0"))
+              (patches (list (search-patch "util-linux-tests.patch")))
               (modules '((guix build utils)))
               (snippet
-               ;; We take the 'logger' program from GNU Inetutils, so remove
-               ;; it from here.
-               '(substitute* "misc-utils/Makefile.in"
-                  (("PROGRAMS =(.*) logger(.*)" _ before after)
-                   (string-append "PROGRAMS =" before " " after))
-                  (("MANS =(.*) logger\\.1(.*)" _ before after)
-                   (string-append "MANS =" before " " after))))))
+               ;; We take the 'logger' program from GNU Inetutils and 'kill'
+               ;; from GNU Coreutils.
+               '(substitute* "configure"
+                  (("build_logger=yes") "build_logger=no")
+                  (("build_kill=yes") "build_kill=no")))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--disable-use-tty-group"
                            "--enable-ddate")
-       #:phases (alist-cons-after
-                 'install 'patch-chkdupexe
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((out (assoc-ref outputs "out")))
-                     (substitute* (string-append out "/bin/chkdupexe")
-                       ;; Allow 'patch-shebang' to do its work.
-                       (("@PERL@") "/bin/perl"))))
+       #:phases (alist-cons-before
+                 'check 'pre-check
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out"))
+                         (net (assoc-ref inputs "net-base")))
+                     ;; Change the test to refer to the right file.
+                     (substitute* "tests/ts/misc/mcookie"
+                       (("/etc/services")
+                        (string-append net "/etc/services")))
+                     #t))
                  %standard-phases)))
     (inputs `(("zlib" ,guix:zlib)
               ("ncurses" ,ncurses)))
     (native-inputs
-     `(("perl" ,perl)))
+     `(("perl" ,perl)
+       ("net-base" ,net-base)))                   ;for tests
     (home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
     (synopsis "Collection of utilities for the Linux kernel")
     (description
@@ -505,14 +511,14 @@ slabtop, and skill.")
 (define-public e2fsprogs
   (package
     (name "e2fsprogs")
-    (version "1.42.7")
+    (version "1.42.11")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/e2fsprogs/e2fsprogs-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw"))
+               "0xhbj7494g3y2w2miyrzdz6nciaffxajrs6wqm73yp4jnrqagn2b"))
              (modules '((guix build utils)))
              (snippet
               '(substitute* "MCONFIG.in"
@@ -523,10 +529,12 @@ slabtop, and skill.")
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("texinfo" ,texinfo)))     ;for the libext2fs Info manual
     (arguments
-     '(;; The 'blkid' command and library are already provided by util-linux,
-       ;; which is the preferred source for them (see, e.g.,
+     '(;; util-linux is not the preferred source for some of the libraries and
+       ;; commands, so disable them (see, e.g.,
        ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.)
-       #:configure-flags '("--disable-blkid"
+       #:configure-flags '("--disable-libblkid"
+                           "--disable-libuuid" "--disable-uuidd"
+                           "--disable-fsck"
 
                            ;; Install libext2fs et al.
                            "--enable-elf-shlibs")
@@ -1718,7 +1726,11 @@ in a digital read-out.")
                  %standard-phases)
        #:make-flags (list (string-append "DESTDIR="
                                          (assoc-ref %outputs "out"))
-                          "WERROR=0")
+                          "WERROR=0"
+
+                          ;; By default, 'config/Makefile' uses lib64 on
+                          ;; x86_64.  Work around that.
+                          "lib=lib")
        #:tests? #f))                              ;no tests
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -1729,17 +1741,18 @@ in a digital read-out.")
        ("perl" ,perl)
        ("python" ,python-2)))
     (inputs
-     `(;; ("slang" ,slang)
+     `(("slang" ,slang)                        ;for the interactive TUI
        ;; ("newt" ,newt)
+       ("python" ,python-2)                    ;'perf' links against libpython
        ("elfutils" ,elfutils)
 
-       ;; FIXME: Documentation.
-       ;; ("libxslt" ,libxslt)
-       ;; ("docbook-xml" ,docbook-xml)
-       ;; ("docbook-xsl" ,docbook-xsl)
-       ;; ("xmlto" ,xmlto)
-       ;; ("asciidoc" ,asciidoc)
-       ))
+       ;; Documentation.
+       ("libxml2" ,libxml2)                       ;for $XML_CATALOG_FILES
+       ("libxslt" ,libxslt)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("xmlto" ,xmlto)
+       ("asciidoc" ,asciidoc)))
     (home-page "https://perf.wiki.kernel.org/")
     (synopsis "Linux profiling with performance counters")
     (description
diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index 0fdcf4ceae..e72cf32e3f 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,26 +26,30 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
+  #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:select (gpl2))
   #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix svn-download))
 
 (define-public netpbm
   (package
    (name "netpbm")
    (version "10.61.01")
    (source (origin
-            (method url-fetch)
-            ;; The "super-stable" and "stable" versions do not compile
-            ;; with newer libpng; we need the "advanced" version. The tarball
-            ;; on the server is generated by sourceforge from the "advanced"
-            ;; branch of the subversion repository:
-            ;; svn checkout http://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm-version
-            (uri (string-append "http://www.multiprecision.org/guix/netpbm-"
-                                version ".tar.xz"))
-            (sha256 (base32
-                     "10nwvxc85kr6vhlhhahagy7s9848bbixl54b0p4ppim4g0dl10jz"))))
+            (method svn-fetch)
+            ;; At the time of first packaging, the "super-stable" and
+            ;; "stable" versions did not compile with newer libpng;
+            ;; we needed the "advanced" version.
+            ;; The currently highest stable version is 10.47.53,
+            ;; the currently highest advanced version is 10.69.4,
+            ;; svn release 2397.
+            ;; To determine the correct release: "svn log version.mk".
+            (uri (svn-reference
+                   (url "http://svn.code.sf.net/p/netpbm/code/advanced")
+                   (revision 1832)))
+            (sha256
+              (base32
+                "1mj1pqq18yj0yb6l24zfjls7axhqmiv0pvcaabl5xvc4a0dm543j"))))
    (build-system gnu-build-system)
    (inputs `(("ghostscript" ,ghostscript)
              ("libjpeg" ,libjpeg)
@@ -64,6 +68,7 @@
        'configure
        (lambda _
         (copy-file "config.mk.in" "config.mk")
+        (chmod "config.mk" #o664)
         (let ((f (open-file "config.mk" "a")))
          (display "CC=gcc\n" f)
          (display "CFLAGS_SHLIB += -fPIC\n" f)
diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
index 8fd736d180..128715f6ac 100644
--- a/gnu/packages/nvi.scm
+++ b/gnu/packages/nvi.scm
@@ -37,7 +37,9 @@
                          ".tar.bz2"))
         (sha256
           (base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l"))
-        (patches (list (search-patch "nvi-assume-preserve-path.patch")))
+        (patches (list (search-patch "nvi-assume-preserve-path.patch")
+                       (search-patch "nvi-dbpagesize-binpower.patch")
+                       (search-patch "nvi-db4.patch")))
         (snippet
           ;; Create a wrapper for the configure script, make it executable.
           '(let ((conf-wrap (open-output-file "configure")))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 62c6b488a6..c0df5be1a9 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -151,6 +151,7 @@ the Nix package manager.")
          ,@(package-native-inputs guix-0.8)))
       (propagated-inputs
        `(("guile-json" ,guile-json)
+         ("geiser" ,geiser)                       ;for guix.el
          ,@(package-propagated-inputs guix-0.8))))))
 
 (define-public guix guix-devel)
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 6524110f2a..9072adae3c 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -27,7 +27,7 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20141122")
+    (version "20150122")
     (source
      (origin
       (method url-fetch)
@@ -35,7 +35,7 @@
                           version ".tar.bz2"))
       (sha256
        (base32
-        "1kpd4ayd4lb867nfnpkam4b3mh86jl6cdy386x1rich938gbrg38"))))
+        "14g9pka59vln19rg6y8lyvrsc4nb3jk8y26hv3hdrf44rgwpds7d"))))
     (build-system gnu-build-system)
     (inputs `(("perl" ,perl)))
     (home-page "http://www.gnu.org/software/parallel/")
diff --git a/gnu/packages/patches/nvi-db4.patch b/gnu/packages/patches/nvi-db4.patch
new file mode 100644
index 0000000000..03b736cd08
--- /dev/null
+++ b/gnu/packages/patches/nvi-db4.patch
@@ -0,0 +1,35 @@
+This patch originates from the Debian project, see https://www.debian.org/
+
+03db4.dpatch  by  <hesso@pool.math.tu-berlin.de>
+
+
+libdb4 compatibility adjustments.
+
+In particular, this patch adds extra file permission checking and passes the
+DB_CREATE flag to the first invocation of db_open on the file's database
+structure, which rids us of the following message:
+
+  BDB0635 DB_CREATE must be specified to create databases.
+
+--- nvi-1.81.6.orig/common/msg.c	2009-02-26 14:26:58.350336128 +0100
++++ nvi-1.81.6/common/msg.c	2009-02-26 14:29:05.235335829 +0100
+@@ -724,9 +724,18 @@
+ 		p = buf;
+ 	} else
+ 		p = file;
++	if (access(p, F_OK) != 0) {
++		if (first) {
++			first = 0;
++			return (1);
++		}
++		sp->db_error = ENOENT;
++		msgq_str(sp, M_DBERR, p, "%s");
++		return (1);
++	}
+ 	if ((sp->db_error = db_create(&db, 0, 0)) != 0 ||
+ 	    (sp->db_error = db->set_re_source(db, p)) != 0 ||
+-	    (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) {
++	    (sp->db_error = db_open(db, NULL, DB_RECNO, DB_CREATE, 0)) != 0) {
+ 		if (first) {
+ 			first = 0;
+ 			return (1);
diff --git a/gnu/packages/patches/nvi-dbpagesize-binpower.patch b/gnu/packages/patches/nvi-dbpagesize-binpower.patch
new file mode 100644
index 0000000000..7dde693351
--- /dev/null
+++ b/gnu/packages/patches/nvi-dbpagesize-binpower.patch
@@ -0,0 +1,35 @@
+This patch originates from the Debian project, see https://www.debian.org/
+
+18dbpagesize_binpower.dpatch by  <hesso@pool.math.tu-berlin.de>
+
+
+Make sure that the pagesize passed to db__set_pagesize() is a power of two.
+
+nvi stores the content of files in BDB database structures. When initiating a
+file, it picks a page size for the database to fit the file within 15 pages,
+with a minimal page size of 1K and maximal of 10K.
+
+In vanilla nvi, this size is calculated as a multiple of 1024. Modern versions
+of BDB, however, require the page size of a database to be a power of two, which
+this patch addresses, ridding us of the following message:
+
+  BDB0511 page sizes must be a power-of-2
+
+--- nvi-1.81.6.orig/common/exf.c	2009-03-09 01:48:01.695862889 +0100
++++ nvi-1.81.6/common/exf.c	2009-03-09 10:42:41.147866272 +0100
+@@ -249,11 +249,10 @@
+ 		 * (vi should have good locality) or smaller than 1K.
+ 		 */
+ 		psize = ((sb.st_size / 15) + 1023) / 1024;
+-		if (psize > 10)
+-			psize = 10;
+-		if (psize == 0)
+-			psize = 1;
+-		psize *= 1024;
++		if (psize >= 8) psize=8<<10;
++		else if (psize >= 4) psize=4<<10;
++		else if (psize >= 2) psize=2<<10;
++		else psize=1<<10;
+ 
+ 		F_SET(ep, F_DEVSET);
+ 		ep->mdev = sb.st_dev;
diff --git a/gnu/packages/patches/pyqt-configure.patch b/gnu/packages/patches/pyqt-configure.patch
new file mode 100644
index 0000000000..b922f108d8
--- /dev/null
+++ b/gnu/packages/patches/pyqt-configure.patch
@@ -0,0 +1,15 @@
+Have configure.py modify internal variables depending on the --qml-plugindir
+configure option.
+diff -u PyQt-gpl-5.4.alt/configure.py PyQt-gpl-5.4/configure.py
+--- PyQt-gpl-5.4.alt/configure.py	2015-01-25 17:27:50.000000000 +0100
++++ PyQt-gpl-5.4/configure.py	2015-01-25 17:56:41.000000000 +0100
+@@ -904,6 +904,9 @@
+         if opts.pyuicinterpreter is not None:
+             self.pyuic_interpreter = opts.pyuicinterpreter
+ 
++        if opts.qmlplugindir is not None:
++            self.qml_plugin_dir = opts.qmlplugindir
++
+         if opts.qsciapidir is not None:
+             self.qsci_api_dir = opts.qsciapidir
+ 
diff --git a/gnu/packages/patches/util-linux-perl.patch b/gnu/packages/patches/util-linux-perl.patch
deleted file mode 100644
index c657a1b5ae..0000000000
--- a/gnu/packages/patches/util-linux-perl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Use this common trick that exploits similarities between sh and Perl syntax
-to avoid a hard dependency on Perl.  Instead, this script will work only
-when 'perl' is available in $PATH.
-
---- util-linux-2.21.2/misc-utils/chkdupexe.pl	2012-05-15 13:51:45.000000000 +0200
-+++ util-linux-2.21.2/misc-utils/chkdupexe.pl	2014-06-01 22:46:06.000000000 +0200
-@@ -1,5 +1,6 @@
--#!@PERL@ -w
--#
-+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
-+  & eval 'exec perl -wS "$0" $argv:q'
-+    if 0;
- # chkdupexe version 2.1.1
- #
- # Simple script to look for and list duplicate executables and dangling
diff --git a/gnu/packages/patches/util-linux-tests.patch b/gnu/packages/patches/util-linux-tests.patch
new file mode 100644
index 0000000000..2ad025f66a
--- /dev/null
+++ b/gnu/packages/patches/util-linux-tests.patch
@@ -0,0 +1,30 @@
+This test checks whether 'root' is successfully translated to UID/GID 0,
+using 'getpwnam' in libmount.  This doesn't work in the chroot because
+/etc/passwd doesn't contain an entry for 'root' so skip it.
+
+
+--- util-linux-2.25.2/tests/ts/libmount/optstr	2015-01-23 13:58:41.181151194 +0100
++++ util-linux-2.25.2/tests/ts/libmount/optstr	2015-01-23 13:58:42.829161716 +0100
+@@ -84,10 +84,6 @@ ts_init_subtest "apply-user"	# add user,
+ ts_valgrind $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> $TS_OUTPUT
+ ts_finalize_subtest
+ 
+-ts_init_subtest "fix"
+-ts_valgrind $TESTPROG --fix "uid=root,gid=root" &> $TS_OUTPUT
+-ts_finalize_subtest
+-
+ ts_init_subtest "deduplicate"
+ ts_valgrind $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> $TS_OUTPUT
+ ts_finalize_subtest
+
+
+The expected output for this test seems to lack a carriage return.
+
+--- util-linux-2.25.2/tests/expected/more/regexp	2015-01-23 14:02:21.098557632 +0100
++++ util-linux-2.25.2/tests/expected/more/regexp	2015-01-23 14:02:23.598573648 +0100
+@@ -1,4 +1,4 @@
+ 
+ ...skipping
+-foo
++
foo
+ xyzzy
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 41df88088e..da40e28334 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -23,6 +23,9 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages))
 
 (define-public plotutils
@@ -62,3 +65,32 @@ graphics in many file formats.  It also has support for 2D vector graphics
 animations.  The package also contains command-line programs for plotting
 scientific data.")
     (license gpl2+)))
+
+(define-public guile-charting
+  (package
+    (name "guile-charting")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://wingolog.org/pub/guile-charting/"
+                                  "guile-charting-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Use the standard location for modules.
+                  (substitute* "Makefile.in"
+                    (("godir = .*$")
+                     "godir = $(moddir)\n"))))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("guile" ,guile-2.0)))
+    (propagated-inputs `(("guile-cairo" ,guile-cairo)))
+    (home-page "http://wingolog.org/software/guile-charting/")
+    (synopsis "Create charts and graphs in Guile")
+    (description
+     "Guile-Charting is a Guile Scheme library to create bar charts and graphs
+using the Cairo drawing library.")
+    (license lgpl2.1+)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2f518d940d..4b306952c1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -2064,7 +2064,7 @@ capabilities.")
 (define-public python-pyparsing
   (package
     (name "python-pyparsing")
-    (version "2.0.2")
+    (version "2.0.3")
     (source
      (origin
        (method url-fetch)
@@ -2072,7 +2072,7 @@ capabilities.")
                            "/pyparsing-" version ".tar.gz"))
        (sha256
         (base32
-         "01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p"))))
+         "0kw4py7gn45j93q8r7bzajfrjdc3xlsn2yzln41lf9zmrghjkrq6"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -2788,3 +2788,63 @@ computing.")
          ,@(alist-delete "python-numpydoc"
                          (alist-delete "python-matplotlib"
                                        (package-inputs ipython))))))))
+
+(define-public python-isodate
+  (package
+    (name "python-isodate")
+    (version "0.5.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "https://pypi.python.org/packages/source/i/isodate/isodate-"
+              version
+              ".tar.gz"))
+        (sha256
+          (base32
+            "1yqjn0is0p64cmk9xhq4hc6q06jk86d60kg2jws58d78q0qysami"))))
+    (build-system python-build-system)
+    (inputs
+      `(("python-setuptools" ,python-setuptools)))
+    (home-page
+      "http://cheeseshop.python.org/pypi/isodate")
+    (synopsis
+      "Python date parser and formatter")
+    (description
+      "Python-isodate is a python module for parsing and formatting
+ISO 8601 dates, time and duration.")
+    (license bsd-3)))
+
+(define-public python2-isodate
+  (package-with-python2 python-isodate))
+
+(define-public python-html5lib
+  (package
+    (name "python-html5lib")
+    (version "1.0b3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "https://pypi.python.org/packages/source/h/html5lib/html5lib-"
+              version
+              ".tar.gz"))
+        (sha256
+          (base32
+            "1l5i6xzckzx4hnh9qzv9q3kyhkgjx2hsi2k9srgci3qizjmvp6ln"))))
+    (build-system python-build-system)
+    (inputs
+      `(("python-setuptools" ,python-setuptools)))
+    (arguments
+     `(#:test-target "check"))
+    (home-page
+      "https://github.com/html5lib/html5lib-python")
+    (synopsis
+      "Python HTML parser based on the WHATWG HTML specifcation")
+    (description
+      "Html5lib is an HTML parser based on the WHATWG HTML specifcation
+and written in Python.")
+    (license expat)))
+
+(define-public python2-html5lib
+  (package-with-python2 python-html5lib))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 0d6bbc8fc6..cb7e367c5a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -18,11 +18,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages qt)
-  #:use-module ((guix licenses) #:select (lgpl2.1 x11-style))
+  #:use-module ((guix licenses) #:select (gpl3 lgpl2.1 x11-style))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
@@ -272,3 +274,127 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                       "-no-avx"
                       "-no-neon"))))
           %standard-phases)))))
+
+(define-public python-sip
+  (package
+    (name "python-sip")
+    (version "4.16.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "mirror://sourceforge/pyqt/sip/"
+                         "sip-" version "/sip-"
+                         version ".tar.gz"))
+        (sha256
+         (base32
+          "11qy1z88py2q7rz68rm7214pbd37538hpcbfj5hhzp5y616a62x0"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python" ,python-wrapper)))
+    (arguments
+     `(#:tests? #f ; no check target
+       #:phases
+         (alist-replace
+          'configure
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (bin (string-append out "/bin"))
+                   (include (string-append out "/include"))
+                   (python-version
+                     (string-take
+                       (string-take-right (assoc-ref inputs "python") 5)
+                       3))
+                   (lib (string-append out "/lib/python"
+                                       python-version
+                                       "/site-packages")))
+              (zero?
+                (system* "python" "configure.py"
+                         "--bindir" bin
+                          "--destdir" lib
+                         "--incdir" include))))
+          %standard-phases)))
+    (home-page "http://www.riverbankcomputing.com/software/sip/intro")
+    (synopsis "Python binding creator for C and C++ libraries")
+    (description
+     "SIP is a tool to create Python bindings for C and C++ libraries.  It
+was originally developed to create PyQt, the Python bindings for the Qt
+toolkit, but can be used to create bindings for any C or C++ library.
+
+SIP comprises a code generator and a Python module.  The code generator
+processes a set of specification files and generates C or C++ code, which
+is then compiled to create the bindings extension module.  The SIP Python
+module provides support functions to the automatically generated code.")
+    ;; There is a choice between a python like license, gpl2 and gpl3.
+    ;; For compatibility with pyqt, we need gpl3.
+    (license gpl3)))
+
+(define-public python2-sip
+  (package (inherit python-sip)
+    (name "python2-sip")
+    (native-inputs
+     `(("python" ,python-2)))))
+
+(define-public python-pyqt
+  (package
+    (name "python-pyqt")
+    (version "5.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "mirror://sourceforge/pyqt/PyQt5/"
+                         "PyQt-" version "/PyQt-gpl-"
+                         version ".tar.gz"))
+        (sha256
+         (base32
+          "0cbpa63whi8a5akff4pcnfwzpzx7ycac2ynj00ly52m6zbsn80kn"))
+       (patches (list (search-patch "pyqt-configure.patch")))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python-sip" ,python-sip)
+       ("qt" ,qt))) ; for qmake
+    (inputs
+     `(("python" ,python-wrapper)))
+    (arguments
+     `(#:phases
+         (alist-replace
+         'configure
+         (lambda* (#:key inputs outputs #:allow-other-keys)
+           (let* ((out (assoc-ref outputs "out"))
+                  (bin (string-append out "/bin"))
+                  (sip (string-append out "/share/sip"))
+                  (plugins (string-append out "/plugins"))
+                  (designer (string-append plugins "/designer"))
+                  (qml (string-append plugins "/PyQt5"))
+                  (python-version
+                    (string-take
+                      (string-take-right (assoc-ref inputs "python") 5)
+                      3))
+                  (lib (string-append out "/lib/python"
+                                      python-version
+                                      "/site-packages")))
+             (zero? (system* "python" "configure.py"
+                             "--confirm-license"
+                             "--bindir" bin
+                             "--destdir" lib
+                             "--designer-plugindir" designer
+                             "--qml-plugindir" qml
+                             "--sipdir" sip))))
+         %standard-phases)))
+    (home-page "http://www.riverbankcomputing.com/software/pyqt/intro")
+    (synopsis "Python bindings for Qt")
+    (description
+     "PyQt is a set of Python v2 and v3 bindings for the Qt application
+framework.  The bindings are implemented as a set of Python modules and
+contain over 620 classes.")
+    (license gpl3)))
+
+(define-public python2-pyqt
+  (package (inherit python-pyqt)
+    (name "python2-pyqt")
+    (native-inputs
+     `(("python-sip" ,python2-sip)
+       ("qt" ,qt)))
+    (inputs
+     `(("python" ,python-2)))))
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 10e67428c7..1acbd38ded 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -17,11 +17,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages rdf)
-  #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1 lgpl2.1+))
+  #:use-module ((guix licenses)
+                #:select (bsd-style lgpl2.0+ lgpl2.1 lgpl2.1+))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages boost)
@@ -34,6 +36,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages xml))
 
@@ -198,3 +201,32 @@ provides a highly usable object-oriented C++/Qt4 framework for RDF data.  It
 uses different RDF storage solutions as backends through a simple plugin
 system.")
     (license lgpl2.0+)))
+
+(define-public python-rdflib
+  (package
+    (name "python-rdflib")
+    (version "4.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "https://pypi.python.org/packages/source/r/rdflib/rdflib-"
+              version
+              ".tar.gz"))
+        (sha256
+          (base32
+            "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
+    (build-system python-build-system)
+    (inputs
+      `(("python-htm5lib" ,python-html5lib)
+        ("python-isodate" ,python-isodate)
+        ("python-pyparsing" ,python-pyparsing)
+        ("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/RDFLib/rdflib")
+    (synopsis
+      "Python RDF library")
+    (description
+      "RDFLib is a Python library for working with RDF, a simple yet
+powerful language for representing information.")
+    (license (bsd-style "file://LICENSE"
+                        "See LICENSE in the distribution."))))
diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm
new file mode 100644
index 0000000000..8c35c8b43e
--- /dev/null
+++ b/gnu/packages/slang.scm
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages slang)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages pcre))
+
+(define-public slang
+  (package
+    (name "slang")
+    (version "2.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://www.jedsoft.org/releases/slang/slang-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (substitute* "src/Makefile.in"
+                    (("/bin/ln") "ln"))
+                  (substitute* "configure"
+                    (("-ltermcap") ""))))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:parallel-tests? #f))
+    (inputs
+     `(("readline" ,readline)
+       ("zlib" ,zlib)
+       ("libpng" ,libpng)
+       ("pcre" ,pcre)
+       ("ncurses" ,ncurses)))
+    (home-page "http://www.jedsoft.org/slang/")
+    (synopsis "Library for interactive applications and extensibility")
+    (description
+     "S-Lang is a multi-platform programmer's library designed to allow a
+developer to create robust multi-platform software. It provides facilities
+required by interactive applications such as display/screen management,
+keyboard input, keymaps, and so on. The most exciting feature of the library
+is the slang interpreter that may be easily embedded into a program to make it
+extensible. While the emphasis has always been on the embedded nature of the
+interpreter, it may also be used in a stand-alone fashion through the use of
+slsh, which is part of the S-Lang distribution.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 59ca166416..9fc310d55d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -538,14 +538,14 @@ projects, from individuals to large-scale enterprise operations.")
 (define-public rcs
   (package
     (name "rcs")
-    (version "5.9.3")
+    (version "5.9.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/rcs/rcs-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0isvzwfvqkg7zcsznra6wqh650z49ib113n7gp6ncxv5p30x3c38"))))
+               "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86"))))
     (build-system gnu-build-system)
     (native-inputs `(("ed" ,ed)))
     (home-page "http://www.gnu.org/software/rcs/")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 110d0995bb..9cdfbf11da 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -396,7 +396,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2014.12.15")
+    (version "2015.01.23.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://youtube-dl.org/downloads/"
@@ -404,7 +404,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "09z7v6jxs4a36kyy681mcypcqsxipplnbdy9s3rva1rpp5f74h2z"))))
+                "0pvvab9dk1righ3fa79000iz8fzdlcxakscx5sd31730c37j3kj2"))))
     (build-system python-build-system)
     (inputs `(("setuptools" ,python-setuptools)))
     (home-page "http://youtube-dl.org")
@@ -413,3 +413,58 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
      "youtube-dl is a small command-line program to download videos from
 YouTube.com and a few more sites.")
     (license public-domain)))
+
+(define-public libdvdread
+  (package
+    (name "libdvdread")
+    (version "5.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.videolan.org/videolan/"
+                                  name "/" version "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "052z62l3x8ka5jpf5bi1mzp5p323n1z9rxj74nq5c35a88x1myv6"))))
+    (build-system gnu-build-system)
+    (home-page "http://dvdnav.mplayerhq.hu/")
+    (synopsis "Library for reading video DVDs")
+    (description
+     "Libdvdread provides a simple foundation for reading DVD video
+disks.  It provides the functionality that is required to access many
+DVDs.  It parses IFO files, reads NAV-blocks, and performs CSS
+authentication and descrambling (if an external libdvdcss library is
+installed).")
+    (license gpl2+)))
+
+(define-public libdvdnav
+  (package
+    (name "libdvdnav")
+    (version "5.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.videolan.org/videolan/"
+                                  name "/" version "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1ad2lkkiydgwiyqfysra9lkwjv9yqnvcg4hv92hx8qzics1cpcbj"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libdvdread" ,libdvdread)))
+    (home-page "http://dvdnav.mplayerhq.hu/")
+    (synopsis "Library for video DVD navigation features")
+    (description
+     "Libdvdnav is a library for developers of multimedia
+applications.  It allows easy use of sophisticated DVD navigation features
+such as DVD menus, multiangle playback and even interactive DVD games.  All
+this functionality is provided through a simple API which provides the DVD
+playback as a single logical stream of blocks, intermitted by special
+dvdnav events to report certain conditions.  The main usage of libdvdnav is
+a loop regularly calling a function to get the next block, surrounded by
+additional calls to tell the library of user interaction.  The whole
+DVD virtual machine and internal playback states are completely
+encapsulated.")
+    (license gpl2+)))
diff --git a/gnu/packages/xnee.scm b/gnu/packages/xnee.scm
index 795f355d09..4e9135dd5b 100644
--- a/gnu/packages/xnee.scm
+++ b/gnu/packages/xnee.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,30 +22,32 @@
   #:use-module (guix licenses)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xorg))
 
 (define-public xnee
   (package
     (name "xnee")
-    (version "3.18")
+    (version "3.19")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/xnee/xnee-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0j6b27ry0w765040089ppwwdl313xfgn31yh3fpqy4gk0jv23m94"))))
+               "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j"))))
     (build-system gnu-build-system)
     (inputs
-     `(("recordproto" ,recordproto)
+     `(("gtk+", gtk+-2)
        ("inputproto" ,inputproto)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)
+       ("recordproto" ,recordproto)
        ("xextproto" ,xextproto)
-       ("libxext" ,libxext)
-       ("xproto" ,xproto)
-       ("libx11" ,libx11)))
+       ("xproto" ,xproto)))
     (native-inputs
       `(("pkg-config" ,pkg-config)))
     (home-page "http://www.gnu.org/software/xnee/")