aboutsummaryrefslogtreecommitdiff
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)
downloadpatches-66ea98e321e93b0806f6870d77dd4c00e7e720c0.tar
patches-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+)))