gnu: libetonyek: Update to 0.1.9.
[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)
c80259b3 416 ("glm" ,glm)
3dc67e38 417 ("gperf" ,gperf)
b85b56dd 418 ("liblangtag" ,liblangtag)
c80259b3 419 ("mdds" ,mdds)
7a9283a6 420 ("pkg-config" ,pkg-config)))
480fe002
AE
421 (propagated-inputs ; in Requires or Requires.private field of .pkg
422 `(("librevenge" ,librevenge)
3dc67e38 423 ("libxml2" ,libxml2)))
480fe002
AE
424 (inputs
425 `(("boost" ,boost)))
3dc67e38
AE
426 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
427 (synopsis "Library for parsing the Apple Keynote format")
428 (description "Libetonyek is a library that parses the file format of
429Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
430 (license mpl2.0)))
97aee2b6 431
00eb9fa3
EF
432(define-public liblangtag
433 (package
434 (name "liblangtag")
603231c1 435 (version "0.6.2")
00eb9fa3
EF
436 (source
437 (origin
438 (method url-fetch)
439 (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
440 name "-" version ".tar.bz2"))
441 (sha256
442 (base32
603231c1 443 "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n"))))
00eb9fa3
EF
444 (build-system gnu-build-system)
445 (native-inputs
446 `(("libtool" ,libtool)
447 ("pkg-config" ,pkg-config)))
448 (inputs
449 `(("libxml2" ,libxml2)))
69d973cc
TGR
450 ;; As of December 2017, tagoh.bitbucket.org redirects to a hosting advert.
451 (home-page "https://bitbucket.org/tagoh/liblangtag")
00eb9fa3
EF
452 (synopsis "Library to access tags for identifying languages")
453 (description "Liblangtag implements an interface to work with tags
454for identifying languages as described in RFC 5646. It supports the
455extensions described in RFC6067 and RFC6497, and Extension T for
456language/locale identifiers as described in the Unicode CLDR
457standard 21.0.2.")
458 (license (list lgpl3+ mpl2.0)))) ; dual license
459
97aee2b6
AE
460(define-public libexttextcat
461 (package
462 (name "libexttextcat")
ae443ec1 463 (version "3.4.5")
97aee2b6
AE
464 (source
465 (origin
466 (method url-fetch)
467 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
468 name "-" version ".tar.xz"))
469 (sha256 (base32
ae443ec1 470 "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k"))))
97aee2b6 471 (build-system gnu-build-system)
57e7d748 472 (home-page "https://www.freedesktop.org/wiki/Software/libexttextcat/")
97aee2b6
AE
473 (synopsis "Text Categorization library")
474 (description "Libexttextcat is an N-Gram-Based Text Categorization
475library primarily intended for language guessing.")
476 (license (non-copyleft "file://LICENSE"
477 "See LICENSE in the distribution."))))
ef1c4148
AE
478
479(define-public libfreehand
480 (package
481 (name "libfreehand")
e9d8b887 482 (version "0.1.2")
ef1c4148
AE
483 (source
484 (origin
485 (method url-fetch)
486 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
487 name "-" version ".tar.xz"))
488 (sha256 (base32
e9d8b887 489 "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf"))))
ef1c4148
AE
490 (build-system gnu-build-system)
491 (native-inputs
e9d8b887
MB
492 `(("cppunit" ,cppunit)
493 ("doxygen" ,doxygen)
ef1c4148
AE
494 ("gperf" ,gperf)
495 ("perl" ,perl)
496 ("pkg-config" ,pkg-config)))
e9d8b887
MB
497 (inputs
498 `(("icu4c" ,icu4c)
499 ("lcms" ,lcms)))
c5b5800b 500 (propagated-inputs ; in Requires or Requires.private field of .pkg
ef1c4148
AE
501 `(("librevenge" ,librevenge)
502 ("zlib" ,zlib)))
503 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
504 (synopsis "Library for parsing the FreeHand format")
505 (description "Libfreehand is a library that parses the file format of
506Aldus/Macromedia/Adobe FreeHand documents.")
507 (license mpl2.0)))
86e278fc
AE
508
509(define-public libmspub
510 (package
511 (name "libmspub")
9ed31fca 512 (version "0.1.4")
86e278fc
AE
513 (source
514 (origin
515 (method url-fetch)
9ed31fca 516 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
86e278fc
AE
517 name "-" version ".tar.xz"))
518 (sha256 (base32
9ed31fca 519 "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg"))))
86e278fc
AE
520 (build-system gnu-build-system)
521 (native-inputs
522 `(("doxygen" ,doxygen)
523 ("pkg-config" ,pkg-config)))
e39cc723
AE
524 (propagated-inputs ; in Requires or Requires.private field of .pkg
525 `(("icu4c" ,icu4c)
86e278fc
AE
526 ("librevenge" ,librevenge)
527 ("zlib" ,zlib)))
e39cc723
AE
528 (inputs
529 `(("boost" ,boost)))
86e278fc
AE
530 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
531 (synopsis "Library for parsing the Microsoft Publisher format")
532 (description "Libmspub is a library that parses the file format of
533Microsoft Publisher documents of all versions.")
534 (license mpl2.0)))
f5d4a138 535
aeba7d46
JB
536(define-public libnumbertext
537 (package
538 (name "libnumbertext")
539 (version "1.0")
540 (source
541 (origin
542 (method url-fetch)
543 (uri (string-append "https://github.com/numbertext/" name
544 "/archive/" version ".tar.gz"))
545 (sha256
546 (base32
547 "0wnsn4911fdd2na8jxkcvmk04a6xw6qlviic9w4qwg9fcym6866v"))
548 (file-name (string-append name "-" version ".tar.gz"))))
549 (build-system gnu-build-system)
550 (arguments
551 `(#:configure-flags '("--disable-static")))
552 (native-inputs
553 `(("autoconf" ,autoconf)
554 ("automake" ,automake)
555 ("libtool" ,libtool)
556 ("pkg-config" ,pkg-config)))
557 (home-page "https://github.com/Numbertext/libnumbertext")
558 (synopsis "Language-neutral @code{NUMBERTEXT} and @code{MONEYTEXT} functions")
559 (description
560 "The libnumbertext library provides language-neutral @code{NUMBERTEXT}
561and @code{MONEYTEXT} functions for LibreOffice Calc, available for C++ and
562Java.")
563 (license (list lgpl3+ bsd-3))))
564
f5d4a138
AE
565(define-public libpagemaker
566 (package
567 (name "libpagemaker")
c7cc1fcb 568 (version "0.0.4")
f5d4a138
AE
569 (source
570 (origin
571 (method url-fetch)
c7cc1fcb 572 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
f5d4a138
AE
573 name "-" version ".tar.xz"))
574 (sha256 (base32
c7cc1fcb 575 "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6"))))
f5d4a138
AE
576 (build-system gnu-build-system)
577 (native-inputs
578 `(("doxygen" ,doxygen)
579 ("pkg-config" ,pkg-config)))
493b6e28 580 (propagated-inputs ; in Requires field of .pkg
86d648ea 581 `(("librevenge" ,librevenge)))
f5d4a138
AE
582 (inputs
583 `(("boost" ,boost)
f5d4a138 584 ("zlib" ,zlib)))
f5d4a138
AE
585 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
586 (synopsis "Library for parsing the PageMaker format")
587 (description "Libpagemaker is a library that parses the file format of
588Aldus/Adobe PageMaker documents. Currently it only understands documents
589created by PageMaker version 6.x and 7.")
590 (license mpl2.0)))
56203284
AE
591
592(define-public libvisio
593 (package
594 (name "libvisio")
45d5c802 595 (version "0.1.6")
56203284
AE
596 (source
597 (origin
598 (method url-fetch)
599 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
600 name "-" version ".tar.xz"))
601 (sha256 (base32
45d5c802 602 "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y"))))
56203284
AE
603 (build-system gnu-build-system)
604 (native-inputs
605 `(("cppunit" ,cppunit)
606 ("doxygen" ,doxygen)
607 ("gperf" ,gperf)
608 ("perl" ,perl)
609 ("pkg-config" ,pkg-config)))
a3be6b8b
AE
610 (propagated-inputs ; in Requires or Requires.private field of .pkg
611 `(("icu4c" ,icu4c)
56203284
AE
612 ("librevenge" ,librevenge)
613 ("libxml2" ,libxml2)))
a3be6b8b
AE
614 (inputs
615 `(("boost" ,boost)))
56203284
AE
616 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
617 (synopsis "Library for parsing the Microsoft Visio format")
618 (description "Libvisio is a library that parses the file format of
619Microsoft Visio documents of all versions.")
620 (license mpl2.0)))
74a63b11
AE
621
622(define-public libodfgen
623 (package
624 (name "libodfgen")
cd4540ee 625 (version "0.1.7")
74a63b11
AE
626 (source
627 (origin
628 (method url-fetch)
cd4540ee
TGR
629 (uri (string-append "mirror://sourceforge/libwpd/" name "/"
630 name "-" version "/" name "-" version ".tar.xz"))
74a63b11 631 (sha256 (base32
cd4540ee 632 "0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij"))))
74a63b11
AE
633 (build-system gnu-build-system)
634 (native-inputs
635 `(("doxygen" ,doxygen)
636 ("pkg-config" ,pkg-config)))
3b5199b3
AE
637 (propagated-inputs ; in Requires field of .pkg
638 `(("librevenge" ,librevenge)))
74a63b11
AE
639 (inputs
640 `(("boost" ,boost)
74a63b11
AE
641 ("zlib" ,zlib)))
642 (arguments
643 ;; avoid triggering configure errors by simple inclusion of boost headers
644 `(#:configure-flags '("--disable-werror")))
3b3b60d0 645 (home-page "https://sourceforge.net/p/libwpd/wiki/libodfgen/")
74a63b11
AE
646 (synopsis "ODF (Open Document Format) library")
647 (description "Libodfgen is a library for generating documents in the
648Open Document Format (ODF). It provides generator implementations for all
649document interfaces supported by librevenge:
650text documents, vector drawings, presentations and spreadsheets.")
651 (license (list mpl2.0 lgpl2.1+)))) ; dual license
1d59b83b
AE
652
653(define-public libmwaw
654 (package
655 (name "libmwaw")
49c941b4 656 (version "0.3.14")
1d59b83b
AE
657 (source
658 (origin
659 (method url-fetch)
de67e922
LF
660 (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
661 version "/" name "-" version ".tar.xz"))
1d59b83b 662 (sha256 (base32
49c941b4 663 "1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c"))))
1d59b83b
AE
664 (build-system gnu-build-system)
665 (native-inputs
666 `(("doxygen" ,doxygen)
667 ("pkg-config" ,pkg-config)))
49c941b4 668 (propagated-inputs ; in Requires field of .pkg
b819182d 669 `(("librevenge" ,librevenge)))
1d59b83b
AE
670 (inputs
671 `(("boost" ,boost)
1d59b83b 672 ("zlib" ,zlib)))
3b3b60d0 673 (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
1d59b83b
AE
674 (synopsis "Import library for some old Macintosh text documents")
675 (description "Libmwaw contains some import filters for old Macintosh
676text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
677spreadsheet documents.")
49c941b4 678 (license (list mpl2.0 lgpl2.1+)))) ; dual license
22e52dbd
TD
679
680(define-public libstaroffice
681 (package
682 (name "libstaroffice")
c4419598 683 (version "0.0.6")
22e52dbd
TD
684 (source
685 (origin
686 (method url-fetch)
687 (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
688 version "/libstaroffice-" version ".tar.xz"))
689 (sha256 (base32
c4419598 690 "1i0ykl0c94lc1qzb5mbyf9jr7qw8p38ja424whmhgrllh7ny203b"))))
22e52dbd
TD
691 (build-system gnu-build-system)
692 (inputs
693 `(("librevenge" ,librevenge)
694 ("zlib" ,zlib)))
695 (native-inputs
696 `(("pkg-config" ,pkg-config)))
697 (home-page "https://github.com/fosnola/libstaroffice")
698 (synopsis "Provides LibreOffice support for old StarOffice documents")
699 (description "@code{libstaroffice} is an import filter for the document formats
700from the old StarOffice (.sdc, .sdw, ...).")
1d59b83b 701 (license (list mpl2.0 lgpl2.1+)))) ; dual license
82741a8a
AE
702
703(define-public libwps
704 (package
705 (name "libwps")
002d73a0 706 (version "0.4.10")
82741a8a
AE
707 (source
708 (origin
709 (method url-fetch)
710 (uri (string-append "mirror://sourceforge/" name "/" name "/"
de67e922 711 name "-" version "/" name "-" version ".tar.xz"))
82741a8a 712 (sha256 (base32
002d73a0 713 "1ji9zd4wxmas03g8jyx0ih0amrqfazm5874a2v9rd7va50sf088l"))))
82741a8a
AE
714 (build-system gnu-build-system)
715 (native-inputs
716 `(("doxygen" ,doxygen)
717 ("pkg-config" ,pkg-config)))
002d73a0 718 (propagated-inputs ; in Requires field of .pkg
baa941e6 719 `(("librevenge" ,librevenge)))
82741a8a
AE
720 (inputs
721 `(("boost" ,boost)
82741a8a 722 ("zlib" ,zlib)))
82741a8a
AE
723 (home-page "http://libwps.sourceforge.net/")
724 (synopsis "Import library for Microsoft Works text documents")
725 (description "Libwps is a library for importing files in the Microsoft
726Works word processor file format.")
002d73a0 727 (license (list mpl2.0 lgpl2.1+)))) ; dual license
2a9a9441 728
741916f1
TD
729(define-public libzmf
730 (package
731 (name "libzmf")
7cb3e9d3 732 (version "0.0.2")
741916f1
TD
733 (source
734 (origin
735 (method url-fetch)
736 (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
737 version ".tar.xz"))
738 (sha256 (base32
7cb3e9d3 739 "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))))
741916f1 740 (build-system gnu-build-system)
244a0d5a
LC
741 (arguments
742 ;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
743 '(#:configure-flags '("--disable-werror")))
741916f1
TD
744 (inputs
745 `(("boost" ,boost)
746 ("icu4c" ,icu4c)
747 ("libpng" ,libpng)
748 ("librevenge" ,librevenge)
749 ("zlib" ,zlib)))
750 (native-inputs
751 `(("cppunit" ,cppunit)
752 ("doxygen" ,doxygen)
753 ("pkg-config" ,pkg-config)))
754 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
755 (synopsis "Parses file format of Zoner Callisto/Draw documents")
756 (description "Libzmf is a library that parses the file format of Zoner
757Callisto/Draw documents. Currently it only understands documents created by
758Zoner Draw version 4 and 5.")
759 (license mpl2.0)))
760
2a9a9441
AE
761(define-public hunspell
762 (package
763 (name "hunspell")
15ad9eb6 764 (version "1.7.0")
2a9a9441 765 (source
15ad9eb6
EF
766 (origin
767 (method git-fetch)
768 (uri (git-reference
769 (url "https://github.com/hunspell/hunspell")
770 (commit (string-append "v" version))))
771 (file-name (git-file-name name version))
772 (sha256
773 (base32
774 "0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
2a9a9441 775 (build-system gnu-build-system)
a40af5d0
TGR
776 (native-inputs
777 `(("autoconf" ,autoconf)
778 ("automake" ,automake)
779 ("libtool" ,libtool)))
17c2294c
TGR
780 (inputs
781 `(("perl" ,perl)))
31daf893
LC
782 (native-search-paths (list (search-path-specification
783 (variable "DICPATH")
784 (files '("share/hunspell")))))
fc3560ff 785 (home-page "https://hunspell.github.io/")
2a9a9441
AE
786 (synopsis "Spell checker")
787 (description "Hunspell is a spell checker and morphological analyzer
788library and program designed for languages with rich morphology and complex
789word compounding or character encoding.")
17c2294c 790 ;; Triple license, including "mpl1.1 or later".
2a9a9441 791 (license (list mpl1.1 gpl2+ lgpl2.1+))))
1c625dd3 792
4db733e7
LC
793(define (dicollecte-french-dictionary variant synopsis)
794 ;; Return a French dictionary package from dicollecte.org, for the given
795 ;; VARIANT.
796 (package
797 (name (match variant
798 ("classique" "hunspell-dict-fr")
799 (_ (string-append "hunspell-dict-fr-" variant))))
d4b8fa5d 800 (version "6.2")
4db733e7
LC
801 (source (origin
802 (uri (string-append
803 "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v"
804 version ".zip"))
805 (method url-fetch)
806 (sha256
807 (base32
d4b8fa5d 808 "139hfrn5p87sl8hqmgkf6sgvnxrk2mm8vd8xsm8sm98qjnwlg0f9"))))
4db733e7
LC
809 (build-system trivial-build-system)
810 (native-inputs `(("unzip" ,unzip)))
811 (arguments
812 `(#:modules ((guix build utils))
813 #:builder (begin
814 (use-modules (guix build utils)
815 (srfi srfi-26))
816
817 (let* ((out (assoc-ref %outputs "out"))
818 (hunspell (string-append out "/share/hunspell"))
819 (myspell (string-append out "/share/myspell"))
820 (doc (string-append out "/share/doc/"
821 ,name))
822 (unzip (assoc-ref %build-inputs "unzip")))
e3cfef22
MW
823 (invoke (string-append unzip "/bin/unzip")
824 (assoc-ref %build-inputs "source"))
4db733e7
LC
825 (for-each (cut install-file <> hunspell)
826 (find-files "."
827 ,(string-append variant
828 "\\.(dic|aff)$")))
829 (mkdir-p myspell)
830 (symlink hunspell (string-append myspell "/dicts"))
831 (for-each (cut install-file <> doc)
832 (find-files "." "\\.(txt|org|md)$"))
833 #t))))
834 (synopsis synopsis)
835 (description
836 "This package provides a dictionary for the Hunspell spell-checking
837library.")
838 (home-page "https://www.dicollecte.org/home.php?prj=fr")
839 (license mpl2.0)))
840
841(define-syntax define-french-dictionary
842 (syntax-rules (synopsis)
843 ((_ name variant (synopsis text))
844 (define-public name
845 (dicollecte-french-dictionary variant text)))))
846
847(define-french-dictionary hunspell-dict-fr-classique
848 "classique"
849 ;; TRANSLATORS: In French, this is "Français classique".
850 (synopsis "Hunspell dictionary for ``classic'' French (recommended)"))
851
852(define-french-dictionary hunspell-dict-fr-moderne
853 "moderne"
854 ;; TRANSLATORS: In French, this is "Français moderne".
855 (synopsis "Hunspell dictionary for ``modern'' French"))
856
857(define-french-dictionary hunspell-dict-fr-réforme-1990
858 "reforme1990"
859 (synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French"))
860
861(define-french-dictionary hunspell-dict-fr-toutes-variantes
862 "toutesvariantes"
863 (synopsis "Hunspell dictionary for all variants of French"))
864
1c625dd3
AE
865(define-public hyphen
866 (package
867 (name "hyphen")
868 (version "2.8.8")
869 (source
870 (origin
871 (method url-fetch)
de67e922
LF
872 (uri (string-append "mirror://sourceforge/hunspell/Hyphen/"
873 (version-major+minor version) "/"
1c625dd3
AE
874 name "-" version ".tar.gz"))
875 (sha256 (base32
876 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
877 (build-system gnu-build-system)
878 (inputs
879 `(("perl" ,perl)))
880 (home-page "http://hunspell.sourceforge.net/")
881 (synopsis "Hyphenation library")
882 (description "Hyphen is a hyphenation library using TeX hyphenation
883patterns, which are pre-processed by a perl script.")
884 ;; triple license, including "mpl1.1 or later"
885 (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
2320ea1a
AE
886
887(define-public mythes
888 (package
889 (name "mythes")
890 (version "1.2.4")
891 (source
892 (origin
893 (method url-fetch)
de67e922 894 (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
2320ea1a
AE
895 name "-" version ".tar.gz"))
896 (sha256 (base32
897 "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
898 (build-system gnu-build-system)
899 (native-inputs
900 `(("pkg-config" ,pkg-config)))
901 (inputs
902 `(("hunspell" ,hunspell)
903 ("perl" ,perl)))
904 (home-page "http://hunspell.sourceforge.net/")
905 (synopsis "Thesaurus")
906 (description "MyThes is a simple thesaurus that uses a structured text
907data file and an index file with binary search to look up words and phrases
e881752c 908and to return information on pronunciations, meanings and synonyms.")
2320ea1a
AE
909 (license (non-copyleft "file://COPYING"
910 "See COPYING in the distribution."))))
16c62e1f 911
4e4dcd47
RW
912(define-public libqxp
913 (package
914 (name "libqxp")
915 (version "0.0.1")
916 (source (origin
917 (method url-fetch)
918 (uri (string-append "https://dev-www.libreoffice.org/src/libqxp/"
919 "libqxp-" version ".tar.xz"))
920 (sha256
921 (base32
922 "0wswz49y0lqwqw2nj9j7jaj5ag88hapcz8czgkxax57zhihpy9cc"))))
923 (build-system gnu-build-system)
924 (inputs
925 `(("boost" ,boost)
926 ("icu4c" ,icu4c)
927 ("zlib" ,zlib)))
928 (native-inputs
929 `(("cppunit" ,cppunit)
930 ("pkg-config" ,pkg-config)))
931 (propagated-inputs
932 `(("librevenge" ,librevenge))) ; mentioned in Requires field
933 (home-page "https://www.libreoffice.org")
934 (synopsis "Library and tools for the QuarkXPress file format")
935 (description "libqxp is a library and a set of tools for reading and
936converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
937 (license mpl2.0)))
938
16c62e1f
AE
939(define-public libreoffice
940 (package
941 (name "libreoffice")
02e2133b 942 (version "6.1.3.2")
16c62e1f
AE
943 (source
944 (origin
52b0a352
JB
945 (method url-fetch)
946 (uri
16c62e1f 947 (string-append
52b0a352
JB
948 "https://download.documentfoundation.org/libreoffice/src/"
949 (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
950 (sha256
951 (base32
02e2133b 952 "0i4gf3qi16fg7dxq2l4vhkwh4f5lx7xd1ilpzcw26vccqkv3hvyl"))
b01e8959
MB
953 (patches
954 (append (list (origin
955 ;; Support newer versions of Orcus and MDDS. These patches
956 ;; are taken from upstream, but we use the patches from Arch
957 ;; because they are adapted for the release tarball.
958 ;; Note: remove the related substitutions below when these
959 ;; are no longer needed.
960 (method url-fetch)
961 (uri (string-append "https://git.archlinux.org/svntogit"
962 "/packages.git/plain/trunk/"
963 "0001-Update-orcus-to-0.14.0.patch?&id="
964 "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
965 (file-name "libreoffice-orcus.patch")
966 (sha256
967 (base32
968 "0v1knblrmfzkb4g9pm5mdnrmjib59bznvca1ygbwlap2ln1h4mk0")))
969 (origin
970 (method url-fetch)
971 (uri (string-append "https://git.archlinux.org/svntogit"
972 "/packages.git/plain/trunk/"
973 "0001-Update-mdds-to-1.4.1.patch?&id="
974 "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
975 (file-name "libreoffice-mdds.patch")
976 (sha256
977 (base32
978 "0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f"))))
979 (search-patches "libreoffice-icu.patch"
980 "libreoffice-glm.patch")))))
994bccd9 981 (build-system glib-or-gtk-build-system)
16c62e1f 982 (native-inputs
b4c9a317
MB
983 `(("bison" ,bison)
984 ("cppunit" ,cppunit-1.14)
16c62e1f
AE
985 ("flex" ,flex)
986 ("pkg-config" ,pkg-config)
5bf83422 987 ("python" ,python-wrapper)
16c62e1f
AE
988 ("which" ,which)))
989 (inputs
990 `(("bluez" ,bluez)
991 ("boost" ,boost)
992 ("clucene" ,clucene)
993 ("cups" ,cups)
994 ("dbus-glib" ,dbus-glib)
995 ("fontconfig" ,fontconfig)
996 ("gconf" ,gconf)
997 ("glew" ,glew)
998 ("glm" ,glm)
999 ("gperf" ,gperf)
b4c9a317 1000 ("gpgme" ,gpgme)
16c62e1f
AE
1001 ("graphite2" ,graphite2)
1002 ("gst-plugins-base" ,gst-plugins-base)
074ff555 1003 ("gtk+" ,gtk+)
16c62e1f
AE
1004 ("harfbuzz" ,harfbuzz)
1005 ("hunspell" ,hunspell)
1006 ("hyphen" ,hyphen)
1007 ("libabw" ,libabw)
1008 ("libcdr" ,libcdr)
1009 ("libcmis" ,libcmis)
b4c9a317 1010 ("libjpeg-turbo" ,libjpeg-turbo)
16c62e1f 1011 ("libe-book" ,libe-book)
54179e24 1012 ("libepubgen" ,libepubgen)
16c62e1f
AE
1013 ("libetonyek" ,libetonyek)
1014 ("libexttextcat" ,libexttextcat)
1015 ("libfreehand" ,libfreehand)
17e56dac 1016 ("liblangtag" ,liblangtag)
b4c9a317
MB
1017 ;; XXX: Perhaps this should be propagated from xmlsec.
1018 ("libltdl" ,libltdl)
16c62e1f
AE
1019 ("libmspub" ,libmspub)
1020 ("libmwaw" ,libmwaw)
52b0a352 1021 ("libnumbertext" ,libnumbertext)
16c62e1f
AE
1022 ("libodfgen" ,libodfgen)
1023 ("libpagemaker" ,libpagemaker)
54179e24 1024 ("libqxp" ,libqxp)
b1a8fd2d 1025 ("libstaroffice" ,libstaroffice)
16c62e1f
AE
1026 ("libvisio" ,libvisio)
1027 ("libwpg" ,libwpg)
1028 ("libwps" ,libwps)
1029 ("libxrandr" ,libxrandr)
1030 ("libxrender" ,libxrender)
1031 ("libxslt" ,libxslt)
1032 ("libxt" ,libxt)
b1a8fd2d 1033 ("libzmf" ,libzmf)
16c62e1f
AE
1034 ("lpsolve" ,lpsolve)
1035 ("mdds" ,mdds)
1036 ("mythes" ,mythes)
1037 ("neon" ,neon)
1038 ("nspr" ,nspr)
1039 ("nss" ,nss)
1040 ("openldap" ,openldap)
1041 ("openssl" ,openssl)
1042 ("orcus" ,orcus)
1043 ("perl" ,perl)
b6f024ad 1044 ("perl-archive-zip" ,perl-archive-zip)
16c62e1f
AE
1045 ("poppler" ,poppler)
1046 ("postgresql" ,postgresql)
1047 ("python" ,python)
52b0a352 1048 ("python-lxml" ,python-lxml)
16c62e1f 1049 ("redland" ,redland)
4c928743 1050 ("sane-backends" ,sane-backends)
16c62e1f
AE
1051 ("unixodbc" ,unixodbc)
1052 ("unzip" ,unzip)
1053 ("vigra" ,vigra)
b4c9a317 1054 ("xmlsec" ,xmlsec-nss)
16c62e1f
AE
1055 ("zip" ,zip)))
1056 (arguments
ebc81631 1057 `(#:tests? #f ; Building the tests already fails.
16c62e1f
AE
1058 #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
1059 #:phases
1060 (modify-phases %standard-phases
1061 (add-before 'configure 'prepare-src
1062 (lambda* (#:key inputs #:allow-other-keys)
54179e24 1063 (substitute*
16c62e1f
AE
1064 (list "sysui/CustomTarget_share.mk"
1065 "solenv/gbuild/gbuild.mk"
b1a8fd2d 1066 "solenv/gbuild/platform/unxgcc.mk")
54179e24
RW
1067 (("/bin/sh") (which "sh")))
1068
b01e8959
MB
1069 ;; XXX: Adjust the checks for MDDS and liborcus to avoid having
1070 ;; to re-bootstrap the whole thing. Remove this with the related
1071 ;; patches above.
1072 (substitute* "configure"
1073 (("mdds-1.2 >= 1.2.3") "mdds-1.4 >= 1.4.1")
1074 (("liborcus-0.13 >= 0.13.3") "liborcus-0.14 >= 0.14.0"))
1075
54179e24
RW
1076 ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
1077 ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to
1078 ;; find them on the include path without a prefix.
1079 (substitute* '("xmlsecurity/Library_xsec_xmlsec.mk"
1080 "comphelper/Library_comphelper.mk")
1081 (("\\$\\$\\(INCLUDE\\)")
1082 (string-append "$$(INCLUDE) -I"
1083 (assoc-ref inputs "gpgme")
1084 "/include/gpgme++")))
1085
1086 #t))
3bfa7af4 1087 (add-after 'install 'bin-and-desktop-install
cb72d343
AK
1088 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
1089 ;; script.
16c62e1f 1090 (lambda* (#:key outputs #:allow-other-keys)
3bfa7af4
AW
1091 (let ((out (assoc-ref outputs "out")))
1092 (define (symlink-output src dst)
1093 (mkdir-p (dirname (string-append out dst)))
1094 (symlink (string-append out src) (string-append out dst)))
1095 (define (install src dst)
1096 (let ((dst (string-append out dst)))
1097 (mkdir-p (dirname dst))
1098 (copy-file src dst)))
1099 (define (install-desktop-file app)
1100 (let ((src (string-append "/lib/libreoffice/share/xdg/"
1101 app ".desktop"))
1102 (dst (string-append "/share/applications/libreoffice-"
1103 app ".desktop")))
1104 (substitute* (string-append out src)
1105 (("Exec=libreoffice[0-9]+\\.[0-9]+ ")
1106 (string-append "Exec=" out "/bin/libreoffice "))
17e56dac
TD
1107 (("Icon=libreoffice.*")
1108 (string-append "Icon=" app "\n"))
3bfa7af4
AW
1109 (("LibreOffice [0-9]+\\.[0-9]+")
1110 "LibreOffice"))
17e56dac
TD
1111 (symlink-output src dst)))
1112 (define (install-appdata app)
1113 (install-file (string-append
3bfa7af4
AW
1114 "sysui/desktop/appstream-appdata/"
1115 "libreoffice-" app ".appdata.xml")
17e56dac 1116 (string-append out "/share/appdata")))
3bfa7af4
AW
1117 (symlink-output "/lib/libreoffice/program/soffice"
1118 "/bin/soffice")
1119 (symlink-output "/lib/libreoffice/program/soffice"
1120 "/bin/libreoffice")
1121 (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.keys"
1122 "/share/mime-info/libreoffice.keys")
1123 (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime"
1124 "/share/mime-info/libreoffice.mime")
1125 (install
1126 "workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
1127 "/share/mime/packages/libreoffice.xml")
1128 (for-each install-desktop-file
17e56dac
TD
1129 '("base" "calc" "draw" "impress" "writer"
1130 "math" "startcenter"))
1131 (for-each install-appdata
3bfa7af4 1132 '("base" "calc" "draw" "impress" "writer"))
17e56dac 1133 (mkdir-p (string-append out "/share/icons/hicolor"))
3bfa7af4 1134 (copy-recursively "sysui/desktop/icons/hicolor"
17e56dac 1135 (string-append out "/share/icons/hicolor")))
16c62e1f
AE
1136 #t)))
1137 #:configure-flags
1138 (list
1139 "--enable-release-build"
1140 "--enable-verbose"
cddc044c
EB
1141 ;; Avoid using all cpu cores by default
1142 (format #f "--with-parallelism=~d" (parallel-job-count))
16c62e1f
AE
1143 "--disable-fetch-external" ; disable downloads
1144 "--with-system-libs" ; enable all --with-system-* flags
1145 (string-append "--with-boost-libdir="
1146 (assoc-ref %build-inputs "boost") "/lib")
c91d3fb7
EB
1147 ;; Avoid undefined symbols required by boost::spirit
1148 "LDFLAGS=-lboost_system"
16c62e1f
AE
1149 ;; Avoid a dependency on ucpp.
1150 "--with-idlc-cpp=cpp"
1151 ;; The fonts require an external tarball (crosextrafonts).
1152 ;; They should not be needed when system fonts are available.
1153 "--without-fonts"
1154 ;; With java, the build fails since sac.jar is missing.
1155 "--without-java"
1156 ;; FIXME: Enable once the corresponding inputs are packaged.
1157 "--without-system-npapi-headers"
1158 "--disable-coinmp"
1159 "--disable-firebird-sdbc" ; embedded firebird
1160 "--disable-gltf"
b4c9a317
MB
1161 ;; XXX: PDFium support requires fetching an external tarball and
1162 ;; patching the build scripts to work with GCC5. Try enabling this
1163 ;; when our default compiler is >=GCC 6.
1164 "--disable-pdfium"
42ca84be 1165 "--disable-gtk" ; disable use of GTK+ 2
074ff555 1166 "--without-doxygen")))
16c62e1f
AE
1167 (home-page "https://www.libreoffice.org/")
1168 (synopsis "Office suite")
1169 (description "LibreOffice is a comprehensive office suite. It contains
1170a number of components: Writer, a word processor; Calc, a spreadsheet
1171application; Impress, a presentation engine; Draw, a drawing and
1172flowcharting application; Base, a database and database frontend;
1173Math for editing mathematics.")
1174 (license mpl2.0)))