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