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