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