1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
5 ;;; This file is part of GNU Guix.
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 (define-module (gnu packages libreoffice)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module ((guix licenses)
24 #:select (gpl2+ lgpl2.1+ mpl1.1 mpl2.0 non-copyleft))
25 #:use-module (guix build-system gnu)
26 #:use-module (gnu packages boost)
27 #:use-module (gnu packages check)
28 #:use-module (gnu packages compression)
29 #:use-module (gnu packages curl)
30 #:use-module (gnu packages cyrus-sasl)
31 #:use-module (gnu packages doxygen)
32 #:use-module (gnu packages ghostscript)
33 #:use-module (gnu packages gperf)
34 #:use-module (gnu packages icu4c)
35 #:use-module (gnu packages openssl)
36 #:use-module (gnu packages perl)
37 #:use-module (gnu packages pkg-config)
38 #:use-module (gnu packages python)
39 #:use-module (gnu packages xml))
48 (uri (string-append "http://kohei.us/files/ixion/src/libixion-"
51 "18g3nk29ljiqbyi0ml49j2x3f3xrqckdm9i66sw5fxnj7hb5rqvp"))))
52 (build-system gnu-build-system)
54 `(("pkg-config" ,pkg-config)))
57 ("python" ,python-2))) ; looks for python.pc, not python3.pc
58 (home-page "https://gitlab.com/ixion/ixion")
59 (synopsis "General purpose formula parser and interpreter")
60 (description "Ixion is a library for calculating the results of formula
61 expressions stored in multiple named targets, or \"cells\". The cells can
62 be referenced from each other, and the library takes care of resolving
63 their dependencies automatically upon calculation.")
73 (uri (string-append "http://kohei.us/files/" name "/src/lib"
74 name "-" version ".tar.xz"))
76 "0hva4qalg3dk6n1118ncr5fy8cqnj2f7fwldw7aa04124rj6p104"))))
77 (build-system gnu-build-system)
79 `(("pkg-config" ,pkg-config)))
84 (home-page "https://gitlab.com/orcus/orcus")
85 (synopsis "File import filter library for spreadsheet documents")
86 (description "Orcus is a library that provides a collection of standalone
87 file processing filters. It is currently focused on providing filters for
88 spreadsheet documents. The library includes import filters for
89 Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
90 Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
94 (define-public librevenge
101 (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
104 "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn"))))
105 (build-system gnu-build-system)
110 ("pkg-config" ,pkg-config)))
114 ;; avoid triggering configure errors by simple inclusion of boost headers
115 `(#:configure-flags '("--disable-werror")))
116 (home-page "http://sourceforge.net/p/libwpd/wiki/librevenge/")
117 (synopsis "Document importer for office suites")
118 (description "Librevenge is a base library for writing document import
119 filters. It has interfaces for text documents, vector graphics,
120 spreadsheets and presentations.")
121 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
123 (define-public libwpd
130 (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
133 "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx"))))
134 (build-system gnu-build-system)
136 `(("doxygen" ,doxygen)
137 ("pkg-config" ,pkg-config)))
139 `(("librevenge" ,librevenge))) ; in Requires field of .pkg
142 (home-page "http://libwpd.sourceforge.net/")
143 (synopsis "Library for importing WordPerfect documents")
144 (description "Libwpd is a C++ library designed to help process
145 WordPerfect documents. It is most commonly used to import such documents
146 into other word processors.")
147 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
149 (define-public libe-book
156 (uri (string-append "mirror://sourceforge/libebook/libe-book-"
157 version "/libe-book-" version ".tar.xz"))
160 "1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz"))))
161 (build-system gnu-build-system)
163 `(("cppunit" ,cppunit)
165 ("pkg-config" ,pkg-config)))
166 (propagated-inputs ; in Requires or Requires.private field of .pkg
168 ("librevenge" ,librevenge)
169 ("libxml2" ,libxml2)))
173 ;; avoid triggering configure errors by simple inclusion of boost headers
174 `(#:configure-flags '("--disable-werror")))
175 (home-page "http://libebook.sourceforge.net")
176 (synopsis "Library for import of reflowable e-book formats")
177 (description "Libe-book is a library and a set of tools for reading and
178 converting various reflowable e-book formats. Currently supported are:
179 Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),
180 PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled
181 cellphones), TCR (simple compressed text format), TealDoc, zTXT,
182 ZVR (simple compressed text format).")
185 (define-public libwpg
192 (uri (string-append "mirror://sourceforge/libwpg/" name "/" name "-"
195 "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g"))))
196 (build-system gnu-build-system)
198 `(("doxygen" ,doxygen)
199 ("pkg-config" ,pkg-config)))
201 `(("libwpd" ,libwpd))) ; in Requires field of .pkg
205 (home-page "http://libwpg.sourceforge.net/")
206 (synopsis "Library and tools for the WordPerfect Graphics format")
207 (description "The libwpg project provides a library and tools for
208 working with graphics in the WPG (WordPerfect Graphics) format.")
209 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
211 (define-public libcmis
218 (uri (string-append "mirror://sourceforge/" name "/" name "-"
221 "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8"))))
222 (build-system gnu-build-system)
224 `(("cppunit" ,cppunit)
225 ("pkg-config" ,pkg-config)))
226 (propagated-inputs ; in Requires field of .pkg
228 ("libxml2" ,libxml2)))
231 ("cyrus-sasl" ,cyrus-sasl)
232 ("openssl" ,openssl)))
236 ;; FIXME: Man pages generation requires docbook-to-man; reenable
237 ;; it once this is available.
239 ;; avoid triggering configure errors by simple inclusion of
242 ;; During configure, the boost headers are found, but linking
243 ;; fails without the following flag.
244 (string-append "--with-boost="
245 (assoc-ref %build-inputs "boost")))))
246 (home-page "http://sourceforge.net/projects/libcmis/")
247 (synopsis "CMIS client library")
248 (description "LibCMIS is a C++ client library for the CMIS interface. It
249 allows C++ applications to connect to any ECM behaving as a CMIS server such
250 as Alfresco or Nuxeo.")
251 (license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license
253 (define-public libabw
260 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
261 name "-" version ".tar.xz"))
263 "0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing"))))
264 (build-system gnu-build-system)
266 `(("doxygen" ,doxygen)
269 ("pkg-config" ,pkg-config)))
270 (propagated-inputs ; in Requires or Requires.private field of .pkg
271 `(("librevenge" ,librevenge)
272 ("libxml2" ,libxml2)))
276 ;; avoid triggering configure errors by simple inclusion of boost headers
277 `(#:configure-flags '("--disable-werror")))
278 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
279 (synopsis "Library for parsing the AbiWord format")
280 (description "Libabw is a library that parses the file format of
284 (define-public libcdr
291 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
292 name "-" version ".tar.xz"))
294 "07yzb1yr5kzv0binzj5swz3zzay2gw3xb0fbkc2zwdssgrkf19nh"))))
295 (build-system gnu-build-system)
297 `(("doxygen" ,doxygen)
298 ("pkg-config" ,pkg-config)))
299 (propagated-inputs ; in Requires or Requires.private field of .pkg
302 ("librevenge" ,librevenge)
307 ;; avoid triggering a build failure due to warnings
308 `(#:configure-flags '("--disable-werror")))
309 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
310 (synopsis "Library for parsing the CorelDRAW format")
311 (description "Libcdr is a library that parses the file format of
312 CorelDRAW documents of all versions.")
315 (define-public libetonyek
322 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
323 name "-" version ".tar.xz"))
325 "0gn8v24jb9r9kxppbws6xlc7knpd9mk2n9xjvziccv5f2l7mlslw"))))
326 (build-system gnu-build-system)
328 `(("cppunit" ,cppunit)
331 ("pkg-config" ,pkg-config)))
332 (propagated-inputs ; in Requires or Requires.private field of .pkg
333 `(("librevenge" ,librevenge)
334 ("libxml2" ,libxml2)))
337 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
338 (synopsis "Library for parsing the Apple Keynote format")
339 (description "Libetonyek is a library that parses the file format of
340 Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
343 (define-public libexttextcat
345 (name "libexttextcat")
350 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
351 name "-" version ".tar.xz"))
353 "14v2hkygnmf1zgahfm1fha47cr67iikrz2ymiqi28d2jydn0hk7j"))))
354 (build-system gnu-build-system)
355 (home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/")
356 (synopsis "Text Categorization library")
357 (description "Libexttextcat is an N-Gram-Based Text Categorization
358 library primarily intended for language guessing.")
359 (license (non-copyleft "file://LICENSE"
360 "See LICENSE in the distribution."))))
362 (define-public libfreehand
369 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
370 name "-" version ".tar.xz"))
372 "01j7mxi4lmf72w1mv2r098p8l0csdd94w2gq0ncp93djn34al6ai"))))
373 (build-system gnu-build-system)
375 `(("doxygen" ,doxygen)
378 ("pkg-config" ,pkg-config)))
379 (propagated-inputs ; in Requires or Requires.private field of .pkg
380 `(("librevenge" ,librevenge)
382 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
383 (synopsis "Library for parsing the FreeHand format")
384 (description "Libfreehand is a library that parses the file format of
385 Aldus/Macromedia/Adobe FreeHand documents.")
388 (define-public libmspub
395 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
396 name "-" version ".tar.xz"))
398 "03sn6lxpr49sdq6j8q7fw7yjybyfahhs03z80388mh105pwapfmh"))))
399 (build-system gnu-build-system)
401 `(("doxygen" ,doxygen)
402 ("pkg-config" ,pkg-config)))
403 (propagated-inputs ; in Requires or Requires.private field of .pkg
405 ("librevenge" ,librevenge)
409 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
410 (synopsis "Library for parsing the Microsoft Publisher format")
411 (description "Libmspub is a library that parses the file format of
412 Microsoft Publisher documents of all versions.")
415 (define-public libpagemaker
417 (name "libpagemaker")
422 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
423 name "-" version ".tar.xz"))
425 "05zgj5ngg9z4b7dnrfs59nm0macm99lzyxv4mg53jcvp0mkgigfd"))))
426 (build-system gnu-build-system)
428 `(("doxygen" ,doxygen)
429 ("pkg-config" ,pkg-config)))
430 (propagated-inputs ; in Requires field of .pkg
431 `(("librevenge" ,librevenge)))
436 ;; avoid triggering a build failure due to warnings
437 `(#:configure-flags '("--disable-werror")))
438 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
439 (synopsis "Library for parsing the PageMaker format")
440 (description "Libpagemaker is a library that parses the file format of
441 Aldus/Adobe PageMaker documents. Currently it only understands documents
442 created by PageMaker version 6.x and 7.")
445 (define-public libvisio
448 ;; FIXME: The newer version 0.1.1 fails its tests.
453 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
454 name "-" version ".tar.xz"))
456 "0vvd2wyp4rw6s9xnj1dc9vgdpfvm45gnb5b9hhzif0fdnx4iskqf"))))
457 (build-system gnu-build-system)
459 `(("cppunit" ,cppunit)
463 ("pkg-config" ,pkg-config)))
464 (propagated-inputs ; in Requires or Requires.private field of .pkg
466 ("librevenge" ,librevenge)
467 ("libxml2" ,libxml2)))
470 ;; FIXME: Not needed any more for newer version 0.1.1.
472 ;; avoid triggering a build failure due to warnings
473 `(#:configure-flags '("--disable-werror")))
474 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
475 (synopsis "Library for parsing the Microsoft Visio format")
476 (description "Libvisio is a library that parses the file format of
477 Microsoft Visio documents of all versions.")
480 (define-public libodfgen
487 (uri (string-append "http://dev-www.libreoffice.org/src/"
488 name "-" version ".tar.bz2"))
490 "074qsav86ixwi9zm1f77g9vxdf1ihm6n930vxjg8q3lwzd8g7lb6"))))
491 (build-system gnu-build-system)
493 `(("doxygen" ,doxygen)
494 ("pkg-config" ,pkg-config)))
495 (propagated-inputs ; in Requires field of .pkg
496 `(("librevenge" ,librevenge)))
501 ;; avoid triggering configure errors by simple inclusion of boost headers
502 `(#:configure-flags '("--disable-werror")))
503 (home-page "http://sourceforge.net/p/libwpd/wiki/libodfgen/")
504 (synopsis "ODF (Open Document Format) library")
505 (description "Libodfgen is a library for generating documents in the
506 Open Document Format (ODF). It provides generator implementations for all
507 document interfaces supported by librevenge:
508 text documents, vector drawings, presentations and spreadsheets.")
509 (license (list mpl2.0 lgpl2.1+)))) ; dual license
511 (define-public libmwaw
518 (uri (string-append "mirror://sourceforge/" name "/" name "/"
519 name "-" version ".tar.xz"))
521 "1sn95flxrh85qjsg1kk700c1ggxaaccr9j1nnw7x4daw8lky25ac"))))
522 (build-system gnu-build-system)
524 `(("doxygen" ,doxygen)
525 ("pkg-config" ,pkg-config)))
526 (propagated-inputs ; in Requires field of .pkg
527 `(("librevenge" ,librevenge)))
532 ;; avoid triggering configure errors by simple inclusion of boost headers
533 `(#:configure-flags '("--disable-werror")))
534 (home-page "http://sourceforge.net/p/libmwaw/wiki/Home/")
535 (synopsis "Import library for some old Macintosh text documents")
536 (description "Libmwaw contains some import filters for old Macintosh
537 text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
538 spreadsheet documents.")
539 (license (list mpl2.0 lgpl2.1+)))) ; dual license
541 (define-public libwps
548 (uri (string-append "mirror://sourceforge/" name "/" name "/"
549 name "-" version ".tar.xz"))
551 "14wfhw1ahavhx4hrdzc4hdwxjlffrm939kswf2x1250jnmyjlb5v"))))
552 (build-system gnu-build-system)
554 `(("doxygen" ,doxygen)
555 ("pkg-config" ,pkg-config)))
556 (propagated-inputs ; in Requires field of .pkg
557 `(("librevenge" ,librevenge)))
562 ;; avoid triggering configure errors by simple inclusion of boost headers
563 `(#:configure-flags '("--disable-werror")))
564 (home-page "http://libwps.sourceforge.net/")
565 (synopsis "Import library for Microsoft Works text documents")
566 (description "Libwps is a library for importing files in the Microsoft
567 Works word processor file format.")
568 (license (list mpl2.0 lgpl2.1+)))) ; dual license
570 (define-public hunspell
577 (uri (string-append "mirror://sourceforge/" name "/"
578 name "-" version ".tar.gz"))
580 "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7"))))
581 (build-system gnu-build-system)
582 (home-page "http://hunspell.sourceforge.net/")
583 (synopsis "Spell checker")
584 (description "Hunspell is a spell checker and morphological analyzer
585 library and program designed for languages with rich morphology and complex
586 word compounding or character encoding.")
587 ;; triple license, including "mpl1.1 or later"
588 (license (list mpl1.1 gpl2+ lgpl2.1+))))
590 (define-public hyphen
597 (uri (string-append "mirror://sourceforge/hunspell/"
598 name "-" version ".tar.gz"))
600 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
601 (build-system gnu-build-system)
604 (home-page "http://hunspell.sourceforge.net/")
605 (synopsis "Hyphenation library")
606 (description "Hyphen is a hyphenation library using TeX hyphenation
607 patterns, which are pre-processed by a perl script.")
608 ;; triple license, including "mpl1.1 or later"
609 (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
611 (define-public mythes
618 (uri (string-append "mirror://sourceforge/hunspell/"
619 name "-" version ".tar.gz"))
621 "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
622 (build-system gnu-build-system)
624 `(("pkg-config" ,pkg-config)))
626 `(("hunspell" ,hunspell)
628 (home-page "http://hunspell.sourceforge.net/")
629 (synopsis "Thesaurus")
630 (description "MyThes is a simple thesaurus that uses a structured text
631 data file and an index file with binary search to look up words and phrases
632 and to return information on pronunciations, meaningss and synonyms.")
633 (license (non-copyleft "file://COPYING"
634 "See COPYING in the distribution."))))