gnu: wxmaxima: Update to 17.05.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>
a40af5d0 7;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
7b4570b4
AE
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24(define-module (gnu packages libreoffice)
16c62e1f 25 #:use-module (guix build-system gnu)
7b4570b4 26 #:use-module (guix download)
2a9a9441 27 #:use-module ((guix licenses)
00eb9fa3 28 #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
16c62e1f
AE
29 non-copyleft x11-style))
30 #:use-module (guix packages)
31 #:use-module (guix utils)
c91d3fb7 32 #:use-module (gnu packages)
16c62e1f
AE
33 #:use-module (gnu packages autotools)
34 #:use-module (gnu packages base)
35 #:use-module (gnu packages bison)
7b4570b4 36 #:use-module (gnu packages boost)
10ca4a1d 37 #:use-module (gnu packages check)
cfaf863f 38 #:use-module (gnu packages compression)
16c62e1f 39 #:use-module (gnu packages cups)
3736a110
AE
40 #:use-module (gnu packages curl)
41 #:use-module (gnu packages cyrus-sasl)
16c62e1f 42 #:use-module (gnu packages databases)
99828fa7 43 #:use-module (gnu packages documentation)
16c62e1f
AE
44 #:use-module (gnu packages flex)
45 #:use-module (gnu packages fontutils)
9fe8a4ba 46 #:use-module (gnu packages ghostscript)
16c62e1f
AE
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages glib)
49 #:use-module (gnu packages gnome)
b4e5d8e7 50 #:use-module (gnu packages gperf)
16c62e1f
AE
51 #:use-module (gnu packages gnuzilla)
52 #:use-module (gnu packages gstreamer)
53 #:use-module (gnu packages gtk)
b4e5d8e7 54 #:use-module (gnu packages icu4c)
16c62e1f
AE
55 #:use-module (gnu packages image)
56 #:use-module (gnu packages java)
57 #:use-module (gnu packages linux)
58 #:use-module (gnu packages maths)
59 #:use-module (gnu packages openldap)
16c62e1f 60 #:use-module (gnu packages pdf)
2534fc04 61 #:use-module (gnu packages perl)
7b4570b4 62 #:use-module (gnu packages pkg-config)
b4e5d8e7 63 #:use-module (gnu packages python)
16c62e1f
AE
64 #:use-module (gnu packages rdf)
65 #:use-module (gnu packages scanner)
cc2b77df 66 #:use-module (gnu packages tls)
16c62e1f
AE
67 #:use-module (gnu packages version-control)
68 #:use-module (gnu packages xml)
148585c2 69 #:use-module (gnu packages xorg))
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")
e3c9ab5f 587 (version "0.3.11")
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"))
34a0984e 593 (patches (search-patches "libmwaw-CVE-2017-9433.patch"))
1d59b83b 594 (sha256 (base32
e3c9ab5f 595 "16i9s9p4sjpdpbm3gq6jkc9r3nyfy47ggkdlgh7vr0mydccklj2b"))))
1d59b83b
AE
596 (build-system gnu-build-system)
597 (native-inputs
598 `(("doxygen" ,doxygen)
599 ("pkg-config" ,pkg-config)))
b819182d
AE
600 (propagated-inputs ; in Requires field of .pkg
601 `(("librevenge" ,librevenge)))
1d59b83b
AE
602 (inputs
603 `(("boost" ,boost)
1d59b83b
AE
604 ("zlib" ,zlib)))
605 (arguments
606 ;; avoid triggering configure errors by simple inclusion of boost headers
607 `(#:configure-flags '("--disable-werror")))
3b3b60d0 608 (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
1d59b83b
AE
609 (synopsis "Import library for some old Macintosh text documents")
610 (description "Libmwaw contains some import filters for old Macintosh
611text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
612spreadsheet documents.")
22e52dbd
TD
613 (license (list mpl2.0 lgpl2.1+)))) ; dual license
614
615(define-public libstaroffice
616 (package
617 (name "libstaroffice")
e333efd5 618 (version "0.0.4")
22e52dbd
TD
619 (source
620 (origin
621 (method url-fetch)
622 (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
623 version "/libstaroffice-" version ".tar.xz"))
624 (sha256 (base32
e333efd5 625 "0flh0hs31fsq1dmkhf2502lxskiy7fbj5q8gn4b4f502s228fwkf"))))
22e52dbd
TD
626 (build-system gnu-build-system)
627 (inputs
628 `(("librevenge" ,librevenge)
629 ("zlib" ,zlib)))
630 (native-inputs
631 `(("pkg-config" ,pkg-config)))
632 (home-page "https://github.com/fosnola/libstaroffice")
633 (synopsis "Provides LibreOffice support for old StarOffice documents")
634 (description "@code{libstaroffice} is an import filter for the document formats
635from the old StarOffice (.sdc, .sdw, ...).")
1d59b83b 636 (license (list mpl2.0 lgpl2.1+)))) ; dual license
82741a8a
AE
637
638(define-public libwps
639 (package
640 (name "libwps")
7680843e 641 (version "0.4.0")
82741a8a
AE
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "mirror://sourceforge/" name "/" name "/"
de67e922 646 name "-" version "/" name "-" version ".tar.xz"))
82741a8a 647 (sha256 (base32
7680843e 648 "0nlrdk7di015l0sk0ivjdqs86zdcvf73p9z9s9ry5glyhrknzxjk"))))
82741a8a
AE
649 (build-system gnu-build-system)
650 (native-inputs
651 `(("doxygen" ,doxygen)
652 ("pkg-config" ,pkg-config)))
baa941e6
AE
653 (propagated-inputs ; in Requires field of .pkg
654 `(("librevenge" ,librevenge)))
82741a8a
AE
655 (inputs
656 `(("boost" ,boost)
82741a8a
AE
657 ("zlib" ,zlib)))
658 (arguments
659 ;; avoid triggering configure errors by simple inclusion of boost headers
660 `(#:configure-flags '("--disable-werror")))
661 (home-page "http://libwps.sourceforge.net/")
662 (synopsis "Import library for Microsoft Works text documents")
663 (description "Libwps is a library for importing files in the Microsoft
664Works word processor file format.")
665 (license (list mpl2.0 lgpl2.1+)))) ; dual license
2a9a9441 666
741916f1
TD
667(define-public libzmf
668 (package
669 (name "libzmf")
670 (version "0.0.1")
671 (source
672 (origin
673 (method url-fetch)
674 (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
675 version ".tar.xz"))
676 (sha256 (base32
677 "0yp5l1b90xim506zmr3ljkn3qkvbc7qk3dnwq1snxdpr57m37xga"))))
678 (build-system gnu-build-system)
679 (inputs
680 `(("boost" ,boost)
681 ("icu4c" ,icu4c)
682 ("libpng" ,libpng)
683 ("librevenge" ,librevenge)
684 ("zlib" ,zlib)))
685 (native-inputs
686 `(("cppunit" ,cppunit)
687 ("doxygen" ,doxygen)
688 ("pkg-config" ,pkg-config)))
689 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
690 (synopsis "Parses file format of Zoner Callisto/Draw documents")
691 (description "Libzmf is a library that parses the file format of Zoner
692Callisto/Draw documents. Currently it only understands documents created by
693Zoner Draw version 4 and 5.")
694 (license mpl2.0)))
695
2a9a9441
AE
696(define-public hunspell
697 (package
698 (name "hunspell")
a40af5d0 699 (version "1.6.1")
2a9a9441
AE
700 (source
701 (origin
702 (method url-fetch)
4dec10ba
TGR
703 (uri (string-append "https://github.com/hunspell/hunspell/archive/v"
704 version ".tar.gz"))
2a9a9441 705 (sha256 (base32
a40af5d0 706 "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h"))
4dec10ba 707 (file-name (string-append name "-" version ".tar.gz"))))
2a9a9441 708 (build-system gnu-build-system)
a40af5d0
TGR
709 (native-inputs
710 `(("autoconf" ,autoconf)
711 ("automake" ,automake)
712 ("libtool" ,libtool)))
17c2294c
TGR
713 (inputs
714 `(("perl" ,perl)))
a40af5d0
TGR
715 (arguments
716 `(#:phases
717 (modify-phases %standard-phases
718 (add-after 'unpack 'bootstrap
719 (lambda _
720 (zero? (system* "autoreconf" "-vfi")))))))
fc3560ff 721 (home-page "https://hunspell.github.io/")
2a9a9441
AE
722 (synopsis "Spell checker")
723 (description "Hunspell is a spell checker and morphological analyzer
724library and program designed for languages with rich morphology and complex
725word compounding or character encoding.")
17c2294c 726 ;; Triple license, including "mpl1.1 or later".
2a9a9441 727 (license (list mpl1.1 gpl2+ lgpl2.1+))))
1c625dd3
AE
728
729(define-public hyphen
730 (package
731 (name "hyphen")
732 (version "2.8.8")
733 (source
734 (origin
735 (method url-fetch)
de67e922
LF
736 (uri (string-append "mirror://sourceforge/hunspell/Hyphen/"
737 (version-major+minor version) "/"
1c625dd3
AE
738 name "-" version ".tar.gz"))
739 (sha256 (base32
740 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
741 (build-system gnu-build-system)
742 (inputs
743 `(("perl" ,perl)))
744 (home-page "http://hunspell.sourceforge.net/")
745 (synopsis "Hyphenation library")
746 (description "Hyphen is a hyphenation library using TeX hyphenation
747patterns, which are pre-processed by a perl script.")
748 ;; triple license, including "mpl1.1 or later"
749 (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
2320ea1a
AE
750
751(define-public mythes
752 (package
753 (name "mythes")
754 (version "1.2.4")
755 (source
756 (origin
757 (method url-fetch)
de67e922 758 (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
2320ea1a
AE
759 name "-" version ".tar.gz"))
760 (sha256 (base32
761 "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
762 (build-system gnu-build-system)
763 (native-inputs
764 `(("pkg-config" ,pkg-config)))
765 (inputs
766 `(("hunspell" ,hunspell)
767 ("perl" ,perl)))
768 (home-page "http://hunspell.sourceforge.net/")
769 (synopsis "Thesaurus")
770 (description "MyThes is a simple thesaurus that uses a structured text
771data file and an index file with binary search to look up words and phrases
e881752c 772and to return information on pronunciations, meanings and synonyms.")
2320ea1a
AE
773 (license (non-copyleft "file://COPYING"
774 "See COPYING in the distribution."))))
16c62e1f
AE
775
776;; LibreOffice requires an xmlsec source tarball; it does not even check
777;; for the presence of an externally compiled library.
778(define xmlsec-src-libreoffice
779 (origin
780 (method url-fetch)
781 (uri
782 (string-append
b1a8fd2d
TD
783 "http://dev-www.libreoffice.org/src/"
784 "86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz"))
16c62e1f 785 (sha256 (base32
b1a8fd2d 786 "17qfw5crkqn4v6xbkjxrjvcccfc00dy053892wrwv54qdk8n7m21"))))
16c62e1f
AE
787
788(define-public libreoffice
789 (package
790 (name "libreoffice")
9570b016 791 (version "5.3.2.2")
16c62e1f
AE
792 (source
793 (origin
794 (method url-fetch)
795 (uri
796 (string-append
797 "http://download.documentfoundation.org/libreoffice/src/"
798 (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
799 (sha256 (base32
9570b016 800 "1bcy1wx2cixawpd6cpivakwcwv8ryyy25kdw0fbci319p5gaj4c8"))))
16c62e1f
AE
801 (build-system gnu-build-system)
802 (native-inputs
803 `(;; autoreconf is run by the LibreOffice build system, since after
804 ;; unpacking the external xmlsec tarball, it applies a series of
805 ;; patches to Makefile.am, configure.in, config.guess and config.sub.
806 ("autoconf" ,autoconf)
807 ("automake" ,automake)
808 ("bison" ,bison)
809 ("cppunit" ,cppunit)
810 ("flex" ,flex)
811 ("pkg-config" ,pkg-config)
5bf83422 812 ("python" ,python-wrapper)
16c62e1f
AE
813 ("which" ,which)))
814 (inputs
815 `(("bluez" ,bluez)
816 ("boost" ,boost)
817 ("clucene" ,clucene)
818 ("cups" ,cups)
819 ("dbus-glib" ,dbus-glib)
820 ("fontconfig" ,fontconfig)
821 ("gconf" ,gconf)
822 ("glew" ,glew)
823 ("glm" ,glm)
824 ("gperf" ,gperf)
825 ("graphite2" ,graphite2)
826 ("gst-plugins-base" ,gst-plugins-base)
827 ("gtk+" ,gtk+-2)
828 ("harfbuzz" ,harfbuzz)
829 ("hunspell" ,hunspell)
830 ("hyphen" ,hyphen)
831 ("libabw" ,libabw)
832 ("libcdr" ,libcdr)
833 ("libcmis" ,libcmis)
834 ("libjpeg" ,libjpeg)
835 ("libe-book" ,libe-book)
836 ("libetonyek" ,libetonyek)
837 ("libexttextcat" ,libexttextcat)
838 ("libfreehand" ,libfreehand)
839 ("libmspub" ,libmspub)
840 ("libmwaw" ,libmwaw)
841 ("libodfgen" ,libodfgen)
842 ("libpagemaker" ,libpagemaker)
b1a8fd2d 843 ("libstaroffice" ,libstaroffice)
16c62e1f
AE
844 ("libvisio" ,libvisio)
845 ("libwpg" ,libwpg)
846 ("libwps" ,libwps)
847 ("libxrandr" ,libxrandr)
848 ("libxrender" ,libxrender)
849 ("libxslt" ,libxslt)
850 ("libxt" ,libxt)
b1a8fd2d 851 ("libzmf" ,libzmf)
16c62e1f
AE
852 ("lpsolve" ,lpsolve)
853 ("mdds" ,mdds)
854 ("mythes" ,mythes)
855 ("neon" ,neon)
856 ("nspr" ,nspr)
857 ("nss" ,nss)
858 ("openldap" ,openldap)
859 ("openssl" ,openssl)
860 ("orcus" ,orcus)
861 ("perl" ,perl)
862 ("perl-zip" ,perl-zip)
863 ("poppler" ,poppler)
864 ("postgresql" ,postgresql)
865 ("python" ,python)
866 ("redland" ,redland)
4c928743 867 ("sane-backends" ,sane-backends)
16c62e1f
AE
868 ("unixodbc" ,unixodbc)
869 ("unzip" ,unzip)
870 ("vigra" ,vigra)
871 ("xmlsec-src" ,xmlsec-src-libreoffice)
872 ("zip" ,zip)))
873 (arguments
ebc81631 874 `(#:tests? #f ; Building the tests already fails.
16c62e1f
AE
875 #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
876 #:phases
877 (modify-phases %standard-phases
878 (add-before 'configure 'prepare-src
879 (lambda* (#:key inputs #:allow-other-keys)
880 (let ((xmlsec (assoc-ref inputs "xmlsec-src")))
881 (substitute*
882 (list "sysui/CustomTarget_share.mk"
883 "solenv/gbuild/gbuild.mk"
b1a8fd2d 884 "solenv/gbuild/platform/unxgcc.mk")
16c62e1f
AE
885 (("/bin/sh") (which "bash")))
886 (mkdir "external/tarballs")
887 (symlink
888 xmlsec
889 (string-append "external/tarballs/"
b1a8fd2d
TD
890 "86b1daaa438f5a7bea9a52d7b9799ac0-"
891 "xmlsec1-1.2.23.tar.gz"))
16c62e1f
AE
892 ;; The following is required for building xmlsec from the
893 ;; unpatched external tarball; since "configure" starts with
894 ;; "/bin/sh", it needs to be executed by a command invoking
895 ;; the shell.
896 (setenv "SHELL" (which "bash"))
897 (setenv "CONFIG_SHELL" (which "bash"))
898 (substitute* "external/libxmlsec/ExternalProject_xmlsec.mk"
899 (("./configure") "$(CONFIG_SHELL) ./configure" ))
900 #t)))
901 (add-after 'install 'bin-install
cb72d343
AK
902 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
903 ;; script.
16c62e1f
AE
904 (lambda* (#:key outputs #:allow-other-keys)
905 (let* ((out (assoc-ref outputs "out"))
cb72d343
AK
906 (bin (string-append out "/bin"))
907 (soffice (string-append
908 out "/lib/libreoffice/program/soffice")))
16c62e1f 909 (mkdir bin)
cb72d343
AK
910 (symlink soffice (string-append bin "/soffice"))
911 (symlink soffice (string-append bin "/libreoffice")))
16c62e1f
AE
912 #t)))
913 #:configure-flags
914 (list
915 "--enable-release-build"
916 "--enable-verbose"
917 "--without-parallelism" ; otherwise the build fails
918 "--disable-fetch-external" ; disable downloads
919 "--with-system-libs" ; enable all --with-system-* flags
920 (string-append "--with-boost-libdir="
921 (assoc-ref %build-inputs "boost") "/lib")
c91d3fb7
EB
922 ;; Avoid undefined symbols required by boost::spirit
923 "LDFLAGS=-lboost_system"
16c62e1f
AE
924 ;; Avoid a dependency on ucpp.
925 "--with-idlc-cpp=cpp"
926 ;; The fonts require an external tarball (crosextrafonts).
927 ;; They should not be needed when system fonts are available.
928 "--without-fonts"
929 ;; With java, the build fails since sac.jar is missing.
930 "--without-java"
931 ;; FIXME: Enable once the corresponding inputs are packaged.
932 "--without-system-npapi-headers"
933 "--disable-coinmp"
934 "--disable-firebird-sdbc" ; embedded firebird
935 "--disable-gltf"
5bf83422
EF
936 "--without-doxygen"
937 "--disable-gtk3"
16c62e1f
AE
938 "--disable-liblangtag")))
939 (home-page "https://www.libreoffice.org/")
940 (synopsis "Office suite")
941 (description "LibreOffice is a comprehensive office suite. It contains
942a number of components: Writer, a word processor; Calc, a spreadsheet
943application; Impress, a presentation engine; Draw, a drawing and
944flowcharting application; Base, a database and database frontend;
945Math for editing mathematics.")
946 (license mpl2.0)))