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