Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / libreoffice.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
4 ;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
5 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
6 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
7 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
9 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
10 ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
11 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
12 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
13 ;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
14 ;;;
15 ;;; This file is part of GNU Guix.
16 ;;;
17 ;;; GNU Guix is free software; you can redistribute it and/or modify it
18 ;;; under the terms of the GNU General Public License as published by
19 ;;; the Free Software Foundation; either version 3 of the License, or (at
20 ;;; your option) any later version.
21 ;;;
22 ;;; GNU Guix is distributed in the hope that it will be useful, but
23 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 ;;; GNU General Public License for more details.
26 ;;;
27 ;;; You should have received a copy of the GNU General Public License
28 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30 (define-module (gnu packages libreoffice)
31 #:use-module (guix build-system glib-or-gtk)
32 #:use-module (guix build-system gnu)
33 #:use-module (guix build-system trivial)
34 #:use-module (guix download)
35 #:use-module (guix git-download)
36 #:use-module ((guix licenses)
37 #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
38 non-copyleft x11-style bsd-3))
39 #:use-module (guix packages)
40 #:use-module (guix utils)
41 #:use-module (ice-9 match)
42 #:use-module (gnu packages)
43 #:use-module (gnu packages autotools)
44 #:use-module (gnu packages base)
45 #:use-module (gnu packages bison)
46 #:use-module (gnu packages boost)
47 #:use-module (gnu packages check)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages cups)
50 #:use-module (gnu packages curl)
51 #:use-module (gnu packages cyrus-sasl)
52 #:use-module (gnu packages databases)
53 #:use-module (gnu packages documentation)
54 #:use-module (gnu packages flex)
55 #:use-module (gnu packages fontutils)
56 #:use-module (gnu packages ghostscript)
57 #:use-module (gnu packages gl)
58 #:use-module (gnu packages glib)
59 #:use-module (gnu packages gnome)
60 #:use-module (gnu packages gperf)
61 #:use-module (gnu packages gnupg)
62 #:use-module (gnu packages gnuzilla)
63 #:use-module (gnu packages gstreamer)
64 #:use-module (gnu packages gtk)
65 #:use-module (gnu packages icu4c)
66 #:use-module (gnu packages image)
67 #:use-module (gnu packages java)
68 #:use-module (gnu packages linux)
69 #:use-module (gnu packages maths)
70 #:use-module (gnu packages openldap)
71 #:use-module (gnu packages pdf)
72 #:use-module (gnu packages perl)
73 #:use-module (gnu packages perl-compression)
74 #:use-module (gnu packages pkg-config)
75 #:use-module (gnu packages python)
76 #:use-module (gnu packages python-xyz)
77 #:use-module (gnu packages rdf)
78 #:use-module (gnu packages scanner)
79 #:use-module (gnu packages tls)
80 #:use-module (gnu packages version-control)
81 #:use-module (gnu packages xml)
82 #:use-module (gnu packages xorg))
83
84 (define-public ixion
85 (package
86 (name "ixion")
87 (version "0.14.1")
88 (source
89 (origin
90 (method url-fetch)
91 (uri (string-append "http://kohei.us/files/ixion/src/libixion-"
92 version ".tar.xz"))
93 (sha256
94 (base32
95 "14gdd6div4l22vnz3jn2qjxgjly98ck6p8c1v7386c41rx7kilba"))))
96 (build-system gnu-build-system)
97 (native-inputs
98 `(("pkg-config" ,pkg-config)))
99 (inputs
100 `(("mdds" ,mdds)
101 ("python" ,python)))
102 (home-page "https://gitlab.com/ixion/ixion")
103 (synopsis "General purpose formula parser and interpreter")
104 (description "Ixion is a library for calculating the results of formula
105 expressions stored in multiple named targets, or \"cells\". The cells can
106 be referenced from each other, and the library takes care of resolving
107 their dependencies automatically upon calculation.")
108 (license mpl2.0)))
109
110 (define-public orcus
111 (package
112 (name "orcus")
113 (version "0.14.1")
114 (source
115 (origin
116 (method url-fetch)
117 (uri (string-append "http://kohei.us/files/" name "/src/lib"
118 name "-" version ".tar.xz"))
119 (sha256
120 (base32
121 "1ays13a1x15j81dsrq0d3697v1bbqd3bfz3ajn6kb9d61y2drlgj"))))
122 (build-system gnu-build-system)
123 (native-inputs
124 `(("pkg-config" ,pkg-config)))
125 (inputs
126 `(("ixion" ,ixion)
127 ("mdds" ,mdds)
128 ("python" ,python)
129 ("zlib" ,zlib)))
130 (home-page "https://gitlab.com/orcus/orcus")
131 (synopsis "File import filter library for spreadsheet documents")
132 (description "Orcus is a library that provides a collection of standalone
133 file processing filters. It is currently focused on providing filters for
134 spreadsheet documents. The library includes import filters for
135 Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
136 Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
137 CSV, CSS and XML.")
138 (license mpl2.0)))
139
140 (define-public librevenge
141 (package
142 (name "librevenge")
143 (version "0.0.4")
144 (source
145 (origin
146 (method url-fetch)
147 (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
148 version "/" name "-" version ".tar.xz"))
149 (sha256 (base32
150 "1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk"))))
151 (build-system gnu-build-system)
152 (native-inputs
153 `(("cppunit" ,cppunit)
154 ("doxygen" ,doxygen)
155 ("pkg-config" ,pkg-config)))
156 (inputs
157 `(("zlib" ,zlib)))
158 (propagated-inputs ; Referenced by .la files
159 `(("boost" ,boost)))
160 (arguments
161 ;; avoid triggering configure errors by simple inclusion of boost headers
162 `(#:configure-flags '("--disable-werror"
163 ;; Avoid undefined library references
164 "LDFLAGS=-lboost_system")))
165 (home-page "https://sourceforge.net/p/libwpd/wiki/librevenge/")
166 (synopsis "Document importer for office suites")
167 (description "Librevenge is a base library for writing document import
168 filters. It has interfaces for text documents, vector graphics,
169 spreadsheets and presentations.")
170 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
171
172 (define-public libwpd
173 (package
174 (name "libwpd")
175 (version "0.10.2")
176 (source
177 (origin
178 (method url-fetch)
179 (uri (string-append "mirror://sourceforge/" name "/" name "/"
180 name "-" version "/" name "-" version ".tar.xz"))
181 (sha256 (base32
182 "0436gnidx45a9vx114hhh216jrh57mqb9zyssyjfadagmyz6hgrj"))))
183 (build-system gnu-build-system)
184 (native-inputs
185 `(("doxygen" ,doxygen)
186 ("pkg-config" ,pkg-config)))
187 (propagated-inputs
188 `(("librevenge" ,librevenge))) ; in Requires field of .pkg
189 (inputs
190 `(("zlib" ,zlib)))
191 (home-page "http://libwpd.sourceforge.net/")
192 (synopsis "Library for importing WordPerfect documents")
193 (description "Libwpd is a C++ library designed to help process
194 WordPerfect documents. It is most commonly used to import such documents
195 into other word processors.")
196 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
197
198 (define-public libe-book
199 (package
200 (name "libe-book")
201 (version "0.1.3")
202 (source
203 (origin
204 (method url-fetch)
205 (uri (string-append "mirror://sourceforge/libebook/libe-book-"
206 version "/libe-book-" version ".tar.xz"))
207 (sha256
208 (base32
209 "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by"))))
210 (build-system gnu-build-system)
211 (native-inputs
212 `(("cppunit" ,cppunit)
213 ("gperf" ,gperf)
214 ("pkg-config" ,pkg-config)))
215 (propagated-inputs ; in Requires or Requires.private field of .pkg
216 `(("icu4c" ,icu4c)
217 ("liblangtag" ,liblangtag)
218 ("librevenge" ,librevenge)
219 ("libxml2" ,libxml2)))
220 (inputs
221 `(("boost" ,boost)))
222 (arguments
223 ;; avoid triggering configure errors by simple inclusion of boost headers
224 `(#:configure-flags '("--disable-werror")))
225 (home-page "http://libebook.sourceforge.net")
226 (synopsis "Library for import of reflowable e-book formats")
227 (description "Libe-book is a library and a set of tools for reading and
228 converting various reflowable e-book formats. Currently supported are:
229 Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),
230 PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled
231 cellphones), TCR (simple compressed text format), TealDoc, zTXT,
232 ZVR (simple compressed text format).")
233 (license mpl2.0)))
234
235 (define-public libepubgen
236 (package
237 (name "libepubgen")
238 (version "0.1.1")
239 (source
240 (origin
241 (method url-fetch)
242 (uri (string-append "mirror://sourceforge/libepubgen/libepubgen-"
243 version "/libepubgen-" version ".tar.xz"))
244 (sha256
245 (base32
246 "1b8mc9zzrqypj1v9zdy3ybc48pw0rfr06cyi7n6grvybjjwq9q03"))))
247 (build-system gnu-build-system)
248 (native-inputs
249 `(("cppunit" ,cppunit)
250 ("pkg-config" ,pkg-config)))
251 (inputs
252 `(("libxml2" ,libxml2)
253 ("boost" ,boost)))
254 (propagated-inputs ; in Requires field of .pkg
255 `(("librevenge" ,librevenge)))
256 (home-page "https://sourceforge.net/projects/libepubgen/")
257 (synopsis "EPUB generator library for librevenge")
258 (description "libepubgen is an EPUB generator for librevenge. It supports
259 librevenge's text document interface and--currently in a very limited
260 way--presentation and vector drawing interfaces.")
261 (license mpl2.0)))
262
263 (define-public libwpg
264 (package
265 (name "libwpg")
266 (version "0.3.2")
267 (source
268 (origin
269 (method url-fetch)
270 (uri (string-append "mirror://sourceforge/" name "/" name "/"
271 name "-" version "/" name "-" version ".tar.xz"))
272 (sha256 (base32
273 "0cwc5zkp210c661l0bvk6q21jg9ak5g8gmy578w5fgfnjymz3yjp"))))
274 (build-system gnu-build-system)
275 (native-inputs
276 `(("doxygen" ,doxygen)
277 ("pkg-config" ,pkg-config)))
278 (propagated-inputs
279 `(("libwpd" ,libwpd))) ; in Requires field of .pkg
280 (inputs
281 `(("perl" ,perl)
282 ("zlib" ,zlib)))
283 (home-page "http://libwpg.sourceforge.net/")
284 (synopsis "Library and tools for the WordPerfect Graphics format")
285 (description "The libwpg project provides a library and tools for
286 working with graphics in the WPG (WordPerfect Graphics) format.")
287 (license (list mpl2.0 lgpl2.1+)))) ;dual licensed
288
289 (define-public libcmis
290 (package
291 (name "libcmis")
292 (version "0.5.2")
293 (source
294 (origin
295 (method url-fetch)
296 (uri (string-append "https://github.com/tdf/libcmis/releases/download/v"
297 version "/libcmis-" version ".tar.xz"))
298 (sha256
299 (base32
300 "18h0a2gsfxvlv03nlcfvw9bzsflq5sin9agq6za103hr0ab8vcfp"))))
301 (build-system gnu-build-system)
302 (native-inputs
303 `(("cppunit" ,cppunit)
304 ("pkg-config" ,pkg-config)))
305 (propagated-inputs ; in Requires field of .pkg
306 `(("curl" ,curl)
307 ("libxml2" ,libxml2)))
308 (inputs
309 `(("boost" ,boost)
310 ("cyrus-sasl" ,cyrus-sasl)
311 ("openssl" ,openssl)))
312 (arguments
313 `(#:configure-flags
314 (list
315 ;; FIXME: Man pages generation requires docbook-to-man; reenable
316 ;; it once this is available.
317 "--without-man"
318 ;; During configure, the boost headers are found, but linking
319 ;; fails without the following flag.
320 (string-append "--with-boost="
321 (assoc-ref %build-inputs "boost")))))
322 (home-page "https://github.com/tdf/libcmis")
323 (synopsis "CMIS client library")
324 (description "LibCMIS is a C++ client library for the CMIS interface. It
325 allows C++ applications to connect to any ECM behaving as a CMIS server such
326 as Alfresco or Nuxeo.")
327 (license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license
328
329 (define-public libabw
330 (package
331 (name "libabw")
332 (version "0.1.2")
333 (source
334 (origin
335 (method url-fetch)
336 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
337 name "-" version ".tar.xz"))
338 (sha256 (base32
339 "11949iscdb99f2jplxjd39282jxcrf2fw0sqbh5dl7gqb96r8whb"))))
340 (build-system gnu-build-system)
341 (native-inputs
342 `(("doxygen" ,doxygen)
343 ("gperf" ,gperf)
344 ("perl" ,perl)
345 ("pkg-config" ,pkg-config)))
346 (propagated-inputs ; in Requires or Requires.private field of .pkg
347 `(("librevenge" ,librevenge)
348 ("libxml2" ,libxml2)))
349 (inputs
350 `(("boost" ,boost)))
351 (arguments
352 ;; avoid triggering configure errors by simple inclusion of boost headers
353 `(#:configure-flags '("--disable-werror")))
354 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
355 (synopsis "Library for parsing the AbiWord format")
356 (description "Libabw is a library that parses the file format of
357 AbiWord documents.")
358 (license mpl2.0)))
359
360 (define-public libcdr
361 (package
362 (name "libcdr")
363 (version "0.1.5")
364 (source
365 (origin
366 (method url-fetch)
367 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
368 name "-" version ".tar.xz"))
369 (sha256 (base32
370 "0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
371 (build-system gnu-build-system)
372 (native-inputs
373 `(("cppunit" ,cppunit)
374 ("doxygen" ,doxygen)
375 ("pkg-config" ,pkg-config)))
376 (propagated-inputs ; in Requires or Requires.private field of .pkg
377 `(("icu4c" ,icu4c)
378 ("lcms" ,lcms)
379 ("librevenge" ,librevenge)
380 ("zlib" ,zlib)))
381 (inputs
382 `(("boost" ,boost)))
383 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
384 (synopsis "Library for parsing the CorelDRAW format")
385 (description "Libcdr is a library that parses the file format of
386 CorelDRAW documents of all versions.")
387 (license mpl2.0)))
388
389 (define-public libetonyek
390 (package
391 (name "libetonyek")
392 (version "0.1.9")
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
397 name "-" version ".tar.xz"))
398 (sha256 (base32
399 "0jhsbdimiyijdqriy0zzkjjgc4wi6fjimhdg4mdybrlwg7l7f5p6"))))
400 (build-system gnu-build-system)
401 (arguments
402 `(#:configure-flags '("--with-mdds=1.4")))
403 (native-inputs
404 `(("cppunit" ,cppunit)
405 ("doxygen" ,doxygen)
406 ("gperf" ,gperf)
407 ("pkg-config" ,pkg-config)))
408 (propagated-inputs ; in Requires or Requires.private field of .pkg
409 `(("liblangtag" ,liblangtag)
410 ("librevenge" ,librevenge)
411 ("libxml2" ,libxml2)
412 ("zlib" ,zlib)))
413 (inputs
414 `(("boost" ,boost)
415 ("glm" ,glm)
416 ("mdds" ,mdds)))
417 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
418 (synopsis "Library for parsing the Apple Keynote format")
419 (description "Libetonyek is a library that parses the file format of
420 Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
421 (license mpl2.0)))
422
423 (define-public liblangtag
424 (package
425 (name "liblangtag")
426 (version "0.6.2")
427 (source
428 (origin
429 (method url-fetch)
430 (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
431 name "-" version ".tar.bz2"))
432 (sha256
433 (base32
434 "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n"))))
435 (build-system gnu-build-system)
436 (native-inputs
437 `(("libtool" ,libtool)
438 ("pkg-config" ,pkg-config)))
439 (inputs
440 `(("libxml2" ,libxml2)))
441 ;; As of December 2017, tagoh.bitbucket.org redirects to a hosting advert.
442 (home-page "https://bitbucket.org/tagoh/liblangtag")
443 (synopsis "Library to access tags for identifying languages")
444 (description "Liblangtag implements an interface to work with tags
445 for identifying languages as described in RFC 5646. It supports the
446 extensions described in RFC6067 and RFC6497, and Extension T for
447 language/locale identifiers as described in the Unicode CLDR
448 standard 21.0.2.")
449 (license (list lgpl3+ mpl2.0)))) ; dual license
450
451 (define-public libexttextcat
452 (package
453 (name "libexttextcat")
454 (version "3.4.5")
455 (source
456 (origin
457 (method url-fetch)
458 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
459 name "-" version ".tar.xz"))
460 (sha256 (base32
461 "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k"))))
462 (build-system gnu-build-system)
463 (home-page "https://www.freedesktop.org/wiki/Software/libexttextcat/")
464 (synopsis "Text Categorization library")
465 (description "Libexttextcat is an N-Gram-Based Text Categorization
466 library primarily intended for language guessing.")
467 (license (non-copyleft "file://LICENSE"
468 "See LICENSE in the distribution."))))
469
470 (define-public libfreehand
471 (package
472 (name "libfreehand")
473 (version "0.1.2")
474 (source
475 (origin
476 (method url-fetch)
477 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
478 name "-" version ".tar.xz"))
479 (sha256 (base32
480 "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf"))))
481 (build-system gnu-build-system)
482 (native-inputs
483 `(("cppunit" ,cppunit)
484 ("doxygen" ,doxygen)
485 ("gperf" ,gperf)
486 ("perl" ,perl)
487 ("pkg-config" ,pkg-config)))
488 (inputs
489 `(("icu4c" ,icu4c)
490 ("lcms" ,lcms)))
491 (propagated-inputs ; in Requires or Requires.private field of .pkg
492 `(("librevenge" ,librevenge)
493 ("zlib" ,zlib)))
494 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
495 (synopsis "Library for parsing the FreeHand format")
496 (description "Libfreehand is a library that parses the file format of
497 Aldus/Macromedia/Adobe FreeHand documents.")
498 (license mpl2.0)))
499
500 (define-public libmspub
501 (package
502 (name "libmspub")
503 (version "0.1.4")
504 (source
505 (origin
506 (method url-fetch)
507 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
508 name "-" version ".tar.xz"))
509 (sha256 (base32
510 "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg"))))
511 (build-system gnu-build-system)
512 (native-inputs
513 `(("doxygen" ,doxygen)
514 ("pkg-config" ,pkg-config)))
515 (propagated-inputs ; in Requires or Requires.private field of .pkg
516 `(("icu4c" ,icu4c)
517 ("librevenge" ,librevenge)
518 ("zlib" ,zlib)))
519 (inputs
520 `(("boost" ,boost)))
521 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
522 (synopsis "Library for parsing the Microsoft Publisher format")
523 (description "Libmspub is a library that parses the file format of
524 Microsoft Publisher documents of all versions.")
525 (license mpl2.0)))
526
527 (define-public libnumbertext
528 (package
529 (name "libnumbertext")
530 (version "1.0")
531 (source
532 (origin
533 (method url-fetch)
534 (uri (string-append "https://github.com/numbertext/" name
535 "/archive/" version ".tar.gz"))
536 (sha256
537 (base32
538 "0wnsn4911fdd2na8jxkcvmk04a6xw6qlviic9w4qwg9fcym6866v"))
539 (file-name (string-append name "-" version ".tar.gz"))))
540 (build-system gnu-build-system)
541 (arguments
542 `(#:configure-flags '("--disable-static")))
543 (native-inputs
544 `(("autoconf" ,autoconf)
545 ("automake" ,automake)
546 ("libtool" ,libtool)
547 ("pkg-config" ,pkg-config)))
548 (home-page "https://github.com/Numbertext/libnumbertext")
549 (synopsis "Language-neutral @code{NUMBERTEXT} and @code{MONEYTEXT} functions")
550 (description
551 "The libnumbertext library provides language-neutral @code{NUMBERTEXT}
552 and @code{MONEYTEXT} functions for LibreOffice Calc, available for C++ and
553 Java.")
554 (license (list lgpl3+ bsd-3))))
555
556 (define-public libpagemaker
557 (package
558 (name "libpagemaker")
559 (version "0.0.4")
560 (source
561 (origin
562 (method url-fetch)
563 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
564 name "-" version ".tar.xz"))
565 (sha256 (base32
566 "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6"))))
567 (build-system gnu-build-system)
568 (native-inputs
569 `(("doxygen" ,doxygen)
570 ("pkg-config" ,pkg-config)))
571 (propagated-inputs ; in Requires field of .pkg
572 `(("librevenge" ,librevenge)))
573 (inputs
574 `(("boost" ,boost)
575 ("zlib" ,zlib)))
576 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
577 (synopsis "Library for parsing the PageMaker format")
578 (description "Libpagemaker is a library that parses the file format of
579 Aldus/Adobe PageMaker documents. Currently it only understands documents
580 created by PageMaker version 6.x and 7.")
581 (license mpl2.0)))
582
583 (define-public libvisio
584 (package
585 (name "libvisio")
586 (version "0.1.6")
587 (source
588 (origin
589 (method url-fetch)
590 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
591 name "-" version ".tar.xz"))
592 (sha256 (base32
593 "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y"))))
594 (build-system gnu-build-system)
595 (native-inputs
596 `(("cppunit" ,cppunit)
597 ("doxygen" ,doxygen)
598 ("gperf" ,gperf)
599 ("perl" ,perl)
600 ("pkg-config" ,pkg-config)))
601 (propagated-inputs ; in Requires or Requires.private field of .pkg
602 `(("icu4c" ,icu4c)
603 ("librevenge" ,librevenge)
604 ("libxml2" ,libxml2)))
605 (inputs
606 `(("boost" ,boost)))
607 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
608 (synopsis "Library for parsing the Microsoft Visio format")
609 (description "Libvisio is a library that parses the file format of
610 Microsoft Visio documents of all versions.")
611 (license mpl2.0)))
612
613 (define-public libodfgen
614 (package
615 (name "libodfgen")
616 (version "0.1.7")
617 (source
618 (origin
619 (method url-fetch)
620 (uri (string-append "mirror://sourceforge/libwpd/" name "/"
621 name "-" version "/" name "-" version ".tar.xz"))
622 (sha256 (base32
623 "0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij"))))
624 (build-system gnu-build-system)
625 (native-inputs
626 `(("doxygen" ,doxygen)
627 ("pkg-config" ,pkg-config)))
628 (propagated-inputs ; in Requires field of .pkg
629 `(("librevenge" ,librevenge)))
630 (inputs
631 `(("boost" ,boost)
632 ("zlib" ,zlib)))
633 (arguments
634 ;; avoid triggering configure errors by simple inclusion of boost headers
635 `(#:configure-flags '("--disable-werror")))
636 (home-page "https://sourceforge.net/p/libwpd/wiki/libodfgen/")
637 (synopsis "ODF (Open Document Format) library")
638 (description "Libodfgen is a library for generating documents in the
639 Open Document Format (ODF). It provides generator implementations for all
640 document interfaces supported by librevenge:
641 text documents, vector drawings, presentations and spreadsheets.")
642 (license (list mpl2.0 lgpl2.1+)))) ; dual license
643
644 (define-public libmwaw
645 (package
646 (name "libmwaw")
647 (version "0.3.14")
648 (source
649 (origin
650 (method url-fetch)
651 (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
652 version "/" name "-" version ".tar.xz"))
653 (sha256 (base32
654 "1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c"))))
655 (build-system gnu-build-system)
656 (native-inputs
657 `(("doxygen" ,doxygen)
658 ("pkg-config" ,pkg-config)))
659 (propagated-inputs ; in Requires field of .pkg
660 `(("librevenge" ,librevenge)))
661 (inputs
662 `(("boost" ,boost)
663 ("zlib" ,zlib)))
664 (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
665 (synopsis "Import library for some old Macintosh text documents")
666 (description "Libmwaw contains some import filters for old Macintosh
667 text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
668 spreadsheet documents.")
669 (license (list mpl2.0 lgpl2.1+)))) ; dual license
670
671 (define-public libstaroffice
672 (package
673 (name "libstaroffice")
674 (version "0.0.6")
675 (source
676 (origin
677 (method url-fetch)
678 (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
679 version "/libstaroffice-" version ".tar.xz"))
680 (sha256 (base32
681 "1i0ykl0c94lc1qzb5mbyf9jr7qw8p38ja424whmhgrllh7ny203b"))))
682 (build-system gnu-build-system)
683 (inputs
684 `(("librevenge" ,librevenge)
685 ("zlib" ,zlib)))
686 (native-inputs
687 `(("pkg-config" ,pkg-config)))
688 (home-page "https://github.com/fosnola/libstaroffice")
689 (synopsis "Provides LibreOffice support for old StarOffice documents")
690 (description "@code{libstaroffice} is an import filter for the document formats
691 from the old StarOffice (.sdc, .sdw, ...).")
692 (license (list mpl2.0 lgpl2.1+)))) ; dual license
693
694 (define-public libwps
695 (package
696 (name "libwps")
697 (version "0.4.10")
698 (source
699 (origin
700 (method url-fetch)
701 (uri (string-append "mirror://sourceforge/" name "/" name "/"
702 name "-" version "/" name "-" version ".tar.xz"))
703 (sha256 (base32
704 "1ji9zd4wxmas03g8jyx0ih0amrqfazm5874a2v9rd7va50sf088l"))))
705 (build-system gnu-build-system)
706 (native-inputs
707 `(("doxygen" ,doxygen)
708 ("pkg-config" ,pkg-config)))
709 (propagated-inputs ; in Requires field of .pkg
710 `(("librevenge" ,librevenge)))
711 (inputs
712 `(("boost" ,boost)
713 ("zlib" ,zlib)))
714 (home-page "http://libwps.sourceforge.net/")
715 (synopsis "Import library for Microsoft Works text documents")
716 (description "Libwps is a library for importing files in the Microsoft
717 Works word processor file format.")
718 (license (list mpl2.0 lgpl2.1+)))) ; dual license
719
720 (define-public libzmf
721 (package
722 (name "libzmf")
723 (version "0.0.2")
724 (source
725 (origin
726 (method url-fetch)
727 (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
728 version ".tar.xz"))
729 (sha256 (base32
730 "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))))
731 (build-system gnu-build-system)
732 (arguments
733 ;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
734 '(#:configure-flags '("--disable-werror")))
735 (inputs
736 `(("boost" ,boost)
737 ("icu4c" ,icu4c)
738 ("libpng" ,libpng)
739 ("librevenge" ,librevenge)
740 ("zlib" ,zlib)))
741 (native-inputs
742 `(("cppunit" ,cppunit)
743 ("doxygen" ,doxygen)
744 ("pkg-config" ,pkg-config)))
745 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
746 (synopsis "Parses file format of Zoner Callisto/Draw documents")
747 (description "Libzmf is a library that parses the file format of Zoner
748 Callisto/Draw documents. Currently it only understands documents created by
749 Zoner Draw version 4 and 5.")
750 (license mpl2.0)))
751
752 (define-public hunspell
753 (package
754 (name "hunspell")
755 (version "1.7.0")
756 (source
757 (origin
758 (method git-fetch)
759 (uri (git-reference
760 (url "https://github.com/hunspell/hunspell")
761 (commit (string-append "v" version))))
762 (file-name (git-file-name name version))
763 (sha256
764 (base32
765 "0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
766 (build-system gnu-build-system)
767 (native-inputs
768 `(("autoconf" ,autoconf)
769 ("automake" ,automake)
770 ("libtool" ,libtool)))
771 (inputs
772 `(("perl" ,perl)))
773 (native-search-paths (list (search-path-specification
774 (variable "DICPATH")
775 (files '("share/hunspell")))))
776 (home-page "https://hunspell.github.io/")
777 (synopsis "Spell checker")
778 (description "Hunspell is a spell checker and morphological analyzer
779 library and program designed for languages with rich morphology and complex
780 word compounding or character encoding.")
781 ;; Triple license, including "mpl1.1 or later".
782 (license (list mpl1.1 gpl2+ lgpl2.1+))))
783
784 (define (dicollecte-french-dictionary variant synopsis)
785 ;; Return a French dictionary package from dicollecte.org, for the given
786 ;; VARIANT.
787 (package
788 (name (match variant
789 ("classique" "hunspell-dict-fr")
790 (_ (string-append "hunspell-dict-fr-" variant))))
791 (version "6.2")
792 (source (origin
793 (uri (string-append
794 "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v"
795 version ".zip"))
796 (method url-fetch)
797 (sha256
798 (base32
799 "139hfrn5p87sl8hqmgkf6sgvnxrk2mm8vd8xsm8sm98qjnwlg0f9"))))
800 (build-system trivial-build-system)
801 (native-inputs `(("unzip" ,unzip)))
802 (arguments
803 `(#:modules ((guix build utils))
804 #:builder (begin
805 (use-modules (guix build utils)
806 (srfi srfi-26))
807
808 (let* ((out (assoc-ref %outputs "out"))
809 (hunspell (string-append out "/share/hunspell"))
810 (myspell (string-append out "/share/myspell"))
811 (doc (string-append out "/share/doc/"
812 ,name))
813 (unzip (assoc-ref %build-inputs "unzip")))
814 (invoke (string-append unzip "/bin/unzip")
815 (assoc-ref %build-inputs "source"))
816 (for-each (cut install-file <> hunspell)
817 (find-files "."
818 ,(string-append variant
819 "\\.(dic|aff)$")))
820 (mkdir-p myspell)
821 (symlink hunspell (string-append myspell "/dicts"))
822 (for-each (cut install-file <> doc)
823 (find-files "." "\\.(txt|org|md)$"))
824 #t))))
825 (synopsis synopsis)
826 (description
827 "This package provides a dictionary for the Hunspell spell-checking
828 library.")
829 (home-page "https://www.dicollecte.org/home.php?prj=fr")
830 (license mpl2.0)))
831
832 (define-syntax define-french-dictionary
833 (syntax-rules (synopsis)
834 ((_ name variant (synopsis text))
835 (define-public name
836 (dicollecte-french-dictionary variant text)))))
837
838 (define-french-dictionary hunspell-dict-fr-classique
839 "classique"
840 ;; TRANSLATORS: In French, this is "Français classique".
841 (synopsis "Hunspell dictionary for ``classic'' French (recommended)"))
842
843 (define-french-dictionary hunspell-dict-fr-moderne
844 "moderne"
845 ;; TRANSLATORS: In French, this is "Français moderne".
846 (synopsis "Hunspell dictionary for ``modern'' French"))
847
848 (define-french-dictionary hunspell-dict-fr-réforme-1990
849 "reforme1990"
850 (synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French"))
851
852 (define-french-dictionary hunspell-dict-fr-toutes-variantes
853 "toutesvariantes"
854 (synopsis "Hunspell dictionary for all variants of French"))
855
856 (define-public hyphen
857 (package
858 (name "hyphen")
859 (version "2.8.8")
860 (source
861 (origin
862 (method url-fetch)
863 (uri (string-append "mirror://sourceforge/hunspell/Hyphen/"
864 (version-major+minor version) "/"
865 name "-" version ".tar.gz"))
866 (sha256 (base32
867 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
868 (build-system gnu-build-system)
869 (inputs
870 `(("perl" ,perl)))
871 (home-page "http://hunspell.sourceforge.net/")
872 (synopsis "Hyphenation library")
873 (description "Hyphen is a hyphenation library using TeX hyphenation
874 patterns, which are pre-processed by a perl script.")
875 ;; triple license, including "mpl1.1 or later"
876 (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
877
878 (define-public mythes
879 (package
880 (name "mythes")
881 (version "1.2.4")
882 (source
883 (origin
884 (method url-fetch)
885 (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
886 name "-" version ".tar.gz"))
887 (sha256 (base32
888 "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
889 (build-system gnu-build-system)
890 (native-inputs
891 `(("pkg-config" ,pkg-config)))
892 (inputs
893 `(("hunspell" ,hunspell)
894 ("perl" ,perl)))
895 (home-page "http://hunspell.sourceforge.net/")
896 (synopsis "Thesaurus")
897 (description "MyThes is a simple thesaurus that uses a structured text
898 data file and an index file with binary search to look up words and phrases
899 and to return information on pronunciations, meanings and synonyms.")
900 (license (non-copyleft "file://COPYING"
901 "See COPYING in the distribution."))))
902
903 (define-public libqxp
904 (package
905 (name "libqxp")
906 (version "0.0.1")
907 (source (origin
908 (method url-fetch)
909 (uri (string-append "https://dev-www.libreoffice.org/src/libqxp/"
910 "libqxp-" version ".tar.xz"))
911 (sha256
912 (base32
913 "0wswz49y0lqwqw2nj9j7jaj5ag88hapcz8czgkxax57zhihpy9cc"))))
914 (build-system gnu-build-system)
915 (inputs
916 `(("boost" ,boost)
917 ("icu4c" ,icu4c)
918 ("zlib" ,zlib)))
919 (native-inputs
920 `(("cppunit" ,cppunit)
921 ("pkg-config" ,pkg-config)))
922 (propagated-inputs
923 `(("librevenge" ,librevenge))) ; mentioned in Requires field
924 (home-page "https://www.libreoffice.org")
925 (synopsis "Library and tools for the QuarkXPress file format")
926 (description "libqxp is a library and a set of tools for reading and
927 converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
928 (license mpl2.0)))
929
930 (define-public libreoffice
931 (package
932 (name "libreoffice")
933 (version "6.1.3.2")
934 (source
935 (origin
936 (method url-fetch)
937 (uri
938 (string-append
939 "https://download.documentfoundation.org/libreoffice/src/"
940 (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
941 (sha256
942 (base32
943 "0i4gf3qi16fg7dxq2l4vhkwh4f5lx7xd1ilpzcw26vccqkv3hvyl"))
944 (patches
945 (append (list (origin
946 ;; Support newer versions of Orcus and MDDS. These patches
947 ;; are taken from upstream, but we use the patches from Arch
948 ;; because they are adapted for the release tarball.
949 ;; Note: remove the related substitutions below when these
950 ;; are no longer needed.
951 (method url-fetch)
952 (uri (string-append "https://git.archlinux.org/svntogit"
953 "/packages.git/plain/trunk/"
954 "0001-Update-orcus-to-0.14.0.patch?&id="
955 "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
956 (file-name "libreoffice-orcus.patch")
957 (sha256
958 (base32
959 "0v1knblrmfzkb4g9pm5mdnrmjib59bznvca1ygbwlap2ln1h4mk0")))
960 (origin
961 (method url-fetch)
962 (uri (string-append "https://git.archlinux.org/svntogit"
963 "/packages.git/plain/trunk/"
964 "0001-Update-mdds-to-1.4.1.patch?&id="
965 "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
966 (file-name "libreoffice-mdds.patch")
967 (sha256
968 (base32
969 "0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f")))
970 ;; The Poppler API changed rapidly in the versions leading 0.72.
971 ;; Thus, we need several patches from upstream, each adapting to
972 ;; different Poppler changes since version 0.68.
973 (origin
974 (method url-fetch)
975 (uri (string-append "https://github.com/LibreOffice/core/commit/"
976 "1688a395d05125b83eac6cd5c43f0e3f2f66c491"
977 ".patch"))
978 (file-name "libreoffice-poppler-compat.patch")
979 (sha256
980 (base32
981 "0ia5avmj772mrgs6m4qqf01hs8hzpy3nafidj7w7gqx2zz2s5ih9")))
982 (origin
983 (method url-fetch)
984 (uri (string-append "https://github.com/LibreOffice/core/commit/"
985 "5e8bdd9203dd642111c62a6668ee665a20d4ba19"
986 ".patch"))
987 (file-name "libreoffice-poppler-gbool.patch")
988 (sha256
989 (base32
990 "19kc74h5vnk48l2vny8zmm2lkxpwc7g8n9d3wwpg99748dvbmikd")))
991 (origin
992 (method url-fetch)
993 (uri (string-append "https://github.com/LibreOffice/core/commit/"
994 "8ff41a26caf51544699863c89598d37d93dc1b21"
995 ".patch"))
996 (file-name "libreoffice-poppler-0.71.patch")
997 (sha256
998 (base32
999 "1dsd0gynjf7d6412dd2sx70xa2s8kld7ibyjdkwg5w9hhi2zxw2f"))))
1000 (search-patches "libreoffice-icu.patch"
1001 "libreoffice-glm.patch")))
1002 (modules '((guix build utils)))
1003 (snippet
1004 '(begin
1005 (for-each (lambda (file)
1006 ;; Adjust to renamed function in Poppler 0.72.
1007 (substitute* file (("getCString") "c_str")))
1008 (find-files "sdext/source/pdfimport/xpdfwrapper"))
1009 #t))))
1010 (build-system glib-or-gtk-build-system)
1011 (native-inputs
1012 `(("bison" ,bison)
1013 ("cppunit" ,cppunit-1.14)
1014 ("flex" ,flex)
1015 ("pkg-config" ,pkg-config)
1016 ("python" ,python-wrapper)
1017 ("which" ,which)))
1018 (inputs
1019 `(("bluez" ,bluez)
1020 ("boost" ,boost)
1021 ("clucene" ,clucene)
1022 ("cups" ,cups)
1023 ("dbus-glib" ,dbus-glib)
1024 ("fontconfig" ,fontconfig)
1025 ("gconf" ,gconf)
1026 ("glew" ,glew)
1027 ("glm" ,glm)
1028 ("gperf" ,gperf)
1029 ("gpgme" ,gpgme)
1030 ("graphite2" ,graphite2)
1031 ("gst-plugins-base" ,gst-plugins-base)
1032 ("gtk+" ,gtk+)
1033 ("harfbuzz" ,harfbuzz)
1034 ("hunspell" ,hunspell)
1035 ("hyphen" ,hyphen)
1036 ("libabw" ,libabw)
1037 ("libcdr" ,libcdr)
1038 ("libcmis" ,libcmis)
1039 ("libjpeg-turbo" ,libjpeg-turbo)
1040 ("libe-book" ,libe-book)
1041 ("libepubgen" ,libepubgen)
1042 ("libetonyek" ,libetonyek)
1043 ("libexttextcat" ,libexttextcat)
1044 ("libfreehand" ,libfreehand)
1045 ("liblangtag" ,liblangtag)
1046 ;; XXX: Perhaps this should be propagated from xmlsec.
1047 ("libltdl" ,libltdl)
1048 ("libmspub" ,libmspub)
1049 ("libmwaw" ,libmwaw)
1050 ("libnumbertext" ,libnumbertext)
1051 ("libodfgen" ,libodfgen)
1052 ("libpagemaker" ,libpagemaker)
1053 ("libqxp" ,libqxp)
1054 ("libstaroffice" ,libstaroffice)
1055 ("libvisio" ,libvisio)
1056 ("libwpg" ,libwpg)
1057 ("libwps" ,libwps)
1058 ("libxrandr" ,libxrandr)
1059 ("libxrender" ,libxrender)
1060 ("libxslt" ,libxslt)
1061 ("libxt" ,libxt)
1062 ("libzmf" ,libzmf)
1063 ("lpsolve" ,lpsolve)
1064 ("mdds" ,mdds)
1065 ("mythes" ,mythes)
1066 ("neon" ,neon)
1067 ("nspr" ,nspr)
1068 ("nss" ,nss)
1069 ("openldap" ,openldap)
1070 ("openssl" ,openssl)
1071 ("orcus" ,orcus)
1072 ("perl" ,perl)
1073 ("perl-archive-zip" ,perl-archive-zip)
1074 ("poppler" ,poppler)
1075 ("postgresql" ,postgresql)
1076 ("python" ,python)
1077 ("python-lxml" ,python-lxml)
1078 ("redland" ,redland)
1079 ("sane-backends" ,sane-backends)
1080 ("unixodbc" ,unixodbc)
1081 ("unzip" ,unzip)
1082 ("vigra" ,vigra)
1083 ("xmlsec" ,xmlsec-nss)
1084 ("zip" ,zip)))
1085 (arguments
1086 `(#:tests? #f ; Building the tests already fails.
1087 #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
1088 #:phases
1089 (modify-phases %standard-phases
1090 (add-before 'configure 'prepare-src
1091 (lambda* (#:key inputs #:allow-other-keys)
1092 (substitute*
1093 (list "sysui/CustomTarget_share.mk"
1094 "solenv/gbuild/gbuild.mk"
1095 "solenv/gbuild/platform/unxgcc.mk")
1096 (("/bin/sh") (which "sh")))
1097
1098 ;; XXX: Adjust the checks for MDDS and liborcus to avoid having
1099 ;; to re-bootstrap the whole thing. Remove this with the related
1100 ;; patches above.
1101 (substitute* "configure"
1102 (("mdds-1.2 >= 1.2.3") "mdds-1.4 >= 1.4.1")
1103 (("liborcus-0.13 >= 0.13.3") "liborcus-0.14 >= 0.14.0"))
1104
1105 ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
1106 ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to
1107 ;; find them on the include path without a prefix.
1108 (substitute* '("xmlsecurity/Library_xsec_xmlsec.mk"
1109 "comphelper/Library_comphelper.mk")
1110 (("\\$\\$\\(INCLUDE\\)")
1111 (string-append "$$(INCLUDE) -I"
1112 (assoc-ref inputs "gpgme")
1113 "/include/gpgme++")))
1114
1115 #t))
1116 (add-after 'install 'bin-and-desktop-install
1117 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
1118 ;; script.
1119 (lambda* (#:key outputs #:allow-other-keys)
1120 (let ((out (assoc-ref outputs "out")))
1121 (define (symlink-output src dst)
1122 (mkdir-p (dirname (string-append out dst)))
1123 (symlink (string-append out src) (string-append out dst)))
1124 (define (install src dst)
1125 (let ((dst (string-append out dst)))
1126 (mkdir-p (dirname dst))
1127 (copy-file src dst)))
1128 (define (install-desktop-file app)
1129 (let ((src (string-append "/lib/libreoffice/share/xdg/"
1130 app ".desktop"))
1131 (dst (string-append "/share/applications/libreoffice-"
1132 app ".desktop")))
1133 (substitute* (string-append out src)
1134 (("Exec=libreoffice[0-9]+\\.[0-9]+ ")
1135 (string-append "Exec=" out "/bin/libreoffice "))
1136 (("Icon=libreoffice.*")
1137 (string-append "Icon=" app "\n"))
1138 (("LibreOffice [0-9]+\\.[0-9]+")
1139 "LibreOffice"))
1140 (symlink-output src dst)))
1141 (define (install-appdata app)
1142 (install-file (string-append
1143 "sysui/desktop/appstream-appdata/"
1144 "libreoffice-" app ".appdata.xml")
1145 (string-append out "/share/appdata")))
1146 (symlink-output "/lib/libreoffice/program/soffice"
1147 "/bin/soffice")
1148 (symlink-output "/lib/libreoffice/program/soffice"
1149 "/bin/libreoffice")
1150 (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.keys"
1151 "/share/mime-info/libreoffice.keys")
1152 (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime"
1153 "/share/mime-info/libreoffice.mime")
1154 (install
1155 "workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
1156 "/share/mime/packages/libreoffice.xml")
1157 (for-each install-desktop-file
1158 '("base" "calc" "draw" "impress" "writer"
1159 "math" "startcenter"))
1160 (for-each install-appdata
1161 '("base" "calc" "draw" "impress" "writer"))
1162 (mkdir-p (string-append out "/share/icons/hicolor"))
1163 (copy-recursively "sysui/desktop/icons/hicolor"
1164 (string-append out "/share/icons/hicolor")))
1165 #t)))
1166 #:configure-flags
1167 (list
1168 "--enable-release-build"
1169 "--enable-verbose"
1170 ;; Avoid using all cpu cores by default
1171 (format #f "--with-parallelism=~d" (parallel-job-count))
1172 "--disable-fetch-external" ; disable downloads
1173 "--with-system-libs" ; enable all --with-system-* flags
1174 (string-append "--with-boost-libdir="
1175 (assoc-ref %build-inputs "boost") "/lib")
1176 ;; Avoid undefined symbols required by boost::spirit
1177 "LDFLAGS=-lboost_system"
1178 ;; Avoid a dependency on ucpp.
1179 "--with-idlc-cpp=cpp"
1180 ;; The fonts require an external tarball (crosextrafonts).
1181 ;; They should not be needed when system fonts are available.
1182 "--without-fonts"
1183 ;; With java, the build fails since sac.jar is missing.
1184 "--without-java"
1185 ;; FIXME: Enable once the corresponding inputs are packaged.
1186 "--without-system-npapi-headers"
1187 "--disable-coinmp"
1188 "--disable-firebird-sdbc" ; embedded firebird
1189 "--disable-gltf"
1190 ;; XXX: PDFium support requires fetching an external tarball and
1191 ;; patching the build scripts to work with GCC5. Try enabling this
1192 ;; when our default compiler is >=GCC 6.
1193 "--disable-pdfium"
1194 "--disable-gtk" ; disable use of GTK+ 2
1195 "--without-doxygen")))
1196 (home-page "https://www.libreoffice.org/")
1197 (synopsis "Office suite")
1198 (description "LibreOffice is a comprehensive office suite. It contains
1199 a number of components: Writer, a word processor; Calc, a spreadsheet
1200 application; Impress, a presentation engine; Draw, a drawing and
1201 flowcharting application; Base, a database and database frontend;
1202 Math for editing mathematics.")
1203 (license mpl2.0)))