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