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