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