summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-09-11 18:26:28 -0400
committerMark H Weaver <mhw@netris.org>2014-09-11 18:26:28 -0400
commit66ea98e321e93b0806f6870d77dd4c00e7e720c0 (patch)
tree21778401485e3b8683bbc6a31769233c059683b1 /gnu/packages
parentda5538ef44bfa74d3e435f9f557374eabba5dc1e (diff)
parent5dae0186dea1e72e73bf223161620cfeddef5a63 (diff)
downloadguix-66ea98e321e93b0806f6870d77dd4c00e7e720c0.tar.gz
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/image.scm
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/abiword.scm107
-rw-r--r--gnu/packages/admin.scm72
-rw-r--r--gnu/packages/apl.scm2
-rw-r--r--gnu/packages/bdb.scm68
-rw-r--r--gnu/packages/compression.scm6
-rw-r--r--gnu/packages/databases.scm283
-rw-r--r--gnu/packages/dc.scm2
-rw-r--r--gnu/packages/enchant.scm61
-rw-r--r--gnu/packages/freeipmi.scm4
-rw-r--r--gnu/packages/fribidi.scm45
-rw-r--r--gnu/packages/games.scm2
-rw-r--r--gnu/packages/global.scm4
-rw-r--r--gnu/packages/gnunet.scm2
-rw-r--r--gnu/packages/image.scm36
-rw-r--r--gnu/packages/linux.scm13
-rw-r--r--gnu/packages/lua.scm3
-rw-r--r--gnu/packages/mail.scm3
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/mpd.scm2
-rw-r--r--gnu/packages/mysql.scm87
-rw-r--r--gnu/packages/nvi.scm2
-rw-r--r--gnu/packages/openldap.scm4
-rw-r--r--gnu/packages/ots.scm68
-rw-r--r--gnu/packages/package-management.scm2
-rw-r--r--gnu/packages/patches/abiword-explictly-cast-bools.patch93
-rw-r--r--gnu/packages/patches/abiword-link-plugins-against-backend.patch639
-rw-r--r--gnu/packages/patches/abiword-no-include-glib-internal-headers.patch13
-rw-r--r--gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch608
-rw-r--r--gnu/packages/patches/abiword-use-proper-png-api.patch175
-rw-r--r--gnu/packages/patches/abiword-wmf-version-lookup-fix.patch28
-rw-r--r--gnu/packages/patches/lua51-liblua-so.patch65
-rw-r--r--gnu/packages/patches/ots-no-include-missing-file.patch14
-rw-r--r--gnu/packages/postgresql.scm52
-rw-r--r--gnu/packages/python.scm2
-rw-r--r--gnu/packages/qt.scm2
-rw-r--r--gnu/packages/rdf.scm2
-rw-r--r--gnu/packages/recutils.scm66
-rw-r--r--gnu/packages/sqlite.scm63
-rw-r--r--gnu/packages/version-control.scm2
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/weechat.scm101
-rw-r--r--gnu/packages/wv.scm65
-rw-r--r--gnu/packages/zsh.scm73
43 files changed, 2580 insertions, 369 deletions
diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm
new file mode 100644
index 0000000000..82a289e712
--- /dev/null
+++ b/gnu/packages/abiword.scm
@@ -0,0 +1,107 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;;
+;;; 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 abiword)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages enchant)
+  #:use-module (gnu packages fribidi)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages ots)
+  #:use-module (gnu packages popt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages wv)
+  #:use-module (gnu packages xml))
+
+(define-public abiword
+  (package
+    (name "abiword")
+    (version "2.8.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "http://abisource.org/downloads/" name "/" version
+                         "/source/" name "-" version ".tar.gz"))
+        (sha256
+          (base32 "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r"))
+        (patches
+          (list
+            (search-patch "abiword-wmf-version-lookup-fix.patch")
+            (search-patch "abiword-no-include-glib-internal-headers.patch")
+            (search-patch "abiword-explictly-cast-bools.patch")
+            (search-patch "abiword-use-proper-png-api.patch")
+            (search-patch "abiword-pass-no-undefined-to-linker.patch")
+            (search-patch "abiword-link-plugins-against-backend.patch")))))
+
+    (build-system gnu-build-system)
+    (arguments                   ;; NOTE: rsvg is disabled, since Abiword
+      `(#:configure-flags        ;; supports it directly, and its BS is broken.
+        (list
+          "--enable-clipart"     ;; TODO: The following plugins have unresolved
+          "--enable-templates"   ;; dependencies: aiksaurus, grammar, wpg, gda,
+          (string-append         ;; wordperfect, psion, mathview, goffice.
+            "--enable-plugins="
+              "applix " "babelfish " "bmp " "clarisworks " "collab " "command "
+              "docbook " "eml " "freetranslation " "garble " "gdict " "gimp "
+              "google " "hancom " "hrtext " "iscii " "kword " "latex "
+              "loadbindings " "mht " "mif " "mswrite " "opendocument "
+              "openwriter " "openxml " "opml " "ots " "paint " "passepartout "
+              "pdb " "pdf " "presentation " "s5 " "sdw " "t602 " "urldict "
+              "wikipedia " "wmf " "wml " "xslfo"))))
+    (inputs
+      `(("boost" ,boost)
+        ("enchant" ,enchant)
+        ("fontconfig" ,fontconfig)
+        ("fribidi" ,fribidi)
+        ("glib" ,glib)
+        ("gtk+" ,gtk+-2)
+        ("libglade" ,libglade)
+        ("libgsf" ,libgsf)
+        ("libjpeg" ,libjpeg)
+        ("libpng" ,libpng)
+        ("librsvg" ,librsvg)
+        ("libwmf" ,libwmf)
+        ("libxml2" ,libxml2)
+        ("ots" ,ots)
+        ("popt" ,popt)
+        ("readline" ,readline)
+        ("wv" ,wv)
+        ("zlib" ,zlib)))
+    (native-inputs
+      `(("intltool" ,intltool)
+        ("glib:bin" ,glib "bin")
+        ("pkg-config" ,pkg-config)))
+    (home-page "http://abisource.org/")
+    (synopsis "Word processing program")
+    (description
+      "AbiWord is a word processing program.  It is rapidly becoming a state
+of the art word processor, with lots of features useful for your daily work,
+personal needs, or for just some good old typing fun.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 4d60c17989..a255ff1b74 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -36,10 +36,8 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages tcl)
-  #:use-module ((gnu packages base)
-                #:select (tar))
   #:use-module ((gnu packages compression)
-                #:select (gzip))
+                #:renamer (symbol-prefix-proc 'c:))
   #:use-module ((gnu packages openssl)
                 #:renamer (symbol-prefix-proc 'o:))
   #:use-module (gnu packages bison)
@@ -52,6 +50,7 @@
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages libftdi)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages xorg))
 
 (define-public dmd
@@ -309,7 +308,7 @@ allow automatic login and starting any app.")
                                     '("services" "protocols" "rpc")))
                      #t))))
     (native-inputs `(("tar" ,tar)
-                     ("gzip" ,gzip)))
+                     ("gzip" ,c:gzip)))
     (synopsis "IANA protocol, port, and RPC number assignments")
     (description
      "This package provides the /etc/services, /etc/protocols, and /etc/rpc
@@ -929,3 +928,68 @@ under Unix and related operating systems.  Spaces and various other unsafe
 characters (such as \"$\") get replaced with \"_\".  ISO 8859-1 (Latin-1)
 characters can be replaced as well, as can UTF-8 characters.")
     (license bsd-3)))
+
+(define-public testdisk
+  (package
+    (name "testdisk")
+    (version "6.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.cgsecurity.org/testdisk-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(;; ("ntfs" ,ntfs)
+       ("util-linux" ,util-linux)
+       ("openssl" ,o:openssl)
+       ("zlib" ,c:zlib)
+       ("e2fsprogs" ,e2fsprogs)
+       ("libjpeg" ,libjpeg)
+       ("ncurses" ,ncurses)))
+    (home-page "http://www.cgsecurity.org/wiki/TestDisk")
+    (synopsis "Data recovery tool")
+    (description
+     "TestDisk is a program for data recovery, primarily designed to help
+recover lost partitions and/or make non-booting disks bootable again.")
+    (license gpl2+)))
+
+(define-public direvent
+  (package
+    (name "direvent")
+    (version "5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/direvent/direvent-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
+              (modules '((guix build utils)))
+              (snippet '(substitute* "tests/testsuite"
+                          (("#![[:blank:]]?/bin/sh")
+                           "#!$SHELL")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-before
+                 'build 'patch-/bin/sh
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   ;; Use the right shell when executing the watcher.
+                   (let ((bash (assoc-ref inputs "bash")))
+                     (substitute* "src/direvent.c"
+                       (("\"/bin/sh\"")
+                        (string-append "\"" bash "/bin/sh\"")))))
+                 %standard-phases)))
+    (home-page "http://www.gnu.org/software/direvent/")
+    (synopsis "Daemon to monitor directories for events such as file removal")
+    (description
+     "A daemon that monitors directories for events, such as creating,
+deleting or modifying files.  It can monitor different sets of directories for
+different events.  When an event is detected, direvent calls a specified
+external program with information about the event, such as the location
+within the file system where it occurred.  Thus, \"direvent\" provides an easy
+way to react immediately if given files undergo changes, for example, to
+track changes in important system configuration files.")
+    (license gpl3+)))
diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm
index a08886c252..7da3b5eb4a 100644
--- a/gnu/packages/apl.scm
+++ b/gnu/packages/apl.scm
@@ -24,7 +24,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages maths)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages readline))
 
 (define-public apl
diff --git a/gnu/packages/bdb.scm b/gnu/packages/bdb.scm
deleted file mode 100644
index e82a683332..0000000000
--- a/gnu/packages/bdb.scm
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
-;;;
-;;; 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 bdb)
-  #:use-module (gnu packages)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
-
-(define-public bdb
-  (package
-   (name "bdb")
-   (version "5.3.21")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "http://download.oracle.com/berkeley-db/db-" version
-                                ".tar.gz"))
-            (sha256 (base32
-                     "1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
-   (build-system gnu-build-system)
-   (outputs '("out"                             ; programs, libraries, headers
-              "doc"))                           ; 94 MiB of HTML docs
-   (arguments
-    '(#:tests? #f                            ; no check target available
-      #:phases
-      (alist-replace
-       'configure
-       (lambda* (#:key outputs #:allow-other-keys)
-         (let ((out (assoc-ref outputs "out"))
-               (doc (assoc-ref outputs "doc")))
-           ;; '--docdir' is not honored, so we need to patch.
-           (substitute* "dist/Makefile.in"
-             (("docdir[[:blank:]]*=.*")
-              (string-append "docdir = " doc "/share/doc/bdb")))
-
-           (zero?
-            (system* "./dist/configure"
-                     (string-append "--prefix=" out)
-                     (string-append "CONFIG_SHELL=" (which "bash"))
-                     (string-append "SHELL=" (which "bash"))
-
-                     ;; The compatibility mode is needed by some packages,
-                     ;; notably iproute2.
-                     "--enable-compat185"))))
-       %standard-phases)))
-   (synopsis "db, the Berkeley database")
-   (description
-    "Berkeley DB is an embeddable database allowing developers the choice of
-SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
-   (license (bsd-style "file://LICENSE"
-                       "See LICENSE in the distribution."))
-   (home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6887ba6167..11e8d2bc17 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
@@ -264,14 +264,14 @@ some compression ratio).")
 (define-public lzip
   (package
     (name "lzip")
-    (version "1.15")
+    (version "1.16")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah/lzip/lzip-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw"))))
+               "0l9724rw1l3hg2ldr3n7ihqich4m9nc6y7l302bvdj4jmxdw530j"))))
     (build-system gnu-build-system)
     (home-page "http://www.nongnu.org/lzip/lzip.html")
     (synopsis "Lossless data compressor based on the LZMA algorithm")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
new file mode 100644
index 0000000000..01d9cbdd62
--- /dev/null
+++ b/gnu/packages/databases.scm
@@ -0,0 +1,283 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2014 David Thompson <davet@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 databases)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages emacs)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages algebra)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages python)
+  #:use-module ((guix licenses)
+                #:select (gpl2 gpl3+ lgpl3+ x11-style bsd-style
+                          public-domain))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (srfi srfi-26)
+  #:use-module (ice-9 match))
+
+(define-public bdb
+  (package
+    (name "bdb")
+    (version "5.3.21")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.oracle.com/berkeley-db/db-" version
+                                  ".tar.gz"))
+              (sha256 (base32
+                       "1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
+    (build-system gnu-build-system)
+    (outputs '("out"                             ; programs, libraries, headers
+               "doc"))                           ; 94 MiB of HTML docs
+    (arguments
+     '(#:tests? #f                            ; no check target available
+                #:phases
+                (alist-replace
+                 'configure
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out"))
+                         (doc (assoc-ref outputs "doc")))
+                     ;; '--docdir' is not honored, so we need to patch.
+                     (substitute* "dist/Makefile.in"
+                       (("docdir[[:blank:]]*=.*")
+                        (string-append "docdir = " doc "/share/doc/bdb")))
+
+                     (zero?
+                      (system* "./dist/configure"
+                               (string-append "--prefix=" out)
+                               (string-append "CONFIG_SHELL=" (which "bash"))
+                               (string-append "SHELL=" (which "bash"))
+
+                               ;; The compatibility mode is needed by some packages,
+                               ;; notably iproute2.
+                               "--enable-compat185"))))
+                 %standard-phases)))
+    (synopsis "db, the Berkeley database")
+    (description
+     "Berkeley DB is an embeddable database allowing developers the choice of
+SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
+    (license (bsd-style "file://LICENSE"
+                        "See LICENSE in the distribution."))
+    (home-page
+     "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
+
+(define-public mysql
+  (package
+    (name "mysql")
+    (version "5.1.73")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-"
+                   version ".tar.gz"))
+             (sha256
+              (base32
+               "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("procps" ,procps)
+       ("openssl" ,openssl)
+       ("perl" ,perl)
+       ("zlib" ,zlib)
+       ("ncurses" ,ncurses)))
+    (arguments
+     '(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 ftw))                    ; for "rm -rf"
+       #:phases (alist-cons-after
+                 'install 'clean-up
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   ;; Remove the 112 MiB of tests that get installed.
+                   (let ((out (assoc-ref outputs "out")))
+                     (define (rm-rf dir)
+                       (file-system-fold (const #t) ; enter?
+                                         (lambda (file stat result) ; leaf
+                                           (delete-file file))
+                                         (const #t)               ; down
+                                         (lambda (dir stat result) ; up
+                                           (rmdir dir))
+                                         (const #t)
+                                         (lambda (file stat errno result)
+                                           (format (current-error-port)
+                                                   "error: ~a: ~a~%"
+                                                   file (strerror errno)))
+                                         #t
+                                         (string-append out "/" dir)))
+                     (rm-rf "mysql-test")
+                     (rm-rf "sql-bench")
+
+                     ;; Compress the 14 MiB Info file.
+                     (zero?
+                      (system* "gzip" "--best"
+                               (string-append out "/share/info/mysql.info")))))
+                 %standard-phases)))
+    (home-page "http://www.mysql.com/")
+    (synopsis "A fast, easy to use, and popular database")
+    (description
+     "MySQL is a fast, reliable, and easy to use relational database
+management system that supports the standardized Structured Query
+Language.")
+    (license gpl2)))
+
+(define-public postgresql
+  (package
+    (name "postgresql")
+    (version "9.3.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://ftp.postgresql.org/pub/source/v"
+                                  version "/postgresql-" version ".tar.gz"))
+              (sha256
+               (base32
+                "08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("readline" ,readline)
+       ("zlib" ,zlib)))
+    (home-page "http://www.postgresql.org/")
+    (synopsis "Powerful object-relational database system")
+    (description
+     "PostgreSQL is a powerful object-relational database system.  It is fully
+ACID compliant, has full support for foreign keys, joins, views, triggers, and
+stored procedures (in multiple languages).  It includes most SQL:2008 data
+types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and
+TIMESTAMP.  It also supports storage of binary large objects, including
+pictures, sounds, or video.")
+    (license (x11-style "file://COPYRIGHT"))))
+
+(define-public recutils
+  (package
+    (name "recutils")
+    (version "1.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/recutils/recutils-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))))
+    (build-system gnu-build-system)
+
+    ;; Running tests in parallel leads to test failures and crashes in
+    ;; torture/utils.
+    (arguments '(#:parallel-tests? #f))
+
+    (native-inputs `(("emacs" ,emacs)
+                     ("bc" ,bc)))
+
+    ;; TODO: Add more optional inputs.
+    ;; FIXME: Our Bash doesn't have development headers (need for the 'readrec'
+    ;; built-in command), but it's not clear how to get them installed.
+    ;; See <https://lists.gnu.org/archive/html/bug-bash/2014-03/msg00125.html>.
+    (inputs `(("curl" ,curl)
+              ("libgcrypt" ,libgcrypt)
+              ("check" ,check)))
+    (synopsis "Manipulate plain text files as databases")
+    (description
+     "GNU Recutils is a set of tools and libraries for creating and
+manipulating text-based, human-editable databases.  Despite being text-based,
+databases created with Recutils carry all of the expected features such as
+unique fields, primary keys, time stamps and more. Many different field types
+are supported, as is encryption.")
+    (license gpl3+)
+    (home-page "http://www.gnu.org/software/recutils/")))
+
+(define-public sqlite
+  (package
+   (name "sqlite")
+   (version "3.8.4.3")
+   (source (origin
+            (method url-fetch)
+            ;; TODO: Download from sqlite.org once this bug :
+            ;; http://lists.gnu.org/archive/html/bug-guile/2013-01/msg00027.html
+            ;; has been fixed.
+            (uri (let ((numeric-version
+                        (match (string-split version #\.)
+                          ((first-digit other-digits ...)
+                           (string-append first-digit
+                                          (string-pad-right
+                                           (string-concatenate
+                                            (map (cut string-pad <> 2 #\0)
+                                                 other-digits))
+                                           6 #\0))))))
+                   (string-append
+                    "mirror://sourceforge/sqlite.mirror/SQLite%20" version
+                    "/sqlite-autoconf-" numeric-version ".tar.gz")))
+            (sha256
+             (base32
+              "0rcdsk5sz34w8vy0g5yhfms4saiq81i872jxx5m5sjij7bi9bsg0"))
+            (patches
+             (list (search-patch "sqlite-large-page-size-fix.patch")))))
+   (build-system gnu-build-system)
+   (home-page "http://www.sqlite.org/")
+   (synopsis "The SQLite database management system")
+   (description
+    "SQLite is a software library that implements a self-contained, serverless,
+zero-configuration, transactional SQL database engine. SQLite is the most
+widely deployed SQL database engine in the world. The source code for SQLite is
+in the public domain.")
+   (license public-domain)))
+
+(define-public tdb
+  (package
+    (name "tdb")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://samba.org/ftp/tdb/tdb-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "085sd2kii72fr0c4pdc7c7m0xk34nc66wnjp21c83dss826y9gh4"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-replace
+                 'configure
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     ;; The 'configure' script is a wrapper for Waf and
+                     ;; doesn't recognize things like '--enable-fast-install'.
+                     (zero? (system* "./configure"
+                                     (string-append "--prefix=" out)))))
+                 %standard-phases)))
+    (native-inputs
+     `(;; TODO: Build the documentation.
+       ;; ("docbook-xsl" ,docbook-xsl)
+       ;; ("libxml2" ,libxml2)
+       ;; ("libxslt" ,libxslt)
+       ("python" ,python-2)))                     ;for the Waf build system
+    (home-page "http://tdb.samba.org/")
+    (synopsis "TDB, the trivial database")
+    (description
+     "TDB is a Trivial Database.  In concept, it is very much like GDBM,
+and BSD's DB except that it allows multiple simultaneous writers and uses
+locking internally to keep writers from trampling on each other.  TDB is also
+extremely small.")
+    (license lgpl3+)))
diff --git a/gnu/packages/dc.scm b/gnu/packages/dc.scm
index 0cb7c5b4f0..0e65d886d0 100644
--- a/gnu/packages/dc.scm
+++ b/gnu/packages/dc.scm
@@ -23,7 +23,7 @@
   #:use-module (gnu packages gnutls)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
new file mode 100644
index 0000000000..c9e49d9551
--- /dev/null
+++ b/gnu/packages/enchant.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;;
+;;; 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 enchant)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aspell)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public enchant
+  (package
+    (name "enchant")
+    (version "1.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "http://www.abisource.com/downloads/" name "/" version
+                         "/" name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0zq9yw1xzk8k9s6x83n1f9srzcwdavzazn3haln4nhp9wxxrxb1g"))))
+
+    (build-system gnu-build-system)
+    (inputs
+      `(("aspell" ,aspell)    ;; Currently, the only supported backend in Guix
+        ("glib" ,glib)))      ;; is aspell. (This information might be old)
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("pkg-config" ,pkg-config)))
+
+    (synopsis "Multi-backend spell-checking library wrapper")
+    (description
+      "On the surface, Enchant appears to be a generic spell checking library.
+Looking closer, you'll see the Enchant is more-or-less a fancy wrapper around
+the dlopen() system call.
+
+Enchant steps in to provide uniformity and conformity on top of these libraries,
+and implement certain features that may be lacking in any individual provider
+library.  Everything should \"just work\" for any and every definition of \"just
+working.\"")
+    (home-page "http://www.abisource.com/projects/enchant")
+    (license lgpl2.1+)))
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index 46240123c1..5ce87ae842 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -27,14 +27,14 @@
 (define-public freeipmi
   (package
     (name "freeipmi")
-    (version "1.4.1")
+    (version "1.4.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1qpr4h46zmbk82w4fpijimzsdpgyr0fdnsinpsp5cvxy5pcikbd6"))))
+               "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz"))))
     (build-system gnu-build-system)
     (inputs
      `(("readline" ,readline) ("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm
new file mode 100644
index 0000000000..eb13aa1c6d
--- /dev/null
+++ b/gnu/packages/fribidi.scm
@@ -0,0 +1,45 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;;
+;;; 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 fribidi)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public fribidi
+  (package
+    (name "fribidi")
+    (version "0.19.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "http://fribidi.org/download/" name "-" version
+                         ".tar.bz2"))
+        (sha256
+          (base32 "0zg1hpaml34ny74fif97j7ngrshlkl3wk3nja3gmlzl17i1bga6b"))))
+
+    (build-system gnu-build-system)
+    (synopsis "Implementation of the Unicode bidirectional algorithm")
+    (description
+     "GNU FriBidi is an implementation of the Unicode Bidirectional
+Algorithm.  This algorithm is used to properly display text in left-to-right
+or right-to-left ordering as necessary.")
+    (home-page "http://fribidi.org/")
+    (license lgpl2.1+)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 84e09aaee7..f3c88c92d4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -38,7 +38,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages texinfo)
   #:use-module (guix build-system gnu))
diff --git a/gnu/packages/global.scm b/gnu/packages/global.scm
index e50a57f2e6..d43caf4f54 100644
--- a/gnu/packages/global.scm
+++ b/gnu/packages/global.scm
@@ -28,14 +28,14 @@
 (define-public global                             ; a global variable
   (package
     (name "global")
-    (version "6.3")
+    (version "6.3.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/global/global-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1nzqqcry3mfha53n8j1grdg2dflp9gpg54qwlsrzq9sspwg78769"))))
+               "07iifpz00ch3drlscvk5v12j7bckwv6pk8040y81s1x14b0gf220"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("libtool" ,libtool)))
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index e4ef3d4871..d5a1930bbe 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -38,7 +38,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
   #:use-module ((guix licenses)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 06f62715c4..149720e5e8 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -19,6 +19,9 @@
 (define-module (gnu packages image)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:))
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -110,3 +113,36 @@ collection of tools for doing simple manipulations of TIFF images.")
    (license (license:bsd-style "file://COPYRIGHT"
                                "See COPYRIGHT in the distribution."))
    (home-page "http://www.libtiff.org/")))
+
+(define-public libwmf
+  (package
+    (name "libwmf")
+    (version "0.2.8.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://sourceforge/wvware/"
+                            name "/" version
+                            "/" name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1y3wba4q8pl7kr51212jwrsz1x6nslsx1gsjml1x0i8549lmqd2v"))))
+
+    (build-system gnu-build-system)
+    (inputs
+      `(("freetype" ,freetype)
+        ("libjpeg" ,libjpeg)
+        ("libpng",libpng)
+        ("libxml2" ,libxml2)
+        ("zlib" ,zlib)))
+    (native-inputs
+      `(("pkg-config" ,pkg-config)))
+    (synopsis "Library for reading images in the Microsoft WMF format")
+    (description
+      "libwmf is a library for reading vector images in Microsoft's native
+Windows Metafile Format (WMF) and for either (a) displaying them in, e.g., an X
+window; or (b) converting them to more standard/free file formats such as, e.g.,
+the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
+    (home-page "http://wvware.sourceforge.net/libwmf.html")
+
+    ;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+.
+    (license license:lgpl2.0+)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 442f80103a..7be0d076ec 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -30,7 +30,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pciutils)
-  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -613,6 +613,9 @@ MIDI functionality to the Linux-based operating system.")
     (arguments
      ;; XXX: Disable man page creation until we have DocBook.
      '(#:configure-flags (list "--disable-xmlto"
+
+                               ;; The udev rule is responsible for restoring
+                               ;; the volume.
                                (string-append "--with-udev-rules-dir="
                                               (assoc-ref %outputs "out")
                                               "/lib/udev/rules.d"))
@@ -1397,7 +1400,13 @@ time.")
                                               (assoc-ref %outputs "out")
                                               "/etc/lvm")
                                "--enable-udev_sync"
-                               "--enable-udev_rules")
+                               "--enable-udev_rules"
+
+                               ;; Make sure programs such as 'dmsetup' can
+                               ;; find libdevmapper.so.
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"))
 
        ;; The tests use 'mknod', which requires root access.
        #:tests? #f))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index a85c120469..92ffc22c14 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -75,7 +75,8 @@ for configuration, scripting, and rapid prototyping.")
              (uri (string-append "http://www.lua.org/ftp/lua-"
                                  version ".tar.gz"))
              (sha256
-              (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))))))
+              (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
+             (patches (list (search-patch "lua51-liblua-so.patch")))))))
 
 (define-public luajit
   (package
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a9e862ac88..2a742cdc56 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -31,7 +31,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
-  #:use-module (gnu packages mysql)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
@@ -43,7 +43,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages flex)
-  #:use-module (gnu packages bdb)
   #:use-module (gnu packages gdb)
   #:use-module (gnu packages samba)
   #:use-module ((guix licenses)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 813480616e..774686310f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -123,7 +123,7 @@ numbers.")
 (define-public glpk
   (package
     (name "glpk")
-    (version "4.54")
+    (version "4.55")
     (source
      (origin
       (method url-fetch)
@@ -131,7 +131,7 @@ numbers.")
                           version ".tar.gz"))
       (sha256
        (base32
-        "18gr2anv8gyps6j9f22k7li6w07glvww666sdqblvlq2hh3whwmb"))))
+        "1rqx5fzj1mhkifilip5mkxybpj2wkniq5qcn8h1w2vkr2rzhs29p"))))
     (build-system gnu-build-system)
     (inputs
      `(("gmp" ,gmp)))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index a20103df4f..634bc7c6bd 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -35,7 +35,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
   #:export (libmpdclient
diff --git a/gnu/packages/mysql.scm b/gnu/packages/mysql.scm
deleted file mode 100644
index e89770e907..0000000000
--- a/gnu/packages/mysql.scm
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 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 mysql)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages perl)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages openssl)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages ncurses)
-  #:use-module ((guix licenses) #:select (gpl2))
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
-
-(define-public mysql
-  (package
-    (name "mysql")
-    (version "5.1.73")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-"
-                   version ".tar.gz"))
-             (sha256
-              (base32
-               "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("procps" ,procps)
-       ("openssl" ,openssl)
-       ("perl" ,perl)
-       ("zlib" ,zlib)
-       ("ncurses" ,ncurses)))
-    (arguments
-     '(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (ice-9 ftw))                    ; for "rm -rf"
-       #:phases (alist-cons-after
-                 'install 'clean-up
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   ;; Remove the 112 MiB of tests that get installed.
-                   (let ((out (assoc-ref outputs "out")))
-                     (define (rm-rf dir)
-                       (file-system-fold (const #t) ; enter?
-                                         (lambda (file stat result) ; leaf
-                                           (delete-file file))
-                                         (const #t)               ; down
-                                         (lambda (dir stat result) ; up
-                                           (rmdir dir))
-                                         (const #t)
-                                         (lambda (file stat errno result)
-                                           (format (current-error-port)
-                                                   "error: ~a: ~a~%"
-                                                   file (strerror errno)))
-                                         #t
-                                         (string-append out "/" dir)))
-                     (rm-rf "mysql-test")
-                     (rm-rf "sql-bench")
-
-                     ;; Compress the 14 MiB Info file.
-                     (zero?
-                      (system* "gzip" "--best"
-                               (string-append out "/share/info/mysql.info")))))
-                 %standard-phases)))
-    (home-page "http://www.mysql.com/")
-    (synopsis "A fast, easy to use, and popular database")
-    (description
-     "MySQL is a fast, reliable, and easy to use relational database
-management system that supports the standardized Structured Query
-Language.")
-    (license gpl2)))
diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
index 3037e5bafc..8fd736d180 100644
--- a/gnu/packages/nvi.scm
+++ b/gnu/packages/nvi.scm
@@ -18,7 +18,7 @@
 
 (define-module (gnu packages nvi)
   #:use-module (gnu packages)
-  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages ncurses)
   #:use-module (guix packages)
   #:use-module (guix download)
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 574f11904a..23c32488e9 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -19,7 +19,7 @@
 
 (define-module (gnu packages openldap)
   #:use-module (gnu packages autotools)
-  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages gnupg)
diff --git a/gnu/packages/ots.scm b/gnu/packages/ots.scm
new file mode 100644
index 0000000000..cd2bf8585b
--- /dev/null
+++ b/gnu/packages/ots.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;;
+;;; 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 ots)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages popt)
+  #:use-module (gnu packages xml)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:)))
+
+(define-public ots
+  (package
+    (name "ots")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/libots/libots/"
+                           name "-" version "/" name "-" version
+                           ".tar.gz"))
+       (sha256
+        (base32 "0dz1ccd7ymzk4swz1aly4im0k3pascnshmgg1whd2rk14li8v47a"))
+       (patches
+        (list (search-patch "ots-no-include-missing-file.patch")))))
+
+    (build-system gnu-build-system)
+    (inputs
+      `(("glib" ,glib)
+        ("popt" ,popt)
+        ("libxml2" ,libxml2)
+        ("zlib" ,zlib)))
+    (native-inputs
+      `(("glib:bin" ,glib "bin")
+        ("pkg-config" ,pkg-config)))
+    (synopsis "Tool for summarizing texts")
+    (description
+      "The Open Text Summarizer is a library and command-line tool for
+summarizing texts.  The program reads a text and decides which sentences are
+important and which are not.  OTS will create a short summary or will
+highlight the main ideas in the text.
+
+The program can either print the summarized text as plain text or HTML.  If in
+HTML, the important sentences are highlighted.
+
+The program is multi lingual and works with UTF-8 encoding.")
+    (home-page "http://libots.sourceforge.net/")
+    (license license:gpl2+)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 66e71df284..9f35de1819 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -27,7 +27,7 @@
   #:use-module (gnu packages guile)
   #:use-module ((gnu packages compression) #:select (bzip2 gzip))
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages autotools)
diff --git a/gnu/packages/patches/abiword-explictly-cast-bools.patch b/gnu/packages/patches/abiword-explictly-cast-bools.patch
new file mode 100644
index 0000000000..7927a180ba
--- /dev/null
+++ b/gnu/packages/patches/abiword-explictly-cast-bools.patch
@@ -0,0 +1,93 @@
+As of JPEG-9, the type 'boolean' is an enumeration, but since glib defines
+TRUE and FALSE as numeric constants and this is C++, they need to be explicitly
+casted.
+
+--- a/src/af/util/xp/ut_jpeg.cpp	2009-07-08 19:33:53.000000000 +0200
++++ b/src/af/util/xp/ut_jpeg.cpp	2014-09-06 19:55:55.876997404 +0200
+@@ -102,7 +102,7 @@
+ 	src->pub.next_input_byte = src->sourceBuf->getPointer (src->pos);
+ 	src->pub.bytes_in_buffer = src->sourceBuf->getLength ();
+ 	
+-	return TRUE;
++	return (boolean)TRUE;
+ }
+ 
+ /*
+@@ -161,7 +161,7 @@
+ 	/* set the data source */
+ 	_JPEG_ByteBufSrc (&cinfo, pBB);
+ 
+-	jpeg_read_header(&cinfo, TRUE);
++	jpeg_read_header(&cinfo, (boolean)TRUE);
+ 	jpeg_start_decompress(&cinfo);
+     iImageWidth = cinfo.output_width;
+     iImageHeight = cinfo.output_height;
+@@ -189,7 +189,7 @@
+ 	/* set the data source */
+ 	_JPEG_ByteBufSrc (&cinfo, pBB);
+ 
+-	jpeg_read_header(&cinfo, TRUE);
++	jpeg_read_header(&cinfo, (boolean)TRUE);
+ 	jpeg_start_decompress(&cinfo);
+     
+ 	int row_stride = cinfo.output_width * cinfo.output_components;
+
+
+In the following file, we also need to reverse header include order: JPEG needs
+to be included before Glib, which is included by "abiword-garble.h" for this fix
+to work.
+
+The JPEG header needs the types FILE and size_t, we can get them from cstdio.
+
+--- a/plugins/garble/xp/abiword-garble-jpeg.cpp	2009-09-05 17:49:53.000000000 +0200
++++ b/plugins/garble/xp/abiword-garble-jpeg.cpp	2014-09-07 21:28:49.364008571 +0200
+@@ -20,12 +20,14 @@
+  * 02111-1307, USA.
+  */
+ 
+-#include "abiword-garble.h"
++#include <cstdio>
+ 
+ extern "C" {
+ 	#include <jpeglib.h>
+ }
+ 
++#include "abiword-garble.h"
++
+ //-----------------------------------------------------------------------------
+ typedef struct {
+ 	struct jpeg_destination_mgr pub;
+@@ -49,7 +51,7 @@
+     mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
+     dest->pub.next_output_byte = dest->buf;
+     dest->pub.free_in_buffer = dest->bufsize;
+-    return FALSE;
++    return (boolean)FALSE;
+ }
+ 
+ //-----------------------------------------------------------------------------
+@@ -96,7 +98,7 @@
+ 	cinfo.image_width = (JDIMENSION) w;
+ 	cinfo.image_height = (JDIMENSION) h;
+ 	jpeg_set_defaults (&cinfo);
+-	jpeg_set_quality ( &cinfo, 50, TRUE );
++	jpeg_set_quality ( &cinfo, 50, (boolean)TRUE );
+ 	cinfo.dest = (struct jpeg_destination_mgr *) (*cinfo.mem->alloc_small)((j_common_ptr)&cinfo, JPOOL_PERMANENT, sizeof(mem_destination_mgr));
+     dest = (mem_dest_ptr) cinfo.dest;
+     dest->pub.init_destination    = _jpeg_init_destination;
+@@ -105,7 +107,7 @@
+     dest->buf      = (JOCTET*)data;
+     dest->bufsize  = length;
+     dest->jpegsize = 0;
+-	jpeg_start_compress (&cinfo, TRUE);
++	jpeg_start_compress (&cinfo, (boolean)TRUE);
+ 
+ 	// write data
+ 	for (int i=0; i<h; ++i)
+@@ -121,4 +123,4 @@
+ 		free( dib[i] );
+ 	free( dib );
+ 	return true;
+-}
+\ No newline at end of file
++}
diff --git a/gnu/packages/patches/abiword-link-plugins-against-backend.patch b/gnu/packages/patches/abiword-link-plugins-against-backend.patch
new file mode 100644
index 0000000000..fb8fbfc98b
--- /dev/null
+++ b/gnu/packages/patches/abiword-link-plugins-against-backend.patch
@@ -0,0 +1,639 @@
+Link plugins against libabiword. This is because --no-undefined is passed to
+the linker when linking and without libabiword, it would fail.
+
+--- a/plugins/aiksaurus/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/aiksaurus/Makefile.in	2014-09-06 14:58:36.480413350 +0200
+@@ -422,7 +422,8 @@
+ plugin_LTLIBRARIES = aiksaurus.la
+ aiksaurus_la_LIBADD = \
+ 	$(platform_lib) \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ aiksaurus_la_LDFLAGS = \
+ 	$(AIKSAURUS_LIBS) \
+
+--- a/plugins/applix/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/applix/Makefile.in	2014-09-06 14:58:54.416413938 +0200
+@@ -425,7 +425,8 @@
+ @APPLIX_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @APPLIX_BUILTIN_FALSE@plugin_LTLIBRARIES = applix.la
+ applix_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ applix_la_LDFLAGS = \
+ 	$(APPLIX_LIBS) \
+
+--- a/plugins/babelfish/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/babelfish/Makefile.in	2014-09-06 14:59:09.220414422 +0200
+@@ -425,7 +425,8 @@
+ @BABELFISH_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @BABELFISH_BUILTIN_FALSE@plugin_LTLIBRARIES = babelfish.la
+ babelfish_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ babelfish_la_LDFLAGS = \
+ 	$(BABELFISH_LIBS) \
+
+--- a/plugins/bmp/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/bmp/Makefile.in	2014-09-06 14:59:53.928415886 +0200
+@@ -425,7 +425,8 @@
+ @BMP_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @BMP_BUILTIN_FALSE@plugin_LTLIBRARIES = bmp.la
+ bmp_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ bmp_la_LDFLAGS = \
+ 	$(BMP_LIBS) \
+
+--- a/plugins/clarisworks/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/clarisworks/Makefile.in	2014-09-06 15:00:06.148416286 +0200
+@@ -427,7 +427,8 @@
+ @CLARISWORKS_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @CLARISWORKS_BUILTIN_FALSE@plugin_LTLIBRARIES = clarisworks.la
+ clarisworks_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ clarisworks_la_LDFLAGS = \
+ 	$(CLARISWORKS_LIBS) \
+
+--- a/plugins/collab/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/collab/Makefile.in	2014-09-06 15:02:04.000420145 +0200
+@@ -428,7 +428,8 @@
+ @TOOLKIT_COCOA_FALSE@plugin_LTLIBRARIES = collab.la
+ @TOOLKIT_COCOA_FALSE@collab_la_LIBADD = \
+ @TOOLKIT_COCOA_FALSE@	backends/libbackends.la \
+-@TOOLKIT_COCOA_FALSE@	core/libcore.la
++@TOOLKIT_COCOA_FALSE@	core/libcore.la \
++@TOOLKIT_COCOA_FALSE@	@top_builddir@/src/libabiword-2.8.la
+ 
+ @TOOLKIT_COCOA_FALSE@collab_la_LDFLAGS = \
+ @TOOLKIT_COCOA_FALSE@	$(COLLAB_LIBS) \
+
+--- a/plugins/command/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/command/Makefile.in	2014-09-06 15:02:41.208421363 +0200
+@@ -420,7 +420,8 @@
+ @TOOLKIT_COCOA_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @TOOLKIT_COCOA_FALSE@plugin_LTLIBRARIES = command.la
+ @TOOLKIT_COCOA_FALSE@command_la_LIBADD = \
+-@TOOLKIT_COCOA_FALSE@	xp/libxp.la
++@TOOLKIT_COCOA_FALSE@	xp/libxp.la \
++@TOOLKIT_COCOA_FALSE@	@top_builddir@/src/libabiword-2.8.la
+ 
+ @TOOLKIT_COCOA_FALSE@command_la_LDFLAGS = \
+ @TOOLKIT_COCOA_FALSE@	$(COMMAND_LIBS) \
+
+--- a/plugins/docbook/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/docbook/Makefile.in	2014-09-06 15:02:52.128421720 +0200
+@@ -425,7 +425,8 @@
+ @DOCBOOK_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @DOCBOOK_BUILTIN_FALSE@plugin_LTLIBRARIES = docbook.la
+ docbook_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ docbook_la_LDFLAGS = \
+ 	$(DOCBOOK_LIBS) \
+
+--- a/plugins/eml/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/eml/Makefile.in	2014-09-06 15:03:02.760422068 +0200
+@@ -425,7 +425,8 @@
+ @EML_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @EML_BUILTIN_FALSE@plugin_LTLIBRARIES = eml.la
+ eml_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ eml_la_LDFLAGS = \
+ 	$(EML_LIBS) \
+
+--- a/plugins/freetranslation/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/freetranslation/Makefile.in	2014-09-06 15:03:17.656422556 +0200
+@@ -427,7 +427,8 @@
+ @FREETRANSLATION_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @FREETRANSLATION_BUILTIN_FALSE@plugin_LTLIBRARIES = freetranslation.la
+ freetranslation_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ freetranslation_la_LDFLAGS = \
+ 	$(FREETRANSLATION_LIBS) \
+
+--- a/plugins/garble/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/garble/Makefile.in	2014-09-06 15:03:48.192423556 +0200
+@@ -427,7 +427,8 @@
+ @TOOLKIT_COCOA_FALSE@plugin_LTLIBRARIES = garble.la
+ @TOOLKIT_COCOA_FALSE@garble_la_LIBADD = \
+ @TOOLKIT_COCOA_FALSE@	xp/libxp.la \
+-@TOOLKIT_COCOA_FALSE@	$(GARBLE_LIBS) $(PNG_LIBS) -ljpeg
++@TOOLKIT_COCOA_FALSE@	$(GARBLE_LIBS) $(PNG_LIBS) -ljpeg \
++@TOOLKIT_COCOA_FALSE@	@top_builddir@/src/libabiword-2.8.la
+ 
+ @TOOLKIT_COCOA_FALSE@garble_la_LDFLAGS = \
+ @TOOLKIT_COCOA_FALSE@	$(GARBLE_LIBS) \
+
+--- a/plugins/gda/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/gda/Makefile.in	2014-09-06 15:04:08.012424205 +0200
+@@ -419,7 +419,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = gda.la
+ gda_la_LIBADD = \
+-	unix/libunix.la
++	unix/libunix.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ gda_la_LDFLAGS = \
+ 	$(GDA_LIBS) \
+
+--- a/plugins/gdict/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/gdict/Makefile.in	2014-09-06 15:04:37.888425183 +0200
+@@ -423,7 +423,8 @@
+ @GDICT_BUILTIN_FALSE@@TOOLKIT_GTK_TRUE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @GDICT_BUILTIN_FALSE@@TOOLKIT_GTK_TRUE@plugin_LTLIBRARIES = gdict.la
+ @TOOLKIT_GTK_TRUE@gdict_la_LIBADD = \
+-@TOOLKIT_GTK_TRUE@	unix/libunix.la
++@TOOLKIT_GTK_TRUE@	unix/libunix.la \
++@TOOLKIT_GTK_TRUE@	@top_builddir@/src/libabiword-2.8.la
+ 
+ @TOOLKIT_GTK_TRUE@gdict_la_LDFLAGS = \
+ @TOOLKIT_GTK_TRUE@	$(GDICT_LIBS) \
+
+--- a/plugins/gimp/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/gimp/Makefile.in	2014-09-06 15:04:47.380425494 +0200
+@@ -425,7 +425,8 @@
+ @GIMP_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @GIMP_BUILTIN_FALSE@plugin_LTLIBRARIES = gimp.la
+ gimp_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ gimp_la_LDFLAGS = \
+ 	$(GIMP_LIBS) \
+
+--- a/plugins/goffice/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/goffice/Makefile.in	2014-09-06 15:04:57.660425830 +0200
+@@ -419,7 +419,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = goffice.la
+ goffice_la_LIBADD = \
+-	unix/libunix.la
++	unix/libunix.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ goffice_la_LDFLAGS = \
+ 	$(GOFFICE_LIBS) \
+
+--- a/plugins/google/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/google/Makefile.in	2014-09-06 15:05:06.852426131 +0200
+@@ -425,7 +425,8 @@
+ @GOOGLE_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @GOOGLE_BUILTIN_FALSE@plugin_LTLIBRARIES = google.la
+ google_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ google_la_LDFLAGS = \
+ 	$(GOOGLE_LIBS) \
+
+--- a/plugins/grammar/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/grammar/Makefile.in	2014-09-06 15:05:19.840426556 +0200
+@@ -424,7 +424,8 @@
+ plugin_LTLIBRARIES = grammar.la
+ grammar_la_LIBADD = \
+ 	linkgrammarwrap/liblinkgrammarwrap.la \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ grammar_la_LDFLAGS = \
+ 	$(GRAMMAR_LIBS) \
+
+--- a/plugins/hancom/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/hancom/Makefile.in	2014-09-06 15:05:29.684426879 +0200
+@@ -425,7 +425,8 @@
+ @HANCOM_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @HANCOM_BUILTIN_FALSE@plugin_LTLIBRARIES = hancom.la
+ hancom_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ hancom_la_LDFLAGS = \
+ 	$(HANCOM_LIBS) \
+
+--- a/plugins/hrtext/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/hrtext/Makefile.in	2014-09-06 15:05:41.244427257 +0200
+@@ -425,7 +425,8 @@
+ @HRTEXT_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @HRTEXT_BUILTIN_FALSE@plugin_LTLIBRARIES = hrtext.la
+ hrtext_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ hrtext_la_LDFLAGS = \
+ 	$(HRTEXT_LIBS) \
+
+--- a/plugins/iscii/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/iscii/Makefile.in	2014-09-06 15:05:52.660427631 +0200
+@@ -425,7 +425,8 @@
+ @ISCII_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @ISCII_BUILTIN_FALSE@plugin_LTLIBRARIES = iscii.la
+ iscii_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ iscii_la_LDFLAGS = \
+ 	$(ISCII_LIBS) \
+
+--- a/plugins/kword/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/kword/Makefile.in	2014-09-06 15:06:01.260427912 +0200
+@@ -425,7 +425,8 @@
+ @KWORD_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @KWORD_BUILTIN_FALSE@plugin_LTLIBRARIES = kword.la
+ kword_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ kword_la_LDFLAGS = \
+ 	$(KWORD_LIBS) \
+
+--- a/plugins/latex/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/latex/Makefile.in	2014-09-06 15:06:13.212428304 +0200
+@@ -426,7 +426,8 @@
+ @LATEX_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @LATEX_BUILTIN_FALSE@plugin_LTLIBRARIES = latex.la
+ latex_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ latex_la_LDFLAGS = \
+ 	$(LATEX_LIBS) \
+
+--- a/plugins/loadbindings/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/loadbindings/Makefile.in	2014-09-06 15:06:27.340428766 +0200
+@@ -427,7 +427,8 @@
+ @LOADBINDINGS_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @LOADBINDINGS_BUILTIN_FALSE@plugin_LTLIBRARIES = loadbindings.la
+ loadbindings_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ loadbindings_la_LDFLAGS = \
+ 	$(LOADBINDINGS_LIBS) \
+
+--- a/plugins/mathview/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/mathview/Makefile.in	2014-09-06 15:06:35.428429031 +0200
+@@ -423,7 +423,8 @@
+ plugin_LTLIBRARIES = mathview.la
+ mathview_la_LIBADD = \
+ 	itex2mml/libitex2mml.la \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ mathview_la_LDFLAGS = \
+ 	$(MATHVIEW_LIBS) \
+
+--- a/plugins/mht/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/mht/Makefile.in	2014-09-06 15:06:47.516429427 +0200
+@@ -422,7 +422,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = mht.la
+ mht_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ mht_la_LDFLAGS = \
+ 	$(MHT_LIBS) \
+
+--- a/plugins/mif/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/mif/Makefile.in	2014-09-06 15:07:03.496429950 +0200
+@@ -425,7 +425,8 @@
+ @MIF_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @MIF_BUILTIN_FALSE@plugin_LTLIBRARIES = mif.la
+ mif_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ mif_la_LDFLAGS = \
+ 	$(MIF_LIBS) \
+
+--- a/plugins/mswrite/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/mswrite/Makefile.in	2014-09-06 15:07:15.700430349 +0200
+@@ -425,7 +425,8 @@
+ @MSWRITE_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @MSWRITE_BUILTIN_FALSE@plugin_LTLIBRARIES = mswrite.la
+ mswrite_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ mswrite_la_LDFLAGS = \
+ 	$(MSWRITE_LIBS) \
+
+--- a/plugins/opendocument/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/opendocument/Makefile.in	2014-09-06 15:07:26.668430709 +0200
+@@ -430,7 +430,8 @@
+ opendocument_la_LIBADD = \
+ 	common/libcommon.la \
+ 	exp/libexp.la \
+-	imp/libimp.la
++	imp/libimp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ opendocument_la_LDFLAGS = \
+ 	$(OPENDOCUMENT_LIBS) \
+
+--- a/plugins/openwriter/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/openwriter/Makefile.in	2014-09-06 15:07:40.272431154 +0200
+@@ -426,7 +426,8 @@
+ @OPENWRITER_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @OPENWRITER_BUILTIN_FALSE@plugin_LTLIBRARIES = openwriter.la
+ openwriter_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ openwriter_la_LDFLAGS = \
+ 	$(OPENWRITER_LIBS) \
+
+--- a/plugins/openxml/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/openxml/Makefile.in	2014-09-06 15:08:44.312433251 +0200
+@@ -428,7 +428,8 @@
+ openxml_la_LIBADD = \
+ 	common/libcommon.la \
+ 	imp/libimp.la \
+-	exp/libexp.la
++	exp/libexp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ openxml_la_LDFLAGS = \
+ 	$(OPENXML_LIBS) \
+
+--- a/plugins/opml/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/opml/Makefile.in	2014-09-06 15:08:58.424433713 +0200
+@@ -425,7 +425,8 @@
+ @OPML_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @OPML_BUILTIN_FALSE@plugin_LTLIBRARIES = opml.la
+ opml_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ opml_la_LDFLAGS = \
+ 	$(OPML_LIBS) \
+
+--- a/plugins/ots/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/ots/Makefile.in	2014-09-06 15:09:08.164434031 +0200
+@@ -419,7 +419,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = ots.la
+ ots_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ ots_la_LDFLAGS = \
+ 	$(OTS_LIBS) \
+
+--- a/plugins/paint/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/paint/Makefile.in	2014-09-06 15:09:38.912435038 +0200
+@@ -426,7 +426,8 @@
+ @PAINT_BUILTIN_FALSE@plugin_LTLIBRARIES = paint.la
+ paint_la_LIBADD = \
+ 	@PLATFORM@/lib@PLATFORM@.la \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ paint_la_LDFLAGS = \
+ 	$(PAINT_LIBS) \
+
+--- a/plugins/passepartout/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/passepartout/Makefile.in	2014-09-06 15:09:46.744435295 +0200
+@@ -427,7 +427,8 @@
+ @PASSEPARTOUT_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @PASSEPARTOUT_BUILTIN_FALSE@plugin_LTLIBRARIES = passepartout.la
+ passepartout_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ passepartout_la_LDFLAGS = \
+ 	$(PASSEPARTOUT_LIBS) \
+
+--- a/plugins/pdb/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/pdb/Makefile.in	2014-09-06 15:09:54.484435548 +0200
+@@ -425,7 +425,8 @@
+ @PDB_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @PDB_BUILTIN_FALSE@plugin_LTLIBRARIES = pdb.la
+ pdb_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ pdb_la_LDFLAGS = \
+ 	$(PDB_LIBS) \
+
+--- a/plugins/pdf/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/pdf/Makefile.in	2014-09-06 15:10:04.444435874 +0200
+@@ -425,7 +425,8 @@
+ @PDF_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @PDF_BUILTIN_FALSE@plugin_LTLIBRARIES = pdf.la
+ pdf_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ pdf_la_LDFLAGS = \
+ 	$(PDF_LIBS) \
+
+--- a/plugins/presentation/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/presentation/Makefile.in	2014-09-06 15:10:13.112436158 +0200
+@@ -427,7 +427,8 @@
+ @PRESENTATION_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @PRESENTATION_BUILTIN_FALSE@plugin_LTLIBRARIES = presentation.la
+ presentation_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ presentation_la_LDFLAGS = \
+ 	$(PRESENTATION_LIBS) \
+
+--- a/plugins/psion/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/psion/Makefile.in	2014-09-06 15:10:22.176436455 +0200
+@@ -421,7 +421,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = psion.la
+ psion_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ psion_la_LDFLAGS = \
+ 	$(PSION_LIBS) \
+
+--- a/plugins/rsvg/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/rsvg/Makefile.in	2014-09-06 15:10:37.632436961 +0200
+@@ -425,7 +425,8 @@
+ plugin_LTLIBRARIES = rsvg.la
+ rsvg_la_LIBADD = \
+ 	xp/libxp.la \
+-	$(RSVG_LIBS) $(PNG_LIBS)
++	$(RSVG_LIBS) $(PNG_LIBS) \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ rsvg_la_LDFLAGS = \
+ 	-avoid-version \
+
+--- a/plugins/s5/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/s5/Makefile.in	2014-09-06 15:10:46.652437256 +0200
+@@ -425,7 +425,8 @@
+ @S5_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @S5_BUILTIN_FALSE@plugin_LTLIBRARIES = s5.la
+ s5_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ s5_la_LDFLAGS = \
+ 	$(S5_LIBS) \
+
+--- a/plugins/sdw/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/sdw/Makefile.in	2014-09-06 15:10:58.072437630 +0200
+@@ -425,7 +425,8 @@
+ @SDW_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @SDW_BUILTIN_FALSE@plugin_LTLIBRARIES = sdw.la
+ sdw_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ sdw_la_LDFLAGS = \
+ 	$(SDW_LIBS) \
+
+--- a/plugins/t602/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/t602/Makefile.in	2014-09-06 15:11:06.224437897 +0200
+@@ -425,7 +425,8 @@
+ @T602_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @T602_BUILTIN_FALSE@plugin_LTLIBRARIES = t602.la
+ t602_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ t602_la_LDFLAGS = \
+ 	$(T602_LIBS) \
+
+--- a/plugins/urldict/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/urldict/Makefile.in	2014-09-06 15:11:14.404438165 +0200
+@@ -425,7 +425,8 @@
+ @URLDICT_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @URLDICT_BUILTIN_FALSE@plugin_LTLIBRARIES = urldict.la
+ urldict_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ urldict_la_LDFLAGS = \
+ 	$(URLDICT_LIBS) \
+
+--- a/plugins/wikipedia/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/wikipedia/Makefile.in	2014-09-06 15:11:22.064438415 +0200
+@@ -425,7 +425,8 @@
+ @WIKIPEDIA_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @WIKIPEDIA_BUILTIN_FALSE@plugin_LTLIBRARIES = wikipedia.la
+ wikipedia_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ wikipedia_la_LDFLAGS = \
+ 	$(WIKIPEDIA_LIBS) \
+
+--- a/plugins/wmf/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/wmf/Makefile.in	2014-09-06 15:11:31.348438719 +0200
+@@ -422,7 +422,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = wmf.la
+ wmf_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ wmf_la_LDFLAGS = \
+ 	$(WMF_LIBS) \
+
+--- a/plugins/wml/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/wml/Makefile.in	2014-09-06 15:11:40.168439008 +0200
+@@ -425,7 +425,8 @@
+ @WML_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @WML_BUILTIN_FALSE@plugin_LTLIBRARIES = wml.la
+ wml_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ wml_la_LDFLAGS = \
+ 	$(WML_LIBS) \
+
+--- a/plugins/wordperfect/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/wordperfect/Makefile.in	2014-09-06 15:11:50.336439341 +0200
+@@ -423,7 +423,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = wordperfect.la
+ wordperfect_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ wordperfect_la_LDFLAGS = \
+ 	$(WORDPERFECT_LIBS) \
+
+--- a/plugins/wpg/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/wpg/Makefile.in	2014-09-06 15:12:11.328440028 +0200
+@@ -422,7 +422,8 @@
+ plugindir = $(ABIWORD_PLUGINSDIR)
+ plugin_LTLIBRARIES = wpg.la
+ wpg_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ wpg_la_LDFLAGS = \
+ 	$(WPG_LIBS) \
+
+--- a/plugins/xslfo/Makefile.in	2014-09-06 11:25:35.000000000 +0200
++++ b/plugins/xslfo/Makefile.in	2014-09-06 15:12:44.984441130 +0200
+@@ -425,7 +425,8 @@
+ @XSLFO_BUILTIN_FALSE@plugindir = $(ABIWORD_PLUGINSDIR)
+ @XSLFO_BUILTIN_FALSE@plugin_LTLIBRARIES = xslfo.la
+ xslfo_la_LIBADD = \
+-	xp/libxp.la
++	xp/libxp.la \
++	@top_builddir@/src/libabiword-2.8.la
+ 
+ xslfo_la_LDFLAGS = \
+ 	$(XSLFO_LIBS) \
diff --git a/gnu/packages/patches/abiword-no-include-glib-internal-headers.patch b/gnu/packages/patches/abiword-no-include-glib-internal-headers.patch
new file mode 100644
index 0000000000..60a74920fb
--- /dev/null
+++ b/gnu/packages/patches/abiword-no-include-glib-internal-headers.patch
@@ -0,0 +1,13 @@
+Include glib.h instead of an internal header.
+
+--- a/goffice-bits/goffice/app/goffice-app.h	2007-01-17 00:17:27.000000000 +0100
++++ b/goffice-bits/goffice/app/goffice-app.h	2014-09-05 19:02:59.402064713 +0200
+@@ -22,7 +22,7 @@
+ #ifndef GOFFICE_APP_H
+ #define GOFFICE_APP_H
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
diff --git a/gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch b/gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch
new file mode 100644
index 0000000000..a17d465edb
--- /dev/null
+++ b/gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch
@@ -0,0 +1,608 @@
+gcc/g++ chokes on --no-undefined, so instead pass it directly to the linker.
+
+--- a/plugins/loadbindings/Makefile.in	2010-06-13 23:17:48.000000000 +0200
++++ b/plugins/loadbindings/Makefile.in	2014-09-06 11:03:21.151951221 +0200
+@@ -433,7 +433,7 @@
+ 	$(LOADBINDINGS_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ loadbindings_la_SOURCES = 
+ nodist_EXTRA_loadbindings_la_SOURCES = dummy.cpp
+
+--- a/plugins/pdf/Makefile.in	2010-06-13 23:17:53.000000000 +0200
++++ b/plugins/pdf/Makefile.in	2014-09-06 11:03:21.207951223 +0200
+@@ -431,7 +431,7 @@
+ 	$(PDF_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ pdf_la_SOURCES = 
+ nodist_EXTRA_pdf_la_SOURCES = dummy.cpp
+
+--- a/plugins/xslfo/Makefile.in	2010-06-13 23:17:55.000000000 +0200
++++ b/plugins/xslfo/Makefile.in	2014-09-06 11:03:21.227951224 +0200
+@@ -431,7 +431,7 @@
+ 	$(XSLFO_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ xslfo_la_SOURCES = 
+ nodist_EXTRA_xslfo_la_SOURCES = dummy.cpp
+
+--- a/plugins/gda/Makefile.in	2010-06-13 23:17:45.000000000 +0200
++++ b/plugins/gda/Makefile.in	2014-09-06 11:03:21.251951225 +0200
+@@ -425,7 +425,7 @@
+ 	$(GDA_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ gda_la_SOURCES = 
+ EXTRA_DIST = \
+
+--- a/plugins/wikipedia/Makefile.in	2010-06-13 23:17:54.000000000 +0200
++++ b/plugins/wikipedia/Makefile.in	2014-09-06 11:03:21.271951225 +0200
+@@ -431,7 +431,7 @@
+ 	$(WIKIPEDIA_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ wikipedia_la_SOURCES = 
+ nodist_EXTRA_wikipedia_la_SOURCES = dummy.cpp
+
+--- a/plugins/collab/Makefile.in	2010-06-13 23:17:41.000000000 +0200
++++ b/plugins/collab/Makefile.in	2014-09-06 11:03:21.291951226 +0200
+@@ -435,7 +435,7 @@
+ @TOOLKIT_COCOA_FALSE@	$(SYSTEM_LIBS) \
+ @TOOLKIT_COCOA_FALSE@	-avoid-version \
+ @TOOLKIT_COCOA_FALSE@	-module \
+-@TOOLKIT_COCOA_FALSE@	-no-undefined
++@TOOLKIT_COCOA_FALSE@	-Wl,--no-undefined
+ 
+ @TOOLKIT_COCOA_FALSE@collab_la_SOURCES = 
+ @TOOLKIT_COCOA_FALSE@nodist_EXTRA_collab_la_SOURCES = dummy.cpp
+
+--- a/plugins/paint/Makefile.in	2010-06-13 23:17:52.000000000 +0200
++++ b/plugins/paint/Makefile.in	2014-09-06 11:03:21.315951227 +0200
+@@ -432,7 +432,7 @@
+ 	$(PAINT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ paint_la_SOURCES = 
+ nodist_EXTRA_paint_la_SOURCES = dummy.cpp
+
+--- a/plugins/garble/Makefile.in	2010-06-13 23:17:45.000000000 +0200
++++ b/plugins/garble/Makefile.in	2014-09-06 11:03:21.335951227 +0200
+@@ -433,7 +433,7 @@
+ @TOOLKIT_COCOA_FALSE@	$(GARBLE_LIBS) \
+ @TOOLKIT_COCOA_FALSE@	-avoid-version \
+ @TOOLKIT_COCOA_FALSE@	-module \
+-@TOOLKIT_COCOA_FALSE@	-no-undefined
++@TOOLKIT_COCOA_FALSE@	-Wl,--no-undefined
+ 
+ @TOOLKIT_COCOA_FALSE@garble_la_SOURCES = 
+ @TOOLKIT_COCOA_FALSE@nodist_EXTRA_garble_la_SOURCES = dummy.cpp
+
+--- a/plugins/latex/Makefile.in	2010-06-13 23:17:48.000000000 +0200
++++ b/plugins/latex/Makefile.in	2014-09-06 11:03:21.359951228 +0200
+@@ -432,7 +432,7 @@
+ 	$(LATEX_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ latex_la_SOURCES = 
+ nodist_EXTRA_latex_la_SOURCES = dummy.cpp
+
+--- a/plugins/mht/Makefile.in	2010-06-13 23:17:49.000000000 +0200
++++ b/plugins/mht/Makefile.in	2014-09-06 11:03:21.379951229 +0200
+@@ -428,7 +428,7 @@
+ 	$(MHT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ mht_la_SOURCES = 
+ nodist_EXTRA_mht_la_SOURCES = dummy.cpp
+
+--- a/plugins/google/Makefile.in	2010-06-13 23:17:46.000000000 +0200
++++ b/plugins/google/Makefile.in	2014-09-06 11:03:21.399951230 +0200
+@@ -431,7 +431,7 @@
+ 	$(GOOGLE_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ google_la_SOURCES = 
+ nodist_EXTRA_google_la_SOURCES = dummy.cpp
+
+--- a/plugins/babelfish/Makefile.in	2010-06-13 23:17:40.000000000 +0200
++++ b/plugins/babelfish/Makefile.in	2014-09-06 11:03:21.419951230 +0200
+@@ -431,7 +431,7 @@
+ 	$(BABELFISH_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ babelfish_la_SOURCES = 
+ nodist_EXTRA_babelfish_la_SOURCES = dummy.cpp
+
+--- a/plugins/opendocument/Makefile.in	2010-06-13 23:17:50.000000000 +0200
++++ b/plugins/opendocument/Makefile.in	2014-09-06 11:03:21.443951231 +0200
+@@ -436,7 +436,7 @@
+ 	$(OPENDOCUMENT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ opendocument_la_SOURCES = 
+ 
+--- a/plugins/opml/Makefile.in	2010-06-13 23:17:51.000000000 +0200
++++ b/plugins/opml/Makefile.in	2014-09-06 11:03:21.463951232 +0200
+@@ -431,7 +431,7 @@
+ 	$(OPML_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ opml_la_SOURCES = 
+ nodist_EXTRA_opml_la_SOURCES = dummy.cpp
+
+--- a/plugins/gimp/Makefile.in	2010-06-13 23:17:46.000000000 +0200
++++ b/plugins/gimp/Makefile.in	2014-09-06 11:03:21.483951232 +0200
+@@ -431,7 +431,7 @@
+ 	$(GIMP_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ gimp_la_SOURCES = 
+ nodist_EXTRA_gimp_la_SOURCES = dummy.cpp
+
+--- a/plugins/mswrite/Makefile.in	2010-06-13 23:17:49.000000000 +0200
++++ b/plugins/mswrite/Makefile.in	2014-09-06 11:03:21.507951233 +0200
+@@ -431,7 +431,7 @@
+ 	$(MSWRITE_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ mswrite_la_SOURCES = 
+ nodist_EXTRA_mswrite_la_SOURCES = dummy.cpp
+
+--- a/plugins/wordperfect/Makefile.in	2010-06-13 23:17:55.000000000 +0200
++++ b/plugins/wordperfect/Makefile.in	2014-09-06 11:03:21.527951234 +0200
+@@ -429,7 +429,7 @@
+ 	$(WORDPERFECT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ wordperfect_la_SOURCES = 
+ nodist_EXTRA_wordperfect_la_SOURCES = dummy.cpp
+
+--- a/plugins/pdb/Makefile.in	2010-06-13 23:17:53.000000000 +0200
++++ b/plugins/pdb/Makefile.in	2014-09-06 11:03:21.547951234 +0200
+@@ -431,7 +431,7 @@
+ 	$(PDB_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ pdb_la_SOURCES = 
+ nodist_EXTRA_pdb_la_SOURCES = dummy.cpp
+
+--- a/plugins/ots/Makefile.in	2010-06-13 23:17:52.000000000 +0200
++++ b/plugins/ots/Makefile.in	2014-09-06 11:03:21.571951235 +0200
+@@ -425,7 +425,7 @@
+ 	$(OTS_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ ots_la_SOURCES = 
+ EXTRA_DIST = \
+
+--- a/plugins/wml/Makefile.in	2010-06-13 23:17:55.000000000 +0200
++++ b/plugins/wml/Makefile.in	2014-09-06 11:03:21.591951236 +0200
+@@ -431,7 +431,7 @@
+ 	$(WML_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ wml_la_SOURCES = 
+ nodist_EXTRA_wml_la_SOURCES = dummy.cpp
+
+--- a/plugins/bmp/Makefile.in	2010-06-13 23:17:40.000000000 +0200
++++ b/plugins/bmp/Makefile.in	2014-09-06 11:03:21.615951237 +0200
+@@ -431,7 +431,7 @@
+ 	$(BMP_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ bmp_la_SOURCES = 
+ nodist_EXTRA_bmp_la_SOURCES = dummy.cpp
+
+--- a/plugins/applix/Makefile.in	2010-06-13 23:17:40.000000000 +0200
++++ b/plugins/applix/Makefile.in	2014-09-06 11:03:21.635951237 +0200
+@@ -431,7 +431,7 @@
+ 	$(APPLIX_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ applix_la_SOURCES = 
+ 
+--- a/plugins/iscii/Makefile.in	2010-06-13 23:17:47.000000000 +0200
++++ b/plugins/iscii/Makefile.in	2014-09-06 11:03:21.659951238 +0200
+@@ -431,7 +431,7 @@
+ 	$(ISCII_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ iscii_la_SOURCES = 
+ nodist_EXTRA_iscii_la_SOURCES = dummy.cpp
+
+--- a/plugins/gdict/Makefile.in	2010-06-13 23:17:46.000000000 +0200
++++ b/plugins/gdict/Makefile.in	2014-09-06 11:03:21.679951239 +0200
+@@ -429,7 +429,7 @@
+ @TOOLKIT_GTK_TRUE@	$(GDICT_LIBS) \
+ @TOOLKIT_GTK_TRUE@	-avoid-version \
+ @TOOLKIT_GTK_TRUE@	-module \
+-@TOOLKIT_GTK_TRUE@	-no-undefined
++@TOOLKIT_GTK_TRUE@	-Wl,--no-undefined
+ 
+ @TOOLKIT_GTK_TRUE@gdict_la_SOURCES = 
+ @TOOLKIT_GTK_TRUE@EXTRA_DIST = \
+
+--- a/plugins/openwriter/Makefile.in	2010-06-13 23:17:50.000000000 +0200
++++ b/plugins/openwriter/Makefile.in	2014-09-06 11:03:21.699951239 +0200
+@@ -432,7 +432,7 @@
+ 	$(OPENWRITER_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ openwriter_la_SOURCES = 
+ nodist_EXTRA_openwriter_la_SOURCES = dummy.cpp
+
+--- a/plugins/sdw/Makefile.in	2010-06-13 23:17:54.000000000 +0200
++++ b/plugins/sdw/Makefile.in	2014-09-06 11:03:21.723951240 +0200
+@@ -431,7 +431,7 @@
+ 	$(SDW_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ sdw_la_SOURCES = 
+ nodist_EXTRA_sdw_la_SOURCES = dummy.cpp
+
+--- a/plugins/grammar/Makefile.in	2010-06-13 23:17:47.000000000 +0200
++++ b/plugins/grammar/Makefile.in	2014-09-06 11:03:21.747951241 +0200
+@@ -430,7 +430,7 @@
+ 	$(GRAMMAR_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ nodist_EXTRA_grammar_la_SOURCES = dummy.cpp
+ grammar_la_SOURCES = 
+
+--- a/plugins/urldict/Makefile.in	2010-06-13 23:17:54.000000000 +0200
++++ b/plugins/urldict/Makefile.in	2014-09-06 11:03:21.779951242 +0200
+@@ -431,7 +431,7 @@
+ 	$(URLDICT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ urldict_la_SOURCES = 
+ nodist_EXTRA_urldict_la_SOURCES = dummy.cpp
+
+--- a/plugins/wmf/Makefile.in	2010-06-13 23:17:55.000000000 +0200
++++ b/plugins/wmf/Makefile.in	2014-09-06 11:03:21.799951243 +0200
+@@ -428,7 +428,7 @@
+ 	$(WMF_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ wmf_la_SOURCES = 
+ nodist_EXTRA_wmf_la_SOURCES = dummy.cpp
+
+--- a/plugins/mif/Makefile.in	2010-06-13 23:17:49.000000000 +0200
++++ b/plugins/mif/Makefile.in	2014-09-06 11:03:21.819951243 +0200
+@@ -431,7 +431,7 @@
+ 	$(MIF_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ mif_la_SOURCES = 
+ nodist_EXTRA_mif_la_SOURCES = dummy.cpp
+
+--- a/plugins/eml/Makefile.in	2010-06-13 23:17:45.000000000 +0200
++++ b/plugins/eml/Makefile.in	2014-09-06 11:03:21.843951244 +0200
+@@ -431,7 +431,7 @@
+ 	$(EML_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ eml_la_SOURCES = 
+ nodist_EXTRA_eml_la_SOURCES = dummy.cpp
+
+--- a/plugins/openxml/Makefile.in	2010-06-13 23:17:51.000000000 +0200
++++ b/plugins/openxml/Makefile.in	2014-09-06 11:03:21.863951245 +0200
+@@ -434,7 +434,7 @@
+ 	$(OPENXML_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ openxml_la_SOURCES = 
+ nodist_EXTRA_openxml_la_SOURCES = dummy.cpp
+
+--- a/plugins/goffice/Makefile.in	2010-06-13 23:17:46.000000000 +0200
++++ b/plugins/goffice/Makefile.in	2014-09-06 11:03:21.883951245 +0200
+@@ -425,7 +425,7 @@
+ 	$(GOFFICE_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ goffice_la_SOURCES = 
+ EXTRA_DIST = \
+
+--- a/plugins/passepartout/Makefile.in	2010-06-13 23:17:52.000000000 +0200
++++ b/plugins/passepartout/Makefile.in	2014-09-06 11:03:21.907951246 +0200
+@@ -433,7 +433,7 @@
+ 	$(PASSEPARTOUT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ passepartout_la_SOURCES = 
+ nodist_EXTRA_passepartout_la_SOURCES = dummy.cpp
+
+--- a/plugins/clarisworks/Makefile.in	2010-06-13 23:17:41.000000000 +0200
++++ b/plugins/clarisworks/Makefile.in	2014-09-06 11:03:21.927951247 +0200
+@@ -433,7 +433,7 @@
+ 	$(CLARISWORKS_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ clarisworks_la_SOURCES = 
+ nodist_EXTRA_clarisworks_la_SOURCES = dummy.cpp
+
+--- a/plugins/command/Makefile.in	2010-06-13 23:17:44.000000000 +0200
++++ b/plugins/command/Makefile.in	2014-09-06 11:03:21.947951247 +0200
+@@ -426,7 +426,7 @@
+ @TOOLKIT_COCOA_FALSE@	$(COMMAND_LIBS) \
+ @TOOLKIT_COCOA_FALSE@	-avoid-version \
+ @TOOLKIT_COCOA_FALSE@	-module \
+-@TOOLKIT_COCOA_FALSE@	-no-undefined
++@TOOLKIT_COCOA_FALSE@	-Wl,--no-undefined
+ 
+ @TOOLKIT_COCOA_FALSE@command_la_SOURCES = 
+ all: all-recursive
+
+--- a/plugins/presentation/Makefile.in	2010-06-13 23:17:53.000000000 +0200
++++ b/plugins/presentation/Makefile.in	2014-09-06 11:03:21.971951248 +0200
+@@ -433,7 +433,7 @@
+ 	$(PRESENTATION_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ presentation_la_SOURCES = 
+ nodist_EXTRA_presentation_la_SOURCES = dummy.cpp
+
+--- a/plugins/psion/Makefile.in	2010-06-13 23:17:53.000000000 +0200
++++ b/plugins/psion/Makefile.in	2014-09-06 11:03:21.991951249 +0200
+@@ -427,7 +427,7 @@
+ 	$(PSION_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ psion_la_SOURCES = 
+ EXTRA_DIST = \
+
+--- a/plugins/rsvg/Makefile.in	2010-06-13 23:17:53.000000000 +0200
++++ b/plugins/rsvg/Makefile.in	2014-09-06 11:03:22.011951250 +0200
+@@ -430,7 +430,7 @@
+ rsvg_la_LDFLAGS = \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ rsvg_la_SOURCES = 
+ nodist_EXTRA_rsvg_la_SOURCES = dummy.cpp
+
+--- a/plugins/wpg/Makefile.in	2010-06-13 23:17:55.000000000 +0200
++++ b/plugins/wpg/Makefile.in	2014-09-06 11:03:22.035951250 +0200
+@@ -428,7 +428,7 @@
+ 	$(WPG_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ wpg_la_SOURCES = 
+ nodist_EXTRA_wpg_la_SOURCES = dummy.cpp
+
+--- a/plugins/t602/Makefile.in	2010-06-13 23:17:54.000000000 +0200
++++ b/plugins/t602/Makefile.in	2014-09-06 11:03:22.055951251 +0200
+@@ -431,7 +431,7 @@
+ 	$(T602_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ t602_la_SOURCES = 
+ nodist_EXTRA_t602_la_SOURCES = dummy.cpp
+
+--- a/plugins/docbook/Makefile.in	2010-06-13 23:17:44.000000000 +0200
++++ b/plugins/docbook/Makefile.in	2014-09-06 11:03:22.075951252 +0200
+@@ -431,7 +431,7 @@
+ 	$(DOCBOOK_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ docbook_la_SOURCES = 
+ nodist_EXTRA_docbook_la_SOURCES = dummy.cpp
+
+--- a/plugins/hrtext/Makefile.in	2010-06-13 23:17:47.000000000 +0200
++++ b/plugins/hrtext/Makefile.in	2014-09-06 11:03:22.099951252 +0200
+@@ -431,7 +431,7 @@
+ 	$(HRTEXT_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ hrtext_la_SOURCES = 
+ nodist_EXTRA_hrtext_la_SOURCES = dummy.cpp 
+
+--- a/plugins/s5/Makefile.in	2010-06-13 23:17:54.000000000 +0200
++++ b/plugins/s5/Makefile.in	2014-09-06 11:03:22.119951253 +0200
+@@ -431,7 +431,7 @@
+ 	$(S5_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ s5_la_SOURCES = 
+ nodist_EXTRA_s5_la_SOURCES = dummy.cpp
+
+--- a/plugins/hancom/Makefile.in	2010-06-13 23:17:47.000000000 +0200
++++ b/plugins/hancom/Makefile.in	2014-09-06 11:03:22.143951254 +0200
+@@ -431,7 +431,7 @@
+ 	$(HANCOM_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ hancom_la_SOURCES = 
+ nodist_EXTRA_hancom_la_SOURCES = dummy.cpp
+
+--- a/plugins/aiksaurus/Makefile.in	2010-06-13 23:17:40.000000000 +0200
++++ b/plugins/aiksaurus/Makefile.in	2014-09-06 11:03:22.163951255 +0200
+@@ -428,7 +428,7 @@
+ 	$(AIKSAURUS_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ aiksaurus_la_SOURCES = 
+ all: all-recursive
+
+--- a/plugins/kword/Makefile.in	2010-06-13 23:17:48.000000000 +0200
++++ b/plugins/kword/Makefile.in	2014-09-06 11:03:22.183951255 +0200
+@@ -431,7 +431,7 @@
+ 	$(KWORD_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ kword_la_SOURCES = 
+ nodist_EXTRA_kword_la_SOURCES = dummy.cpp
+
+--- a/plugins/freetranslation/Makefile.in	2010-06-13 23:17:45.000000000 +0200
++++ b/plugins/freetranslation/Makefile.in	2014-09-06 11:03:22.207951256 +0200
+@@ -433,7 +433,7 @@
+ 	$(FREETRANSLATION_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ freetranslation_la_SOURCES = 
+ nodist_EXTRA_freetranslation_la_SOURCES = dummy.cpp
+
+--- a/plugins/mathview/Makefile.in	2010-06-13 23:17:48.000000000 +0200
++++ b/plugins/mathview/Makefile.in	2014-09-06 11:03:22.227951257 +0200
+@@ -429,7 +429,7 @@
+ 	$(MATHVIEW_LIBS) \
+ 	-avoid-version \
+ 	-module \
+-	-no-undefined
++	-Wl,--no-undefined
+ 
+ nodist_EXTRA_mathview_la_SOURCES = dummy.cpp
+ mathview_la_SOURCES = 
+
+--- a/src/Makefile.in	2014-09-06 08:42:45.000000000 +0200
++++ b/src/Makefile.in	2014-09-06 11:17:48.287979611 +0200
+@@ -538,7 +538,7 @@
+ 
+ @TOOLKIT_COCOA_TRUE@AbiWord_LDFLAGS = \
+ @TOOLKIT_COCOA_TRUE@	$(DEPS_LIBS) \
+-@TOOLKIT_COCOA_TRUE@	--no-undefined \
++@TOOLKIT_COCOA_TRUE@	-Wl,--no-undefined \
+ @TOOLKIT_COCOA_TRUE@	-avoid-version \
+ @TOOLKIT_COCOA_TRUE@	-export-dynamic \
+ @TOOLKIT_COCOA_TRUE@	-headerpad_max_install_names 
+@@ -554,7 +554,7 @@
+ 
+ @TOOLKIT_COCOA_FALSE@abiword_LDFLAGS = \
+ @TOOLKIT_COCOA_FALSE@	$(platform_ldflags) \
+-@TOOLKIT_COCOA_FALSE@	--no-undefined      \
++@TOOLKIT_COCOA_FALSE@	-Wl,--no-undefined      \
+ @TOOLKIT_COCOA_FALSE@	-avoid-version      \
+ @TOOLKIT_COCOA_FALSE@	-export-dynamic
+ 
diff --git a/gnu/packages/patches/abiword-use-proper-png-api.patch b/gnu/packages/patches/abiword-use-proper-png-api.patch
new file mode 100644
index 0000000000..e8ce02899d
--- /dev/null
+++ b/gnu/packages/patches/abiword-use-proper-png-api.patch
@@ -0,0 +1,175 @@
+Do not directly access the fields of png_struct and png_info.
+
+--- a/plugins/mswrite/xp/ie_imp_MSWrite.cpp	2010-05-30 21:20:53.000000000 +0200
++++ b/plugins/mswrite/xp/ie_imp_MSWrite.cpp	2014-09-07 06:58:04.162298089 +0200
+@@ -891,7 +891,7 @@
+ 		info_ptr = png_create_info_struct (png_ptr);
+ 		if (!info_ptr) goto err;
+ 		
+-		if (setjmp (png_ptr->jmpbuf) ) {
++		if (setjmp (png_jmpbuf(png_ptr)) ) {
+ 			png_destroy_write_struct (&png_ptr, &info_ptr);
+ 			goto err;
+ 		}
+
+--- a/src/af/gr/win/gr_Win32Image.cpp	2009-07-08 19:33:53.000000000 +0200
++++ b/src/af/gr/win/gr_Win32Image.cpp	2014-09-07 06:58:04.198298090 +0200
+@@ -148,7 +148,7 @@
+ 	info_ptr = png_create_info_struct(png_ptr);
+ 
+ 	// libpng will longjmp back to here if a fatal error occurs
+-	if (setjmp(png_ptr->jmpbuf))
++	if (setjmp(png_jmpbuf(png_ptr)))
+ 	{
+ 		/* If we get here, we had a problem reading the file */
+ 		png_destroy_write_struct(&png_ptr,  (png_infopp)NULL);
+@@ -547,7 +547,7 @@
+ 	 * the normal method of doing things with libpng).  REQUIRED unless you
+ 	 * set up your own error handlers in the png_create_read_struct() earlier.
+ 	 */
+-	if (setjmp(png_ptr->jmpbuf))
++	if (setjmp(png_jmpbuf(png_ptr)))
+ 	{
+ 		/* Free all of the memory associated with the png_ptr and info_ptr */
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
+
+--- a/src/af/util/xp/ut_png.cpp	2008-02-24 04:33:07.000000000 +0100
++++ b/src/af/util/xp/ut_png.cpp	2014-09-07 06:58:04.230298091 +0200
+@@ -71,7 +71,7 @@
+ 	 * the normal method of doing things with libpng).  REQUIRED unless you
+ 	 * set up your own error handlers in the png_create_read_struct() earlier.
+ 	 */
+-	if (setjmp(png_ptr->jmpbuf))
++	if (setjmp(png_jmpbuf(png_ptr)))
+ 	{
+ 		/* Free all of the memory associated with the png_ptr and info_ptr */
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, static_cast<png_infopp>(NULL));
+
+--- a/plugins/bmp/xp/ie_impGraphic_BMP.cpp	2009-06-25 06:02:06.000000000 +0200
++++ b/plugins/bmp/xp/ie_impGraphic_BMP.cpp	2014-09-07 06:59:08.814300205 +0200
+@@ -313,7 +313,7 @@
+ 	 * the normal method of doing things with libpng).  REQUIRED unless you
+ 	 * set up your own error handlers in the png_create_read_struct() earlier.
+ 	 */
+-	if (setjmp(m_pPNG->jmpbuf))
++	if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		/* Free all of the memory associated with the png_ptr and info_ptr */
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -332,7 +332,7 @@
+ 	UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB)
+ 	{
+ 		/* Reset error handling for libpng */
+-		if (setjmp(m_pPNG->jmpbuf))
++		if (setjmp(png_jmpbuf(m_pPNG)))
+ 		{
+ 			png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ 			return UT_ERROR;
+@@ -372,7 +372,7 @@
+ UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB)
+ {
+ 	/* Reset error handling for libpng */
+-	if (setjmp(m_pPNG->jmpbuf))
++	if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ 		return UT_ERROR;
+
+--- a/plugins/rsvg/xp/AbiRSVG.cpp	2009-06-25 06:02:06.000000000 +0200
++++ b/plugins/rsvg/xp/AbiRSVG.cpp	2014-09-07 06:59:08.914300209 +0200
+@@ -145,7 +145,7 @@
+ 				return error;
+ 			}
+ 		
+-		if (setjmp(m_pPNG->jmpbuf))
++		if (setjmp(png_jmpbuf(m_pPNG)))
+ 			{
+ 				g_object_unref(G_OBJECT(pixbuf));
+ 				png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -234,7 +234,7 @@
+ 		 * the normal method of doing things with libpng).  REQUIRED unless you
+ 		 * set up your own error handlers in the png_create_read_struct() earlier.
+ 		 */
+-		if (setjmp(m_pPNG->jmpbuf))
++		if (setjmp(png_jmpbuf(m_pPNG)))
+ 			{
+ 				/* Free all of the memory associated with the png_ptr and info_ptr */
+ 				png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+
+--- a/src/wp/impexp/win/ie_impGraphic_Win32Native.cpp	2009-07-07 18:50:18.000000000 +0200
++++ b/src/wp/impexp/win/ie_impGraphic_Win32Native.cpp	2014-09-07 06:59:09.018300212 +0200
+@@ -501,7 +501,7 @@
+      * the normal method of doing things with libpng).  REQUIRED unless you
+      * set up your own error handlers in the png_create_read_struct() earlier.
+      */
+-    if (setjmp(m_pPNG->jmpbuf))
++    if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		/* Free all of the memory associated with the png_ptr and info_ptr */
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -520,7 +520,7 @@
+ UT_Error IE_ImpGraphic_Win32Native::Convert_BMP_Palette(UT_ByteBuf* pBB)
+ {
+     /* Reset error handling for libpng */
+-    if (setjmp(m_pPNG->jmpbuf))
++    if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ 		return UT_ERROR;
+@@ -560,7 +560,7 @@
+ UT_Error IE_ImpGraphic_Win32Native::Convert_BMP(UT_ByteBuf* pBB)
+ {
+     /* Reset error handling for libpng */
+-    if (setjmp(m_pPNG->jmpbuf))
++    if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ 		return UT_ERROR;
+
+--- a/src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp	2009-07-01 06:02:04.000000000 +0200
++++ b/src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp	2014-09-07 06:59:09.138300216 +0200
+@@ -185,7 +185,7 @@
+ /** needed for the stejmp context */
+ UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf)
+ {
+-	if (setjmp(m_pPNG->jmpbuf))
++	if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		DELETEP(m_pPngBB);
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -446,7 +446,7 @@
+ 	 * the normal method of doing things with libpng).  REQUIRED unless you
+ 	 * set up your own error handlers in the png_create_read_struct() earlier.
+ 	 */
+-	if (setjmp(m_pPNG->jmpbuf))
++	if (setjmp(png_jmpbuf(m_pPNG)))
+ 	{
+ 		/* Free all of the memory associated with the png_ptr and info_ptr */
+ 		png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+
+--- a/plugins/bmp/xp/ie_impGraphic_BMP.cpp	2014-09-07 07:03:02.000000000 +0200
++++ b/plugins/bmp/xp/ie_impGraphic_BMP.cpp	2014-09-07 12:35:33.306961036 +0200
+@@ -191,7 +191,11 @@
+ 
+ 	/* Clean Up Memory Used */
+ 		
+-	FREEP(m_pPNGInfo->palette);
++	
++	png_colorp palette;
++	int ignored_placeholder;
++	png_get_PLTE(m_pPNG, m_pPNGInfo, &palette, &ignored_placeholder);
++	FREEP(palette);
+ 	DELETEP(pBB);
+ 	png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+    
+--- a/plugins/garble/xp/abiword-garble-png.cpp	2009-09-05 17:34:44.000000000 +0200
++++ b/plugins/garble/xp/abiword-garble-png.cpp	2014-09-08 00:15:04.508335153 +0200
+@@ -79,7 +79,7 @@
+ 		png_set_strip_alpha( png_ptr );
+ 		png_set_interlace_handling( png_ptr );
+ 		png_set_bgr( png_ptr );
+-		rowbytes = info_ptr->rowbytes;
++		rowbytes = png_get_rowbytes( png_ptr, info_ptr );
+ 		png_destroy_read_struct( &png_ptr, &info_ptr, NULL );
+ 	}
+ 
diff --git a/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch b/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch
new file mode 100644
index 0000000000..f27f32f30b
--- /dev/null
+++ b/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch
@@ -0,0 +1,28 @@
+The way the configure script determines the version of libwmf is by temporarily
+making dots separator characters, but since the file name of the program which
+returns the version contains dots in Guix (the version in the store entry name),
+doing it this way will always fail.
+
+This is a simple guix-specific fix for the problem.
+
+--- a/configure	2010-06-13 23:17:37.000000000 +0200
++++ b/configure	2014-09-08 17:31:52.102371800 +0200
+@@ -21140,13 +21140,11 @@
+ $as_echo "$as_me: WARNING: wmf plugin: program libwmf-config not found in path" >&2;}
+ 		fi
+ 	else
+-		IFS_old="$IFS"
+-		IFS='.'
+-		set -- `$libwmfconfig --version`
+-		libwmf_major_found="${1}"
+-		libwmf_minor_found="${2}"
+-		libwmf_micro_found="${3}"
+-		IFS="$IFS_old"
++		libwmf_fullver_found=`$libwmfconfig --version`
++		libwmf_major_found=$(echo $libwmf_fullver_found |  cut -d . -f 1)
++		libwmf_minor_found=$(echo $libwmf_fullver_found |  cut -d . -f 2)
++		libwmf_micro_found=$(echo $libwmf_fullver_found |  cut -d . -f 3)
++
+ 		if test "$libwmf_major_found" -gt "$libwmf_major_req"; then
+ 			wmf_deps="yes"
+ 		elif test "$libwmf_major_found" -eq "$libwmf_major_req" &&
diff --git a/gnu/packages/patches/lua51-liblua-so.patch b/gnu/packages/patches/lua51-liblua-so.patch
new file mode 100644
index 0000000000..6795f10ac7
--- /dev/null
+++ b/gnu/packages/patches/lua51-liblua-so.patch
@@ -0,0 +1,65 @@
+
+Patch the two Makefile to also create liblua.so
+Original patch by Allan McRae <allan@archlinux.org>
+for Archlinux
+
+
+diff -ruN lua-5.1.5/Makefile lua-5.1.5-new/Makefile
+--- lua-5.1.5/Makefile	2012-02-10 10:50:23.000000000 +0100
++++ lua-5.1.5-new/Makefile	2014-09-10 20:17:28.913951433 +0200
+@@ -43,7 +43,7 @@
+ # What to install.
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.a liblua.so liblua.so.${V}
+ TO_MAN= lua.1 luac.1
+ 
+ # Lua version and release.
+@@ -53,7 +53,7 @@
+ all:	$(PLAT)
+ 
+ $(PLATS) clean:
+-	cd src && $(MAKE) $@
++	cd src && $(MAKE) $@ V=$(V) R=$(R)
+ 
+ test:	dummy
+ 	src/lua test/hello.lua
+diff -ruN lua-5.1.5/src/Makefile lua-5.1.5-new/src/Makefile
+--- lua-5.1.5/src/Makefile	2012-02-13 21:41:22.000000000 +0100
++++ lua-5.1.5-new/src/Makefile	2014-09-10 20:16:09.982952152 +0200
+@@ -8,7 +8,7 @@
+ PLAT= none
+ 
+ CC= gcc
+-CFLAGS= -O2 -Wall $(MYCFLAGS)
++CFLAGS= -O2 -Wall $(MYCFLAGS) -fPIC
+ AR= ar rcu
+ RANLIB= ranlib
+ RM= rm -f
+@@ -34,9 +34,10 @@
+ 
+ LUAC_T=	luac
+ LUAC_O=	luac.o print.o
++LUA_SO= liblua.so
+ 
+ ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+ 
+ default: $(PLAT)
+@@ -57,6 +58,13 @@
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ 	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+ 
++$(LUA_SO): $(CORE_O) $(LIB_O)
++	$(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++	ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++	ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
++
++
+ clean:
+ 	$(RM) $(ALL_T) $(ALL_O)
+ 
diff --git a/gnu/packages/patches/ots-no-include-missing-file.patch b/gnu/packages/patches/ots-no-include-missing-file.patch
new file mode 100644
index 0000000000..c23c7c36a1
--- /dev/null
+++ b/gnu/packages/patches/ots-no-include-missing-file.patch
@@ -0,0 +1,14 @@
+The file $(top_srcdir)/gtk-doc.make doesn't exist, so don't include it.
+
+--- a/doc/Makefile.in	2007-04-08 20:17:25.000000000 +0200
++++ b/doc/Makefile.in	2014-09-06 23:19:41.413397662 +0200
+@@ -240,9 +240,6 @@
+ distclean-generic clean-generic maintainer-clean-generic clean \
+ mostlyclean distclean maintainer-clean
+ 
+-
+-include $(top_srcdir)/gtk-doc.make
+-
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/gnu/packages/postgresql.scm b/gnu/packages/postgresql.scm
deleted file mode 100644
index d6b505f6a2..0000000000
--- a/gnu/packages/postgresql.scm
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 David Thompson <davet@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 postgresql)
-  #:use-module ((guix licenses) #:select (x11-style))
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages readline))
-
-(define-public postgresql
-  (package
-   (name "postgresql")
-   (version "9.3.5")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "http://ftp.postgresql.org/pub/source/v"
-                                version "/postgresql-" version ".tar.gz"))
-            (sha256
-             (base32
-              "08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g"))))
-   (build-system gnu-build-system)
-   (inputs
-    `(("readline" ,readline)
-      ("zlib" ,zlib)))
-   (home-page "http://www.postgresql.org/")
-   (synopsis "Powerful object-relational database system")
-   (description
-    "PostgreSQL is a powerful object-relational database system.  It is fully
-ACID compliant, has full support for foreign keys, joins, views, triggers, and
-stored procedures (in multiple languages).  It includes most SQL:2008 data
-types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and
-TIMESTAMP.  It also supports storage of binary large objects, including
-pictures, sounds, or video.")
-   (license (x11-style "file://COPYRIGHT"))))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 81b6c956a9..3046c3b1e1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -36,7 +36,7 @@
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages zip)
   #:use-module (gnu packages multiprecision)
   #:use-module (guix packages)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4d367d8ab7..ced7e90575 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -30,7 +30,7 @@
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
-  #:use-module (gnu packages mysql)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 7634e48018..19a68be229 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -23,7 +23,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
diff --git a/gnu/packages/recutils.scm b/gnu/packages/recutils.scm
deleted file mode 100644
index 7e78ac121d..0000000000
--- a/gnu/packages/recutils.scm
+++ /dev/null
@@ -1,66 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 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 recutils)
-  #:use-module (guix licenses)
-  #:use-module (gnu packages)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (gnu packages emacs)
-  #:use-module (gnu packages check)
-  #:use-module (gnu packages algebra)
-  #:use-module (gnu packages curl)
-  #:use-module (gnu packages gnupg))
-
-(define-public recutils
-  (package
-   (name "recutils")
-   (version "1.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnu/recutils/recutils-"
-                                version ".tar.gz"))
-            (sha256
-             (base32
-              "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))))
-   (build-system gnu-build-system)
-
-   ;; Running tests in parallel leads to test failures and crashes in
-   ;; torture/utils.
-   (arguments '(#:parallel-tests? #f))
-
-   (native-inputs `(("emacs" ,emacs)
-                    ("bc" ,bc)))
-
-   ;; TODO: Add more optional inputs.
-   ;; FIXME: Our Bash doesn't have development headers (need for the 'readrec'
-   ;; built-in command), but it's not clear how to get them installed.
-   ;; See <https://lists.gnu.org/archive/html/bug-bash/2014-03/msg00125.html>.
-   (inputs `(("curl" ,curl)
-             ("libgcrypt" ,libgcrypt)
-             ("check" ,check)))
-   (synopsis "Manipulate plain text files as databases")
-   (description
-    "GNU Recutils is a set of tools and libraries for creating and
-manipulating text-based, human-editable databases.  Despite being text-based,
-databases created with Recutils carry all of the expected features such as
-unique fields, primary keys, time stamps and more. Many different field types
-are supported, as is encryption.")
-   (license gpl3+)
-   (home-page "http://www.gnu.org/software/recutils/")))
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm
deleted file mode 100644
index e19160a864..0000000000
--- a/gnu/packages/sqlite.scm
+++ /dev/null
@@ -1,63 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 sqlite)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (gnu packages)
-  #:use-module (srfi srfi-26)
-  #:use-module (ice-9 match))
-
-(define-public sqlite
-  (package
-   (name "sqlite")
-   (version "3.8.4.3")
-   (source (origin
-            (method url-fetch)
-            ;; TODO: Download from sqlite.org once this bug :
-            ;; http://lists.gnu.org/archive/html/bug-guile/2013-01/msg00027.html
-            ;; has been fixed.
-            (uri (let ((numeric-version
-                        (match (string-split version #\.)
-                          ((first-digit other-digits ...)
-                           (string-append first-digit
-                                          (string-pad-right
-                                           (string-concatenate
-                                            (map (cut string-pad <> 2 #\0)
-                                                 other-digits))
-                                           6 #\0))))))
-                   (string-append
-                    "mirror://sourceforge/sqlite.mirror/SQLite%20" version
-                    "/sqlite-autoconf-" numeric-version ".tar.gz")))
-            (sha256
-             (base32
-              "0rcdsk5sz34w8vy0g5yhfms4saiq81i872jxx5m5sjij7bi9bsg0"))
-            (patches
-             (list (search-patch "sqlite-large-page-size-fix.patch")))))
-   (build-system gnu-build-system)
-   (home-page "http://www.sqlite.org/")
-   (synopsis "The SQLite database management system")
-   (description
-    "SQLite is a software library that implements a self-contained, serverless,
-zero-configuration, transactional SQL database engine. SQLite is the most
-widely deployed SQL database engine in the world. The source code for SQLite is
-in the public domain.")
-   (license public-domain)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 83ad35fb77..89b26e69df 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -44,7 +44,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages emacs)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2873c49e3b..2fabf2679d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -383,7 +383,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2014.06.26")
+    (version "2014.09.06")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://youtube-dl.org/downloads/"
@@ -391,7 +391,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0jl90plg9mz4mwich219a58y4npwi33myx0cx44v8pymkqykv5cd"))))
+                "1a50vqgzp9wjh2763shald6dlmdd5qlqy83vg4yrihdrlh8sk6dd"))))
     (build-system python-build-system)
     (inputs `(("setuptools" ,python-setuptools)))
     (home-page "http://youtube-dl.org")
diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm
new file mode 100644
index 0000000000..5555601d47
--- /dev/null
+++ b/gnu/packages/weechat.scm
@@ -0,0 +1,101 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.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/>.
+
+;; TODO: Add ruby
+
+(define-module (gnu packages weechat)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages file)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages tcl)
+  #:use-module (gnu packages aspell)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages autogen)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:select (gpl3)))
+
+(define-public weechat
+  (package
+    (name "weechat")
+    (version "1.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://weechat.org/files/src/weechat-"
+                                  version ".tar.gz"))
+             (sha256
+              (base32 "1z17wyrl5fp697qp44srpmzk79w37f5hm1r0krffbmga6sbzdj3x"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("autoconf" ,autoconf)
+                     ("pkg-config" ,pkg-config)
+                     ("file" ,file)
+                     ("autogen" ,autogen)
+                     ("automake" ,automake)))
+    (inputs `(("ncurses" ,ncurses)
+              ("diffutils" ,diffutils)
+              ("gettext" ,gnu-gettext)
+              ("libtool" ,libtool "bin")
+              ("libtool" ,libtool "out")
+              ("libgcrypt" ,libgcrypt "out")
+              ("zlib" ,zlib)
+              ("aspell" ,aspell)
+              ("curl" ,curl)
+              ("gnutls" ,gnutls)
+              ("guile" ,guile-2.0)
+              ("openssl" ,openssl)
+              ("cyrus-sasl" ,cyrus-sasl)
+              ("lua" ,lua-5.1)
+              ("python" ,python-2)
+              ("perl" ,perl)
+              ("tcl" ,tcl)))
+    (arguments `(#:configure-flags (list
+                                    (string-append
+                                     "--with-tclconfig="
+                                     (assoc-ref %build-inputs "tcl") "/lib"))
+                 #:phases (alist-cons-after
+                           'autogen 'fix-file
+                           (lambda _
+                             (substitute* "configure"
+                               (("/usr/bin/file") (which "file"))))
+                           (alist-cons-before
+                            'configure 'autogen
+                            (lambda _
+                              (zero? (system* "./autogen.sh")))
+                            %standard-phases))))
+    (synopsis "Extensible chat client")
+    (description "WeeChat (Wee Enhanced Environment for Chat) is an
+Internet Relay Chat client, which is designed to be light and fast.
+The client uses a curses frontend, and there are remote interfaces
+for Web, Qt, Android and Emacs.  In WeeChat everything can be done
+with a keyboard, though it also supports mouse.  It is customizable
+and extensible with plugins and scripts.")
+    (home-page "http://www.weechat.org/")
+    (license gpl3)))
diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm
new file mode 100644
index 0000000000..af8412cbc4
--- /dev/null
+++ b/gnu/packages/wv.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;;
+;;; 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 wv)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:)))
+
+(define-public wv
+  (package
+    (name "wv")
+    (version "1.2.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/wvware/wv/" version
+                                  "/wv-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1mn2ax6qjy3pvixlnvbkn6ymy6y4l2wxrr4brjaczm121s8hjcb7"))))
+
+    (build-system gnu-build-system)
+    (arguments
+      `(#:configure-flags '("--with-libwmf")))
+    (inputs
+      `(("glib" ,glib)
+        ("libgsf" ,libgsf)
+        ("libjpeg" ,libjpeg)
+        ("libpng" ,libpng)
+        ("libwmf" ,libwmf)
+        ("zlib" ,zlib)))
+    (native-inputs
+      `(("glib" ,glib "bin")
+        ("pkg-config" ,pkg-config)))
+    (synopsis "Microsoft Word conversion library and utilities")
+    (description
+      "wv converts Word 2,6,7,8,9 files to HTML and LaTeX.  The Word 2
+conversion is still incomplete (no formatting), but it will do a passable job
+extracting the text, which is what you probably want anyway.
+
+libwv can be used as a library by third party programs, AbiWord uses it as its
+word importer, and KWord may use it in the future.")
+    (home-page "http://wvware.sourceforge.net/")
+    (license license:gpl2+)))
diff --git a/gnu/packages/zsh.scm b/gnu/packages/zsh.scm
new file mode 100644
index 0000000000..778085c3c2
--- /dev/null
+++ b/gnu/packages/zsh.scm
@@ -0,0 +1,73 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.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 zsh)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages autotools)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public zsh
+  (package
+    (name "zsh")
+    (version "5.0.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://www.zsh.org/pub/zsh-" version
+                                 ".tar.gz"))
+             (sha256
+              (base32 "0f9y2lkv6xs5nxgj7ld7sbncy454sgamz21fm4109mxqlqa32fph"))))
+    (build-system gnu-build-system)
+    (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre")
+                 #:phases (alist-cons-before
+                           'configure 'fix-sh
+                           (lambda _
+                             (substitute*
+                                 '("configure"
+                                   "configure.ac"
+                                   "Src/exec.c"
+                                   "Src/mkmakemod.sh"
+                                   "Config/installfns.sh"
+                                   "Config/defs.mk.in"
+                                   "Test/E01options.ztst"
+                                   "Test/A05execution.ztst"
+                                   "Test/A01grammar.ztst"
+                                   "Test/B02typeset.ztst"
+                                   "Completion/Unix/Command/_init_d"
+                                   "Util/preconfig")
+                               (("/bin/sh") (which "sh"))))
+                           %standard-phases)))
+    (native-inputs `(("autoconf", autoconf)))
+    (inputs `(("ncurses", ncurses)
+              ("pcre", pcre)
+              ("perl", perl)))
+    (synopsis "Powerful shell for interactive use and scripting")
+    (description "The Z shell (zsh) is a Unix shell that can be used
+as an interactive login shell and as a powerful command interpreter
+for shell scripting. Zsh can be thought of as an extended Bourne shell
+with a large number of improvements, including some features of bash,
+ksh, and tcsh.")
+    (home-page "http://www.zsh.org/")
+
+    ;; The whole thing is under an MIT/X11-style license, but there's one
+    ;; command, 'Completion/Unix/Command/_darcs', which is under GPLv2+.
+    (license gpl2+)))