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