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