gnu: orcus: Update to 0.12.1.
[jackhill/guix/guix.git] / gnu / packages / libreoffice.scm
CommitLineData
7b4570b4 1;;; GNU Guix --- Functional package management for GNU
7b4570b4 2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
00eb9fa3
EF
3;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
4;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
7a203059 5;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
741916f1 6;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
7b4570b4
AE
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages libreoffice)
16c62e1f 24 #:use-module (guix build-system gnu)
7b4570b4 25 #:use-module (guix download)
2a9a9441 26 #:use-module ((guix licenses)
00eb9fa3 27 #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
16c62e1f
AE
28 non-copyleft x11-style))
29 #:use-module (guix packages)
30 #:use-module (guix utils)
c91d3fb7 31 #:use-module (gnu packages)
16c62e1f
AE
32 #:use-module (gnu packages autotools)
33 #:use-module (gnu packages base)
34 #:use-module (gnu packages bison)
7b4570b4 35 #:use-module (gnu packages boost)
10ca4a1d 36 #:use-module (gnu packages check)
cfaf863f 37 #:use-module (gnu packages compression)
16c62e1f 38 #:use-module (gnu packages cups)
3736a110
AE
39 #:use-module (gnu packages curl)
40 #:use-module (gnu packages cyrus-sasl)
16c62e1f 41 #:use-module (gnu packages databases)
99828fa7 42 #:use-module (gnu packages documentation)
16c62e1f
AE
43 #:use-module (gnu packages flex)
44 #:use-module (gnu packages fontutils)
9fe8a4ba 45 #:use-module (gnu packages ghostscript)
16c62e1f
AE
46 #:use-module (gnu packages gl)
47 #:use-module (gnu packages glib)
48 #:use-module (gnu packages gnome)
b4e5d8e7 49 #:use-module (gnu packages gperf)
16c62e1f
AE
50 #:use-module (gnu packages gnuzilla)
51 #:use-module (gnu packages gstreamer)
52 #:use-module (gnu packages gtk)
b4e5d8e7 53 #:use-module (gnu packages icu4c)
16c62e1f
AE
54 #:use-module (gnu packages image)
55 #:use-module (gnu packages java)
56 #:use-module (gnu packages linux)
57 #:use-module (gnu packages maths)
58 #:use-module (gnu packages openldap)
16c62e1f 59 #:use-module (gnu packages pdf)
2534fc04 60 #:use-module (gnu packages perl)
7b4570b4 61 #:use-module (gnu packages pkg-config)
b4e5d8e7 62 #:use-module (gnu packages python)
16c62e1f
AE
63 #:use-module (gnu packages rdf)
64 #:use-module (gnu packages scanner)
cc2b77df 65 #:use-module (gnu packages tls)
16c62e1f
AE
66 #:use-module (gnu packages version-control)
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
69 #:use-module (gnu packages zip))
7b4570b4
AE
70
71(define-public ixion
72 (package
73 (name "ixion")
cb386439 74 (version "0.12.2")
7b4570b4
AE
75 (source
76 (origin
77 (method url-fetch)
78 (uri (string-append "http://kohei.us/files/ixion/src/libixion-"
79 version ".tar.xz"))
80 (sha256 (base32
cb386439 81 "1bnsqbxpbijwbg42rrqq6mz06wvcxjpl0gjdzwyilkmv6s400i4b"))))
7b4570b4
AE
82 (build-system gnu-build-system)
83 (native-inputs
84 `(("pkg-config" ,pkg-config)))
85 (inputs
86 `(("mdds" ,mdds)
cb386439 87 ("python" ,python)))
7b4570b4
AE
88 (home-page "https://gitlab.com/ixion/ixion")
89 (synopsis "General purpose formula parser and interpreter")
90 (description "Ixion is a library for calculating the results of formula
91expressions stored in multiple named targets, or \"cells\". The cells can
92be referenced from each other, and the library takes care of resolving
93their dependencies automatically upon calculation.")
94 (license mpl2.0)))
cfaf863f
AE
95
96(define-public orcus
97 (package
98 (name "orcus")
90ac806d 99 (version "0.12.1")
cfaf863f
AE
100 (source
101 (origin
102 (method url-fetch)
103 (uri (string-append "http://kohei.us/files/" name "/src/lib"
104 name "-" version ".tar.xz"))
105 (sha256 (base32
90ac806d 106 "171bmqa9hkk4xygz20qda5900rs4kq9fgl424ldkxlj4d733dffi"))))
cfaf863f
AE
107 (build-system gnu-build-system)
108 (native-inputs
109 `(("pkg-config" ,pkg-config)))
110 (inputs
111 `(("ixion" ,ixion)
112 ("mdds" ,mdds)
90ac806d 113 ("python" ,python)
cfaf863f
AE
114 ("zlib" ,zlib)))
115 (home-page "https://gitlab.com/orcus/orcus")
116 (synopsis "File import filter library for spreadsheet documents")
117 (description "Orcus is a library that provides a collection of standalone
118file processing filters. It is currently focused on providing filters for
119spreadsheet documents. The library includes import filters for
120Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
121Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
122CSV, CSS and XML.")
123 (license mpl2.0)))
10ca4a1d
AE
124
125(define-public librevenge
126 (package
127 (name "librevenge")
128 (version "0.0.2")
129 (source
130 (origin
131 (method url-fetch)
132 (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
de67e922 133 version "/" name "-" version ".tar.xz"))
10ca4a1d
AE
134 (sha256 (base32
135 "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn"))))
136 (build-system gnu-build-system)
137 (native-inputs
c91d3fb7 138 `(("cppunit" ,cppunit)
10ca4a1d
AE
139 ("doxygen" ,doxygen)
140 ("pkg-config" ,pkg-config)))
141 (inputs
142 `(("zlib" ,zlib)))
c91d3fb7
EB
143 (propagated-inputs ; Referenced by .la files
144 `(("boost" ,boost)))
10ca4a1d
AE
145 (arguments
146 ;; avoid triggering configure errors by simple inclusion of boost headers
c91d3fb7
EB
147 `(#:configure-flags '("--disable-werror"
148 ;; Avoid undefined library references
149 "LDFLAGS=-lboost_system")))
3b3b60d0 150 (home-page "https://sourceforge.net/p/libwpd/wiki/librevenge/")
10ca4a1d
AE
151 (synopsis "Document importer for office suites")
152 (description "Librevenge is a base library for writing document import
153filters. It has interfaces for text documents, vector graphics,
154spreadsheets and presentations.")
68267c63 155 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
fc15db2f
AE
156
157(define-public libwpd
158 (package
159 (name "libwpd")
160 (version "0.10.0")
161 (source
162 (origin
163 (method url-fetch)
de67e922
LF
164 (uri (string-append "mirror://sourceforge/" name "/" name "/"
165 name "-" version "/" name "-" version ".tar.xz"))
fc15db2f
AE
166 (sha256 (base32
167 "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx"))))
168 (build-system gnu-build-system)
169 (native-inputs
170 `(("doxygen" ,doxygen)
171 ("pkg-config" ,pkg-config)))
b7e71faa
AE
172 (propagated-inputs
173 `(("librevenge" ,librevenge))) ; in Requires field of .pkg
fc15db2f 174 (inputs
b7e71faa 175 `(("zlib" ,zlib)))
fc15db2f
AE
176 (home-page "http://libwpd.sourceforge.net/")
177 (synopsis "Library for importing WordPerfect documents")
178 (description "Libwpd is a C++ library designed to help process
179WordPerfect documents. It is most commonly used to import such documents
180into other word processors.")
68267c63 181 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
b4e5d8e7 182
b4e5d8e7
AE
183(define-public libe-book
184 (package
185 (name "libe-book")
186 (version "0.1.2")
187 (source
188 (origin
189 (method url-fetch)
190 (uri (string-append "mirror://sourceforge/libebook/libe-book-"
191 version "/libe-book-" version ".tar.xz"))
192 (sha256
193 (base32
194 "1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz"))))
195 (build-system gnu-build-system)
196 (native-inputs
197 `(("cppunit" ,cppunit)
198 ("gperf" ,gperf)
199 ("pkg-config" ,pkg-config)))
933c390c
AE
200 (propagated-inputs ; in Requires or Requires.private field of .pkg
201 `(("icu4c" ,icu4c)
202 ("librevenge" ,librevenge)
203 ("libxml2" ,libxml2)))
204 (inputs
205 `(("boost" ,boost)))
b4e5d8e7
AE
206 (arguments
207 ;; avoid triggering configure errors by simple inclusion of boost headers
208 `(#:configure-flags '("--disable-werror")))
209 (home-page "http://libebook.sourceforge.net")
210 (synopsis "Library for import of reflowable e-book formats")
211 (description "Libe-book is a library and a set of tools for reading and
212converting various reflowable e-book formats. Currently supported are:
213Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),
214PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled
215cellphones), TCR (simple compressed text format), TealDoc, zTXT,
216ZVR (simple compressed text format).")
217 (license mpl2.0)))
2534fc04
AE
218
219(define-public libwpg
220 (package
221 (name "libwpg")
222 (version "0.3.0")
223 (source
224 (origin
225 (method url-fetch)
de67e922
LF
226 (uri (string-append "mirror://sourceforge/" name "/" name "/"
227 name "-" version "/" name "-" version ".tar.xz"))
2534fc04
AE
228 (sha256 (base32
229 "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g"))))
230 (build-system gnu-build-system)
231 (native-inputs
232 `(("doxygen" ,doxygen)
233 ("pkg-config" ,pkg-config)))
239c853c
AE
234 (propagated-inputs
235 `(("libwpd" ,libwpd))) ; in Requires field of .pkg
2534fc04 236 (inputs
239c853c 237 `(("perl" ,perl)
2534fc04
AE
238 ("zlib" ,zlib)))
239 (home-page "http://libwpg.sourceforge.net/")
240 (synopsis "Library and tools for the WordPerfect Graphics format")
241 (description "The libwpg project provides a library and tools for
242working with graphics in the WPG (WordPerfect Graphics) format.")
68267c63 243 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
4cd369ed 244
3736a110
AE
245(define-public libcmis
246 (package
247 (name "libcmis")
7fc72c77 248 (version "0.5.1")
3736a110
AE
249 (source
250 (origin
251 (method url-fetch)
7fc72c77
LF
252 (uri (string-append "https://github.com/tdf/libcmis/releases/download/v"
253 version "/libcmis-" version ".tar.gz"))
254 (sha256
255 (base32
256 "03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva"))))
3736a110
AE
257 (build-system gnu-build-system)
258 (native-inputs
259 `(("cppunit" ,cppunit)
260 ("pkg-config" ,pkg-config)))
f678913c
AE
261 (propagated-inputs ; in Requires field of .pkg
262 `(("curl" ,curl)
263 ("libxml2" ,libxml2)))
3736a110
AE
264 (inputs
265 `(("boost" ,boost)
3736a110 266 ("cyrus-sasl" ,cyrus-sasl)
3736a110
AE
267 ("openssl" ,openssl)))
268 (arguments
269 `(#:configure-flags
270 (list
271 ;; FIXME: Man pages generation requires docbook-to-man; reenable
272 ;; it once this is available.
273 "--without-man"
274 ;; avoid triggering configure errors by simple inclusion of
275 ;; boost headers
276 "--disable-werror"
277 ;; During configure, the boost headers are found, but linking
278 ;; fails without the following flag.
279 (string-append "--with-boost="
280 (assoc-ref %build-inputs "boost")))))
7fc72c77 281 (home-page "https://github.com/tdf/libcmis")
3736a110
AE
282 (synopsis "CMIS client library")
283 (description "LibCMIS is a C++ client library for the CMIS interface. It
284allows C++ applications to connect to any ECM behaving as a CMIS server such
285as Alfresco or Nuxeo.")
286 (license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license
287
4cd369ed
AE
288(define-public libabw
289 (package
290 (name "libabw")
291 (version "0.1.1")
292 (source
293 (origin
294 (method url-fetch)
295 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
296 name "-" version ".tar.xz"))
297 (sha256 (base32
298 "0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing"))))
299 (build-system gnu-build-system)
300 (native-inputs
301 `(("doxygen" ,doxygen)
302 ("gperf" ,gperf)
303 ("perl" ,perl)
304 ("pkg-config" ,pkg-config)))
57080fea
AE
305 (propagated-inputs ; in Requires or Requires.private field of .pkg
306 `(("librevenge" ,librevenge)
4cd369ed 307 ("libxml2" ,libxml2)))
57080fea
AE
308 (inputs
309 `(("boost" ,boost)))
4cd369ed
AE
310 (arguments
311 ;; avoid triggering configure errors by simple inclusion of boost headers
312 `(#:configure-flags '("--disable-werror")))
313 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
314 (synopsis "Library for parsing the AbiWord format")
315 (description "Libabw is a library that parses the file format of
316AbiWord documents.")
317 (license mpl2.0)))
9fe8a4ba
AE
318
319(define-public libcdr
320 (package
321 (name "libcdr")
322 (version "0.1.1")
323 (source
324 (origin
325 (method url-fetch)
326 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
327 name "-" version ".tar.xz"))
328 (sha256 (base32
329 "07yzb1yr5kzv0binzj5swz3zzay2gw3xb0fbkc2zwdssgrkf19nh"))))
330 (build-system gnu-build-system)
331 (native-inputs
332 `(("doxygen" ,doxygen)
333 ("pkg-config" ,pkg-config)))
269194c3
AE
334 (propagated-inputs ; in Requires or Requires.private field of .pkg
335 `(("icu4c" ,icu4c)
9fe8a4ba
AE
336 ("lcms" ,lcms)
337 ("librevenge" ,librevenge)
338 ("zlib" ,zlib)))
269194c3
AE
339 (inputs
340 `(("boost" ,boost)))
9fe8a4ba
AE
341 (arguments
342 ;; avoid triggering a build failure due to warnings
343 `(#:configure-flags '("--disable-werror")))
344 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
345 (synopsis "Library for parsing the CorelDRAW format")
346 (description "Libcdr is a library that parses the file format of
347CorelDRAW documents of all versions.")
348 (license mpl2.0)))
3dc67e38
AE
349
350(define-public libetonyek
351 (package
352 (name "libetonyek")
b85b56dd 353 (version "0.1.6")
3dc67e38
AE
354 (source
355 (origin
356 (method url-fetch)
357 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
358 name "-" version ".tar.xz"))
359 (sha256 (base32
b85b56dd
TD
360 "0y60vi1plyq69fqbcjnc0v8mvcjqjsl1ry6rmb3bq3q7j8a2fm6z"))
361 (patches (search-patches "libetonyek-build-with-mdds-1.2.patch"))))
3dc67e38 362 (build-system gnu-build-system)
b85b56dd
TD
363 (arguments
364 `(#:configure-flags '("--with-mdds=1.2")
365 #:phases (modify-phases %standard-phases
366 (add-before 'configure 'autoreconf
367 (lambda _ (system* "autoreconf"))))))
3dc67e38
AE
368 (native-inputs
369 `(("cppunit" ,cppunit)
370 ("doxygen" ,doxygen)
c80259b3 371 ("glm" ,glm)
3dc67e38 372 ("gperf" ,gperf)
b85b56dd 373 ("liblangtag" ,liblangtag)
c80259b3 374 ("mdds" ,mdds)
b85b56dd
TD
375 ("pkg-config" ,pkg-config)
376 ("autoconf" ,autoconf) ; due to patch
377 ("automake" ,automake)))
480fe002
AE
378 (propagated-inputs ; in Requires or Requires.private field of .pkg
379 `(("librevenge" ,librevenge)
3dc67e38 380 ("libxml2" ,libxml2)))
480fe002
AE
381 (inputs
382 `(("boost" ,boost)))
3dc67e38
AE
383 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
384 (synopsis "Library for parsing the Apple Keynote format")
385 (description "Libetonyek is a library that parses the file format of
386Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
387 (license mpl2.0)))
97aee2b6 388
00eb9fa3
EF
389(define-public liblangtag
390 (package
391 (name "liblangtag")
392 (version "0.5.8")
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
397 name "-" version ".tar.bz2"))
398 (sha256
399 (base32
400 "1akf0d7yp29pv3j2pw2riii4n5kyjr9szc0y77khnx9zzr5zdqh8"))))
401 (build-system gnu-build-system)
402 (native-inputs
403 `(("libtool" ,libtool)
404 ("pkg-config" ,pkg-config)))
405 (inputs
406 `(("libxml2" ,libxml2)))
407 (home-page "http://tagoh.bitbucket.org/liblangtag/")
408 (synopsis "Library to access tags for identifying languages")
409 (description "Liblangtag implements an interface to work with tags
410for identifying languages as described in RFC 5646. It supports the
411extensions described in RFC6067 and RFC6497, and Extension T for
412language/locale identifiers as described in the Unicode CLDR
413standard 21.0.2.")
414 (license (list lgpl3+ mpl2.0)))) ; dual license
415
97aee2b6
AE
416(define-public libexttextcat
417 (package
418 (name "libexttextcat")
419 (version "3.4.4")
420 (source
421 (origin
422 (method url-fetch)
423 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
424 name "-" version ".tar.xz"))
425 (sha256 (base32
426 "14v2hkygnmf1zgahfm1fha47cr67iikrz2ymiqi28d2jydn0hk7j"))))
427 (build-system gnu-build-system)
428 (home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/")
429 (synopsis "Text Categorization library")
430 (description "Libexttextcat is an N-Gram-Based Text Categorization
431library primarily intended for language guessing.")
432 (license (non-copyleft "file://LICENSE"
433 "See LICENSE in the distribution."))))
ef1c4148
AE
434
435(define-public libfreehand
436 (package
437 (name "libfreehand")
438 (version "0.1.0")
439 (source
440 (origin
441 (method url-fetch)
442 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
443 name "-" version ".tar.xz"))
444 (sha256 (base32
445 "01j7mxi4lmf72w1mv2r098p8l0csdd94w2gq0ncp93djn34al6ai"))))
446 (build-system gnu-build-system)
447 (native-inputs
448 `(("doxygen" ,doxygen)
449 ("gperf" ,gperf)
450 ("perl" ,perl)
451 ("pkg-config" ,pkg-config)))
c5b5800b 452 (propagated-inputs ; in Requires or Requires.private field of .pkg
ef1c4148
AE
453 `(("librevenge" ,librevenge)
454 ("zlib" ,zlib)))
455 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
456 (synopsis "Library for parsing the FreeHand format")
457 (description "Libfreehand is a library that parses the file format of
458Aldus/Macromedia/Adobe FreeHand documents.")
459 (license mpl2.0)))
86e278fc
AE
460
461(define-public libmspub
462 (package
463 (name "libmspub")
464 (version "0.1.2")
465 (source
466 (origin
467 (method url-fetch)
468 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
469 name "-" version ".tar.xz"))
470 (sha256 (base32
471 "03sn6lxpr49sdq6j8q7fw7yjybyfahhs03z80388mh105pwapfmh"))))
472 (build-system gnu-build-system)
473 (native-inputs
474 `(("doxygen" ,doxygen)
475 ("pkg-config" ,pkg-config)))
e39cc723
AE
476 (propagated-inputs ; in Requires or Requires.private field of .pkg
477 `(("icu4c" ,icu4c)
86e278fc
AE
478 ("librevenge" ,librevenge)
479 ("zlib" ,zlib)))
e39cc723
AE
480 (inputs
481 `(("boost" ,boost)))
86e278fc
AE
482 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
483 (synopsis "Library for parsing the Microsoft Publisher format")
484 (description "Libmspub is a library that parses the file format of
485Microsoft Publisher documents of all versions.")
486 (license mpl2.0)))
f5d4a138
AE
487
488(define-public libpagemaker
489 (package
490 (name "libpagemaker")
491 (version "0.0.2")
492 (source
493 (origin
494 (method url-fetch)
495 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
496 name "-" version ".tar.xz"))
497 (sha256 (base32
498 "05zgj5ngg9z4b7dnrfs59nm0macm99lzyxv4mg53jcvp0mkgigfd"))))
499 (build-system gnu-build-system)
500 (native-inputs
501 `(("doxygen" ,doxygen)
502 ("pkg-config" ,pkg-config)))
493b6e28 503 (propagated-inputs ; in Requires field of .pkg
86d648ea 504 `(("librevenge" ,librevenge)))
f5d4a138
AE
505 (inputs
506 `(("boost" ,boost)
f5d4a138
AE
507 ("zlib" ,zlib)))
508 (arguments
509 ;; avoid triggering a build failure due to warnings
510 `(#:configure-flags '("--disable-werror")))
511 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
512 (synopsis "Library for parsing the PageMaker format")
513 (description "Libpagemaker is a library that parses the file format of
514Aldus/Adobe PageMaker documents. Currently it only understands documents
515created by PageMaker version 6.x and 7.")
516 (license mpl2.0)))
56203284
AE
517
518(define-public libvisio
519 (package
520 (name "libvisio")
521 ;; FIXME: The newer version 0.1.1 fails its tests.
522 (version "0.1.0")
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
527 name "-" version ".tar.xz"))
528 (sha256 (base32
529 "0vvd2wyp4rw6s9xnj1dc9vgdpfvm45gnb5b9hhzif0fdnx4iskqf"))))
530 (build-system gnu-build-system)
531 (native-inputs
532 `(("cppunit" ,cppunit)
533 ("doxygen" ,doxygen)
534 ("gperf" ,gperf)
535 ("perl" ,perl)
536 ("pkg-config" ,pkg-config)))
a3be6b8b
AE
537 (propagated-inputs ; in Requires or Requires.private field of .pkg
538 `(("icu4c" ,icu4c)
56203284
AE
539 ("librevenge" ,librevenge)
540 ("libxml2" ,libxml2)))
a3be6b8b
AE
541 (inputs
542 `(("boost" ,boost)))
56203284
AE
543 ;; FIXME: Not needed any more for newer version 0.1.1.
544 (arguments
545 ;; avoid triggering a build failure due to warnings
546 `(#:configure-flags '("--disable-werror")))
547 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
548 (synopsis "Library for parsing the Microsoft Visio format")
549 (description "Libvisio is a library that parses the file format of
550Microsoft Visio documents of all versions.")
551 (license mpl2.0)))
74a63b11
AE
552
553(define-public libodfgen
554 (package
555 (name "libodfgen")
556 (version "0.1.3")
557 (source
558 (origin
559 (method url-fetch)
560 (uri (string-append "http://dev-www.libreoffice.org/src/"
561 name "-" version ".tar.bz2"))
562 (sha256 (base32
563 "074qsav86ixwi9zm1f77g9vxdf1ihm6n930vxjg8q3lwzd8g7lb6"))))
564 (build-system gnu-build-system)
565 (native-inputs
566 `(("doxygen" ,doxygen)
567 ("pkg-config" ,pkg-config)))
3b5199b3
AE
568 (propagated-inputs ; in Requires field of .pkg
569 `(("librevenge" ,librevenge)))
74a63b11
AE
570 (inputs
571 `(("boost" ,boost)
74a63b11
AE
572 ("zlib" ,zlib)))
573 (arguments
574 ;; avoid triggering configure errors by simple inclusion of boost headers
575 `(#:configure-flags '("--disable-werror")))
3b3b60d0 576 (home-page "https://sourceforge.net/p/libwpd/wiki/libodfgen/")
74a63b11
AE
577 (synopsis "ODF (Open Document Format) library")
578 (description "Libodfgen is a library for generating documents in the
579Open Document Format (ODF). It provides generator implementations for all
580document interfaces supported by librevenge:
581text documents, vector drawings, presentations and spreadsheets.")
582 (license (list mpl2.0 lgpl2.1+)))) ; dual license
1d59b83b
AE
583
584(define-public libmwaw
585 (package
586 (name "libmwaw")
fc04ee3b 587 (version "0.3.5")
1d59b83b
AE
588 (source
589 (origin
590 (method url-fetch)
de67e922
LF
591 (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
592 version "/" name "-" version ".tar.xz"))
1d59b83b 593 (sha256 (base32
fc04ee3b 594 "1vx9h419fcfcs0yj071hsg9d2qvkacgca6052m8hv3h743cdmzil"))))
1d59b83b
AE
595 (build-system gnu-build-system)
596 (native-inputs
597 `(("doxygen" ,doxygen)
598 ("pkg-config" ,pkg-config)))
b819182d
AE
599 (propagated-inputs ; in Requires field of .pkg
600 `(("librevenge" ,librevenge)))
1d59b83b
AE
601 (inputs
602 `(("boost" ,boost)
1d59b83b
AE
603 ("zlib" ,zlib)))
604 (arguments
605 ;; avoid triggering configure errors by simple inclusion of boost headers
606 `(#:configure-flags '("--disable-werror")))
3b3b60d0 607 (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
1d59b83b
AE
608 (synopsis "Import library for some old Macintosh text documents")
609 (description "Libmwaw contains some import filters for old Macintosh
610text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
611spreadsheet documents.")
22e52dbd
TD
612 (license (list mpl2.0 lgpl2.1+)))) ; dual license
613
614(define-public libstaroffice
615 (package
616 (name "libstaroffice")
617 (version "0.0.3")
618 (source
619 (origin
620 (method url-fetch)
621 (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
622 version "/libstaroffice-" version ".tar.xz"))
623 (sha256 (base32
624 "1ii2wi3wr5npyz9gby1bjk8r4wyflpfpc6gx7mmqkhsc9c8frpmy"))))
625 (build-system gnu-build-system)
626 (inputs
627 `(("librevenge" ,librevenge)
628 ("zlib" ,zlib)))
629 (native-inputs
630 `(("pkg-config" ,pkg-config)))
631 (home-page "https://github.com/fosnola/libstaroffice")
632 (synopsis "Provides LibreOffice support for old StarOffice documents")
633 (description "@code{libstaroffice} is an import filter for the document formats
634from the old StarOffice (.sdc, .sdw, ...).")
1d59b83b 635 (license (list mpl2.0 lgpl2.1+)))) ; dual license
82741a8a
AE
636
637(define-public libwps
638 (package
639 (name "libwps")
7680843e 640 (version "0.4.0")
82741a8a
AE
641 (source
642 (origin
643 (method url-fetch)
644 (uri (string-append "mirror://sourceforge/" name "/" name "/"
de67e922 645 name "-" version "/" name "-" version ".tar.xz"))
82741a8a 646 (sha256 (base32
7680843e 647 "0nlrdk7di015l0sk0ivjdqs86zdcvf73p9z9s9ry5glyhrknzxjk"))))
82741a8a
AE
648 (build-system gnu-build-system)
649 (native-inputs
650 `(("doxygen" ,doxygen)
651 ("pkg-config" ,pkg-config)))
baa941e6
AE
652 (propagated-inputs ; in Requires field of .pkg
653 `(("librevenge" ,librevenge)))
82741a8a
AE
654 (inputs
655 `(("boost" ,boost)
82741a8a
AE
656 ("zlib" ,zlib)))
657 (arguments
658 ;; avoid triggering configure errors by simple inclusion of boost headers
659 `(#:configure-flags '("--disable-werror")))
660 (home-page "http://libwps.sourceforge.net/")
661 (synopsis "Import library for Microsoft Works text documents")
662 (description "Libwps is a library for importing files in the Microsoft
663Works word processor file format.")
664 (license (list mpl2.0 lgpl2.1+)))) ; dual license
2a9a9441 665
741916f1
TD
666(define-public libzmf
667 (package
668 (name "libzmf")
669 (version "0.0.1")
670 (source
671 (origin
672 (method url-fetch)
673 (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
674 version ".tar.xz"))
675 (sha256 (base32
676 "0yp5l1b90xim506zmr3ljkn3qkvbc7qk3dnwq1snxdpr57m37xga"))))
677 (build-system gnu-build-system)
678 (inputs
679 `(("boost" ,boost)
680 ("icu4c" ,icu4c)
681 ("libpng" ,libpng)
682 ("librevenge" ,librevenge)
683 ("zlib" ,zlib)))
684 (native-inputs
685 `(("cppunit" ,cppunit)
686 ("doxygen" ,doxygen)
687 ("pkg-config" ,pkg-config)))
688 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
689 (synopsis "Parses file format of Zoner Callisto/Draw documents")
690 (description "Libzmf is a library that parses the file format of Zoner
691Callisto/Draw documents. Currently it only understands documents created by
692Zoner Draw version 4 and 5.")
693 (license mpl2.0)))
694
2a9a9441
AE
695(define-public hunspell
696 (package
697 (name "hunspell")
4dec10ba 698 (version "1.5.4")
2a9a9441
AE
699 (source
700 (origin
701 (method url-fetch)
4dec10ba
TGR
702 (uri (string-append "https://github.com/hunspell/hunspell/archive/v"
703 version ".tar.gz"))
2a9a9441 704 (sha256 (base32
4dec10ba
TGR
705 "0ngwk18dwd8p5a5f20h2jlgrz9wbc1k189mmmprb2zmqwfi02b45"))
706 (file-name (string-append name "-" version ".tar.gz"))))
2a9a9441 707 (build-system gnu-build-system)
17c2294c
TGR
708 (inputs
709 `(("perl" ,perl)))
2a9a9441
AE
710 (home-page "http://hunspell.sourceforge.net/")
711 (synopsis "Spell checker")
712 (description "Hunspell is a spell checker and morphological analyzer
713library and program designed for languages with rich morphology and complex
714word compounding or character encoding.")
17c2294c 715 ;; Triple license, including "mpl1.1 or later".
2a9a9441 716 (license (list mpl1.1 gpl2+ lgpl2.1+))))
1c625dd3
AE
717
718(define-public hyphen
719 (package
720 (name "hyphen")
721 (version "2.8.8")
722 (source
723 (origin
724 (method url-fetch)
de67e922
LF
725 (uri (string-append "mirror://sourceforge/hunspell/Hyphen/"
726 (version-major+minor version) "/"
1c625dd3
AE
727 name "-" version ".tar.gz"))
728 (sha256 (base32
729 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
730 (build-system gnu-build-system)
731 (inputs
732 `(("perl" ,perl)))
733 (home-page "http://hunspell.sourceforge.net/")
734 (synopsis "Hyphenation library")
735 (description "Hyphen is a hyphenation library using TeX hyphenation
736patterns, which are pre-processed by a perl script.")
737 ;; triple license, including "mpl1.1 or later"
738 (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
2320ea1a
AE
739
740(define-public mythes
741 (package
742 (name "mythes")
743 (version "1.2.4")
744 (source
745 (origin
746 (method url-fetch)
de67e922 747 (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
2320ea1a
AE
748 name "-" version ".tar.gz"))
749 (sha256 (base32
750 "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
751 (build-system gnu-build-system)
752 (native-inputs
753 `(("pkg-config" ,pkg-config)))
754 (inputs
755 `(("hunspell" ,hunspell)
756 ("perl" ,perl)))
757 (home-page "http://hunspell.sourceforge.net/")
758 (synopsis "Thesaurus")
759 (description "MyThes is a simple thesaurus that uses a structured text
760data file and an index file with binary search to look up words and phrases
e881752c 761and to return information on pronunciations, meanings and synonyms.")
2320ea1a
AE
762 (license (non-copyleft "file://COPYING"
763 "See COPYING in the distribution."))))
16c62e1f
AE
764
765;; LibreOffice requires an xmlsec source tarball; it does not even check
766;; for the presence of an externally compiled library.
767(define xmlsec-src-libreoffice
768 (origin
769 (method url-fetch)
770 (uri
771 (string-append
772 "http://dev-www.libreoffice.org/src/"
773 "1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz"))
774 (sha256 (base32
775 "0jnxxygg6z5zi6za94dvxmg1bfar1wh8p5xa2bzbha0qcn2m02ir"))))
776
777(define-public libreoffice
778 (package
779 (name "libreoffice")
7a203059 780 (version "5.1.6.2")
16c62e1f
AE
781 (source
782 (origin
783 (method url-fetch)
784 (uri
785 (string-append
786 "http://download.documentfoundation.org/libreoffice/src/"
787 (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
788 (sha256 (base32
7a203059 789 "150xb76pc3889gfy4jrnq8sidymm1aihkm5pzy8b1fdy51zip804"))))
16c62e1f
AE
790 (build-system gnu-build-system)
791 (native-inputs
792 `(;; autoreconf is run by the LibreOffice build system, since after
793 ;; unpacking the external xmlsec tarball, it applies a series of
794 ;; patches to Makefile.am, configure.in, config.guess and config.sub.
795 ("autoconf" ,autoconf)
796 ("automake" ,automake)
797 ("bison" ,bison)
798 ("cppunit" ,cppunit)
799 ("flex" ,flex)
800 ("pkg-config" ,pkg-config)
5bf83422 801 ("python" ,python-wrapper)
16c62e1f
AE
802 ("which" ,which)))
803 (inputs
804 `(("bluez" ,bluez)
805 ("boost" ,boost)
806 ("clucene" ,clucene)
807 ("cups" ,cups)
808 ("dbus-glib" ,dbus-glib)
809 ("fontconfig" ,fontconfig)
810 ("gconf" ,gconf)
811 ("glew" ,glew)
812 ("glm" ,glm)
813 ("gperf" ,gperf)
814 ("graphite2" ,graphite2)
815 ("gst-plugins-base" ,gst-plugins-base)
816 ("gtk+" ,gtk+-2)
817 ("harfbuzz" ,harfbuzz)
818 ("hunspell" ,hunspell)
819 ("hyphen" ,hyphen)
820 ("libabw" ,libabw)
821 ("libcdr" ,libcdr)
822 ("libcmis" ,libcmis)
823 ("libjpeg" ,libjpeg)
824 ("libe-book" ,libe-book)
825 ("libetonyek" ,libetonyek)
826 ("libexttextcat" ,libexttextcat)
827 ("libfreehand" ,libfreehand)
828 ("libmspub" ,libmspub)
829 ("libmwaw" ,libmwaw)
830 ("libodfgen" ,libodfgen)
831 ("libpagemaker" ,libpagemaker)
832 ("libvisio" ,libvisio)
833 ("libwpg" ,libwpg)
834 ("libwps" ,libwps)
835 ("libxrandr" ,libxrandr)
836 ("libxrender" ,libxrender)
837 ("libxslt" ,libxslt)
838 ("libxt" ,libxt)
839 ("lpsolve" ,lpsolve)
840 ("mdds" ,mdds)
841 ("mythes" ,mythes)
842 ("neon" ,neon)
843 ("nspr" ,nspr)
844 ("nss" ,nss)
845 ("openldap" ,openldap)
846 ("openssl" ,openssl)
847 ("orcus" ,orcus)
848 ("perl" ,perl)
849 ("perl-zip" ,perl-zip)
850 ("poppler" ,poppler)
851 ("postgresql" ,postgresql)
852 ("python" ,python)
853 ("redland" ,redland)
4c928743 854 ("sane-backends" ,sane-backends)
16c62e1f
AE
855 ("unixodbc" ,unixodbc)
856 ("unzip" ,unzip)
857 ("vigra" ,vigra)
858 ("xmlsec-src" ,xmlsec-src-libreoffice)
859 ("zip" ,zip)))
860 (arguments
ebc81631 861 `(#:tests? #f ; Building the tests already fails.
16c62e1f
AE
862 #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
863 #:phases
864 (modify-phases %standard-phases
865 (add-before 'configure 'prepare-src
866 (lambda* (#:key inputs #:allow-other-keys)
867 (let ((xmlsec (assoc-ref inputs "xmlsec-src")))
868 (substitute*
869 (list "sysui/CustomTarget_share.mk"
870 "solenv/gbuild/gbuild.mk"
871 "solenv/gbuild/platform/unxgcc.mk"
872 "external/libxmlsec/xmlsec1-oldlibtool.patch")
873 (("/bin/sh") (which "bash")))
874 (mkdir "external/tarballs")
875 (symlink
876 xmlsec
877 (string-append "external/tarballs/"
878 "1f24ab1d39f4a51faf22244c94a6203f-"
879 "xmlsec1-1.2.14.tar.gz"))
880 ;; The following is required for building xmlsec from the
881 ;; unpatched external tarball; since "configure" starts with
882 ;; "/bin/sh", it needs to be executed by a command invoking
883 ;; the shell.
884 (setenv "SHELL" (which "bash"))
885 (setenv "CONFIG_SHELL" (which "bash"))
886 (substitute* "external/libxmlsec/ExternalProject_xmlsec.mk"
887 (("./configure") "$(CONFIG_SHELL) ./configure" ))
888 #t)))
889 (add-after 'install 'bin-install
cb72d343
AK
890 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
891 ;; script.
16c62e1f
AE
892 (lambda* (#:key outputs #:allow-other-keys)
893 (let* ((out (assoc-ref outputs "out"))
cb72d343
AK
894 (bin (string-append out "/bin"))
895 (soffice (string-append
896 out "/lib/libreoffice/program/soffice")))
16c62e1f 897 (mkdir bin)
cb72d343
AK
898 (symlink soffice (string-append bin "/soffice"))
899 (symlink soffice (string-append bin "/libreoffice")))
16c62e1f
AE
900 #t)))
901 #:configure-flags
902 (list
903 "--enable-release-build"
904 "--enable-verbose"
905 "--without-parallelism" ; otherwise the build fails
906 "--disable-fetch-external" ; disable downloads
907 "--with-system-libs" ; enable all --with-system-* flags
908 (string-append "--with-boost-libdir="
909 (assoc-ref %build-inputs "boost") "/lib")
c91d3fb7
EB
910 ;; Avoid undefined symbols required by boost::spirit
911 "LDFLAGS=-lboost_system"
16c62e1f
AE
912 ;; Avoid a dependency on ucpp.
913 "--with-idlc-cpp=cpp"
914 ;; The fonts require an external tarball (crosextrafonts).
915 ;; They should not be needed when system fonts are available.
916 "--without-fonts"
917 ;; With java, the build fails since sac.jar is missing.
918 "--without-java"
919 ;; FIXME: Enable once the corresponding inputs are packaged.
920 "--without-system-npapi-headers"
921 "--disable-coinmp"
922 "--disable-firebird-sdbc" ; embedded firebird
923 "--disable-gltf"
5bf83422
EF
924 "--without-doxygen"
925 "--disable-gtk3"
16c62e1f
AE
926 "--disable-liblangtag")))
927 (home-page "https://www.libreoffice.org/")
928 (synopsis "Office suite")
929 (description "LibreOffice is a comprehensive office suite. It contains
930a number of components: Writer, a word processor; Calc, a spreadsheet
931application; Impress, a presentation engine; Draw, a drawing and
932flowcharting application; Base, a database and database frontend;
933Math for editing mathematics.")
934 (license mpl2.0)))