Commit | Line | Data |
---|---|---|
7b4570b4 | 1 | ;;; GNU Guix --- Functional package management for GNU |
7b4570b4 | 2 | ;;; Copyright © 2014 John Darrington <jmd@gnu.org> |
00eb9fa3 EF |
3 | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> |
4 | ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> | |
7a203059 | 5 | ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> |
741916f1 | 6 | ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> |
a40af5d0 | 7 | ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> |
3bfa7af4 | 8 | ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> |
189be331 | 9 | ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> |
b4c9a317 | 10 | ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> |
074ff555 | 11 | ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> |
7b4570b4 AE |
12 | ;;; |
13 | ;;; This file is part of GNU Guix. | |
14 | ;;; | |
15 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
16 | ;;; under the terms of the GNU General Public License as published by | |
17 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
18 | ;;; your option) any later version. | |
19 | ;;; | |
20 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
21 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 | ;;; GNU General Public License for more details. | |
24 | ;;; | |
25 | ;;; You should have received a copy of the GNU General Public License | |
26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
27 | ||
28 | (define-module (gnu packages libreoffice) | |
16c62e1f | 29 | #:use-module (guix build-system gnu) |
4db733e7 | 30 | #:use-module (guix build-system trivial) |
7b4570b4 | 31 | #:use-module (guix download) |
2a9a9441 | 32 | #:use-module ((guix licenses) |
00eb9fa3 | 33 | #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0 |
16c62e1f AE |
34 | non-copyleft x11-style)) |
35 | #:use-module (guix packages) | |
36 | #:use-module (guix utils) | |
4db733e7 | 37 | #:use-module (ice-9 match) |
c91d3fb7 | 38 | #:use-module (gnu packages) |
16c62e1f AE |
39 | #:use-module (gnu packages autotools) |
40 | #:use-module (gnu packages base) | |
41 | #:use-module (gnu packages bison) | |
7b4570b4 | 42 | #:use-module (gnu packages boost) |
10ca4a1d | 43 | #:use-module (gnu packages check) |
cfaf863f | 44 | #:use-module (gnu packages compression) |
16c62e1f | 45 | #:use-module (gnu packages cups) |
3736a110 AE |
46 | #:use-module (gnu packages curl) |
47 | #:use-module (gnu packages cyrus-sasl) | |
16c62e1f | 48 | #:use-module (gnu packages databases) |
99828fa7 | 49 | #:use-module (gnu packages documentation) |
16c62e1f AE |
50 | #:use-module (gnu packages flex) |
51 | #:use-module (gnu packages fontutils) | |
9fe8a4ba | 52 | #:use-module (gnu packages ghostscript) |
16c62e1f AE |
53 | #:use-module (gnu packages gl) |
54 | #:use-module (gnu packages glib) | |
55 | #:use-module (gnu packages gnome) | |
b4e5d8e7 | 56 | #:use-module (gnu packages gperf) |
b4c9a317 | 57 | #:use-module (gnu packages gnupg) |
16c62e1f AE |
58 | #:use-module (gnu packages gnuzilla) |
59 | #:use-module (gnu packages gstreamer) | |
60 | #:use-module (gnu packages gtk) | |
b4e5d8e7 | 61 | #:use-module (gnu packages icu4c) |
16c62e1f AE |
62 | #:use-module (gnu packages image) |
63 | #:use-module (gnu packages java) | |
64 | #:use-module (gnu packages linux) | |
65 | #:use-module (gnu packages maths) | |
66 | #:use-module (gnu packages openldap) | |
16c62e1f | 67 | #:use-module (gnu packages pdf) |
2534fc04 | 68 | #:use-module (gnu packages perl) |
7b4570b4 | 69 | #:use-module (gnu packages pkg-config) |
b4e5d8e7 | 70 | #:use-module (gnu packages python) |
16c62e1f AE |
71 | #:use-module (gnu packages rdf) |
72 | #:use-module (gnu packages scanner) | |
cc2b77df | 73 | #:use-module (gnu packages tls) |
16c62e1f AE |
74 | #:use-module (gnu packages version-control) |
75 | #:use-module (gnu packages xml) | |
148585c2 | 76 | #:use-module (gnu packages xorg)) |
7b4570b4 AE |
77 | |
78 | (define-public ixion | |
79 | (package | |
80 | (name "ixion") | |
cb386439 | 81 | (version "0.12.2") |
7b4570b4 AE |
82 | (source |
83 | (origin | |
84 | (method url-fetch) | |
85 | (uri (string-append "http://kohei.us/files/ixion/src/libixion-" | |
86 | version ".tar.xz")) | |
87 | (sha256 (base32 | |
cb386439 | 88 | "1bnsqbxpbijwbg42rrqq6mz06wvcxjpl0gjdzwyilkmv6s400i4b")))) |
7b4570b4 AE |
89 | (build-system gnu-build-system) |
90 | (native-inputs | |
91 | `(("pkg-config" ,pkg-config))) | |
92 | (inputs | |
93 | `(("mdds" ,mdds) | |
cb386439 | 94 | ("python" ,python))) |
7b4570b4 AE |
95 | (home-page "https://gitlab.com/ixion/ixion") |
96 | (synopsis "General purpose formula parser and interpreter") | |
97 | (description "Ixion is a library for calculating the results of formula | |
98 | expressions stored in multiple named targets, or \"cells\". The cells can | |
99 | be referenced from each other, and the library takes care of resolving | |
100 | their dependencies automatically upon calculation.") | |
101 | (license mpl2.0))) | |
cfaf863f AE |
102 | |
103 | (define-public orcus | |
104 | (package | |
105 | (name "orcus") | |
90ac806d | 106 | (version "0.12.1") |
cfaf863f AE |
107 | (source |
108 | (origin | |
109 | (method url-fetch) | |
110 | (uri (string-append "http://kohei.us/files/" name "/src/lib" | |
111 | name "-" version ".tar.xz")) | |
112 | (sha256 (base32 | |
90ac806d | 113 | "171bmqa9hkk4xygz20qda5900rs4kq9fgl424ldkxlj4d733dffi")))) |
cfaf863f AE |
114 | (build-system gnu-build-system) |
115 | (native-inputs | |
116 | `(("pkg-config" ,pkg-config))) | |
117 | (inputs | |
118 | `(("ixion" ,ixion) | |
119 | ("mdds" ,mdds) | |
90ac806d | 120 | ("python" ,python) |
cfaf863f AE |
121 | ("zlib" ,zlib))) |
122 | (home-page "https://gitlab.com/orcus/orcus") | |
123 | (synopsis "File import filter library for spreadsheet documents") | |
124 | (description "Orcus is a library that provides a collection of standalone | |
125 | file processing filters. It is currently focused on providing filters for | |
126 | spreadsheet documents. The library includes import filters for | |
127 | Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet, | |
128 | Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for | |
129 | CSV, CSS and XML.") | |
130 | (license mpl2.0))) | |
10ca4a1d AE |
131 | |
132 | (define-public librevenge | |
133 | (package | |
134 | (name "librevenge") | |
1c7c2506 | 135 | (version "0.0.4") |
10ca4a1d AE |
136 | (source |
137 | (origin | |
138 | (method url-fetch) | |
139 | (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-" | |
de67e922 | 140 | version "/" name "-" version ".tar.xz")) |
10ca4a1d | 141 | (sha256 (base32 |
1c7c2506 | 142 | "1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk")))) |
10ca4a1d AE |
143 | (build-system gnu-build-system) |
144 | (native-inputs | |
c91d3fb7 | 145 | `(("cppunit" ,cppunit) |
10ca4a1d AE |
146 | ("doxygen" ,doxygen) |
147 | ("pkg-config" ,pkg-config))) | |
148 | (inputs | |
149 | `(("zlib" ,zlib))) | |
c91d3fb7 EB |
150 | (propagated-inputs ; Referenced by .la files |
151 | `(("boost" ,boost))) | |
10ca4a1d AE |
152 | (arguments |
153 | ;; avoid triggering configure errors by simple inclusion of boost headers | |
c91d3fb7 EB |
154 | `(#:configure-flags '("--disable-werror" |
155 | ;; Avoid undefined library references | |
156 | "LDFLAGS=-lboost_system"))) | |
3b3b60d0 | 157 | (home-page "https://sourceforge.net/p/libwpd/wiki/librevenge/") |
10ca4a1d AE |
158 | (synopsis "Document importer for office suites") |
159 | (description "Librevenge is a base library for writing document import | |
160 | filters. It has interfaces for text documents, vector graphics, | |
161 | spreadsheets and presentations.") | |
68267c63 | 162 | (license (list mpl2.0 lgpl2.1+)))) ;dual licensed |
fc15db2f AE |
163 | |
164 | (define-public libwpd | |
165 | (package | |
166 | (name "libwpd") | |
3f6c5b83 | 167 | (version "0.10.2") |
fc15db2f AE |
168 | (source |
169 | (origin | |
170 | (method url-fetch) | |
de67e922 LF |
171 | (uri (string-append "mirror://sourceforge/" name "/" name "/" |
172 | name "-" version "/" name "-" version ".tar.xz")) | |
fc15db2f | 173 | (sha256 (base32 |
3f6c5b83 | 174 | "0436gnidx45a9vx114hhh216jrh57mqb9zyssyjfadagmyz6hgrj")))) |
fc15db2f AE |
175 | (build-system gnu-build-system) |
176 | (native-inputs | |
177 | `(("doxygen" ,doxygen) | |
178 | ("pkg-config" ,pkg-config))) | |
b7e71faa AE |
179 | (propagated-inputs |
180 | `(("librevenge" ,librevenge))) ; in Requires field of .pkg | |
fc15db2f | 181 | (inputs |
b7e71faa | 182 | `(("zlib" ,zlib))) |
fc15db2f AE |
183 | (home-page "http://libwpd.sourceforge.net/") |
184 | (synopsis "Library for importing WordPerfect documents") | |
185 | (description "Libwpd is a C++ library designed to help process | |
186 | WordPerfect documents. It is most commonly used to import such documents | |
187 | into other word processors.") | |
68267c63 | 188 | (license (list mpl2.0 lgpl2.1+)))) ;dual licensed |
b4e5d8e7 | 189 | |
b4e5d8e7 AE |
190 | (define-public libe-book |
191 | (package | |
192 | (name "libe-book") | |
fe296817 | 193 | (version "0.1.3") |
b4e5d8e7 AE |
194 | (source |
195 | (origin | |
196 | (method url-fetch) | |
197 | (uri (string-append "mirror://sourceforge/libebook/libe-book-" | |
198 | version "/libe-book-" version ".tar.xz")) | |
199 | (sha256 | |
200 | (base32 | |
fe296817 | 201 | "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by")))) |
b4e5d8e7 AE |
202 | (build-system gnu-build-system) |
203 | (native-inputs | |
204 | `(("cppunit" ,cppunit) | |
205 | ("gperf" ,gperf) | |
206 | ("pkg-config" ,pkg-config))) | |
933c390c AE |
207 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
208 | `(("icu4c" ,icu4c) | |
fe296817 | 209 | ("liblangtag" ,liblangtag) |
933c390c AE |
210 | ("librevenge" ,librevenge) |
211 | ("libxml2" ,libxml2))) | |
212 | (inputs | |
213 | `(("boost" ,boost))) | |
b4e5d8e7 AE |
214 | (arguments |
215 | ;; avoid triggering configure errors by simple inclusion of boost headers | |
216 | `(#:configure-flags '("--disable-werror"))) | |
217 | (home-page "http://libebook.sourceforge.net") | |
218 | (synopsis "Library for import of reflowable e-book formats") | |
219 | (description "Libe-book is a library and a set of tools for reading and | |
220 | converting various reflowable e-book formats. Currently supported are: | |
221 | Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files), | |
222 | PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled | |
223 | cellphones), TCR (simple compressed text format), TealDoc, zTXT, | |
224 | ZVR (simple compressed text format).") | |
225 | (license mpl2.0))) | |
2534fc04 AE |
226 | |
227 | (define-public libwpg | |
228 | (package | |
229 | (name "libwpg") | |
feef3b2a | 230 | (version "0.3.2") |
2534fc04 AE |
231 | (source |
232 | (origin | |
233 | (method url-fetch) | |
de67e922 LF |
234 | (uri (string-append "mirror://sourceforge/" name "/" name "/" |
235 | name "-" version "/" name "-" version ".tar.xz")) | |
2534fc04 | 236 | (sha256 (base32 |
feef3b2a | 237 | "0cwc5zkp210c661l0bvk6q21jg9ak5g8gmy578w5fgfnjymz3yjp")))) |
2534fc04 AE |
238 | (build-system gnu-build-system) |
239 | (native-inputs | |
240 | `(("doxygen" ,doxygen) | |
241 | ("pkg-config" ,pkg-config))) | |
239c853c AE |
242 | (propagated-inputs |
243 | `(("libwpd" ,libwpd))) ; in Requires field of .pkg | |
2534fc04 | 244 | (inputs |
239c853c | 245 | `(("perl" ,perl) |
2534fc04 AE |
246 | ("zlib" ,zlib))) |
247 | (home-page "http://libwpg.sourceforge.net/") | |
248 | (synopsis "Library and tools for the WordPerfect Graphics format") | |
249 | (description "The libwpg project provides a library and tools for | |
250 | working with graphics in the WPG (WordPerfect Graphics) format.") | |
68267c63 | 251 | (license (list mpl2.0 lgpl2.1+)))) ;dual licensed |
4cd369ed | 252 | |
3736a110 AE |
253 | (define-public libcmis |
254 | (package | |
255 | (name "libcmis") | |
7fc72c77 | 256 | (version "0.5.1") |
3736a110 AE |
257 | (source |
258 | (origin | |
259 | (method url-fetch) | |
7fc72c77 LF |
260 | (uri (string-append "https://github.com/tdf/libcmis/releases/download/v" |
261 | version "/libcmis-" version ".tar.gz")) | |
262 | (sha256 | |
263 | (base32 | |
264 | "03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva")))) | |
3736a110 AE |
265 | (build-system gnu-build-system) |
266 | (native-inputs | |
267 | `(("cppunit" ,cppunit) | |
268 | ("pkg-config" ,pkg-config))) | |
f678913c AE |
269 | (propagated-inputs ; in Requires field of .pkg |
270 | `(("curl" ,curl) | |
271 | ("libxml2" ,libxml2))) | |
3736a110 AE |
272 | (inputs |
273 | `(("boost" ,boost) | |
3736a110 | 274 | ("cyrus-sasl" ,cyrus-sasl) |
3736a110 AE |
275 | ("openssl" ,openssl))) |
276 | (arguments | |
277 | `(#:configure-flags | |
278 | (list | |
279 | ;; FIXME: Man pages generation requires docbook-to-man; reenable | |
280 | ;; it once this is available. | |
281 | "--without-man" | |
282 | ;; avoid triggering configure errors by simple inclusion of | |
283 | ;; boost headers | |
284 | "--disable-werror" | |
285 | ;; During configure, the boost headers are found, but linking | |
286 | ;; fails without the following flag. | |
287 | (string-append "--with-boost=" | |
288 | (assoc-ref %build-inputs "boost"))))) | |
7fc72c77 | 289 | (home-page "https://github.com/tdf/libcmis") |
3736a110 AE |
290 | (synopsis "CMIS client library") |
291 | (description "LibCMIS is a C++ client library for the CMIS interface. It | |
292 | allows C++ applications to connect to any ECM behaving as a CMIS server such | |
293 | as Alfresco or Nuxeo.") | |
294 | (license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license | |
295 | ||
4cd369ed AE |
296 | (define-public libabw |
297 | (package | |
298 | (name "libabw") | |
814bc35d | 299 | (version "0.1.2") |
4cd369ed AE |
300 | (source |
301 | (origin | |
302 | (method url-fetch) | |
814bc35d | 303 | (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" |
4cd369ed AE |
304 | name "-" version ".tar.xz")) |
305 | (sha256 (base32 | |
814bc35d | 306 | "11949iscdb99f2jplxjd39282jxcrf2fw0sqbh5dl7gqb96r8whb")))) |
4cd369ed AE |
307 | (build-system gnu-build-system) |
308 | (native-inputs | |
309 | `(("doxygen" ,doxygen) | |
310 | ("gperf" ,gperf) | |
311 | ("perl" ,perl) | |
312 | ("pkg-config" ,pkg-config))) | |
57080fea AE |
313 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
314 | `(("librevenge" ,librevenge) | |
4cd369ed | 315 | ("libxml2" ,libxml2))) |
57080fea AE |
316 | (inputs |
317 | `(("boost" ,boost))) | |
4cd369ed AE |
318 | (arguments |
319 | ;; avoid triggering configure errors by simple inclusion of boost headers | |
320 | `(#:configure-flags '("--disable-werror"))) | |
321 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw") | |
322 | (synopsis "Library for parsing the AbiWord format") | |
323 | (description "Libabw is a library that parses the file format of | |
324 | AbiWord documents.") | |
325 | (license mpl2.0))) | |
9fe8a4ba AE |
326 | |
327 | (define-public libcdr | |
328 | (package | |
329 | (name "libcdr") | |
d35db297 | 330 | (version "0.1.4") |
9fe8a4ba AE |
331 | (source |
332 | (origin | |
333 | (method url-fetch) | |
334 | (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" | |
335 | name "-" version ".tar.xz")) | |
336 | (sha256 (base32 | |
d35db297 | 337 | "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7")))) |
9fe8a4ba AE |
338 | (build-system gnu-build-system) |
339 | (native-inputs | |
d35db297 MB |
340 | `(("cppunit" ,cppunit) |
341 | ("doxygen" ,doxygen) | |
9fe8a4ba | 342 | ("pkg-config" ,pkg-config))) |
269194c3 AE |
343 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
344 | `(("icu4c" ,icu4c) | |
9fe8a4ba AE |
345 | ("lcms" ,lcms) |
346 | ("librevenge" ,librevenge) | |
347 | ("zlib" ,zlib))) | |
269194c3 AE |
348 | (inputs |
349 | `(("boost" ,boost))) | |
9fe8a4ba AE |
350 | (arguments |
351 | ;; avoid triggering a build failure due to warnings | |
352 | `(#:configure-flags '("--disable-werror"))) | |
353 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr") | |
354 | (synopsis "Library for parsing the CorelDRAW format") | |
355 | (description "Libcdr is a library that parses the file format of | |
356 | CorelDRAW documents of all versions.") | |
357 | (license mpl2.0))) | |
3dc67e38 AE |
358 | |
359 | (define-public libetonyek | |
360 | (package | |
361 | (name "libetonyek") | |
7a9283a6 | 362 | (version "0.1.7") |
3dc67e38 AE |
363 | (source |
364 | (origin | |
365 | (method url-fetch) | |
366 | (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" | |
367 | name "-" version ".tar.xz")) | |
368 | (sha256 (base32 | |
7a9283a6 | 369 | "1b1lqy6g7flximlv0bp8jbsivyhdp679yj0d0q4jzm968h6y3nv9")))) |
3dc67e38 | 370 | (build-system gnu-build-system) |
b85b56dd | 371 | (arguments |
7a9283a6 | 372 | `(#:configure-flags '("--with-mdds=1.2"))) |
3dc67e38 AE |
373 | (native-inputs |
374 | `(("cppunit" ,cppunit) | |
375 | ("doxygen" ,doxygen) | |
c80259b3 | 376 | ("glm" ,glm) |
3dc67e38 | 377 | ("gperf" ,gperf) |
b85b56dd | 378 | ("liblangtag" ,liblangtag) |
c80259b3 | 379 | ("mdds" ,mdds) |
7a9283a6 | 380 | ("pkg-config" ,pkg-config))) |
480fe002 AE |
381 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
382 | `(("librevenge" ,librevenge) | |
3dc67e38 | 383 | ("libxml2" ,libxml2))) |
480fe002 AE |
384 | (inputs |
385 | `(("boost" ,boost))) | |
3dc67e38 AE |
386 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek") |
387 | (synopsis "Library for parsing the Apple Keynote format") | |
388 | (description "Libetonyek is a library that parses the file format of | |
389 | Apple Keynote documents. It currently supports Keynote versions 2 to 5.") | |
390 | (license mpl2.0))) | |
97aee2b6 | 391 | |
00eb9fa3 EF |
392 | (define-public liblangtag |
393 | (package | |
394 | (name "liblangtag") | |
603231c1 | 395 | (version "0.6.2") |
00eb9fa3 EF |
396 | (source |
397 | (origin | |
398 | (method url-fetch) | |
399 | (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/" | |
400 | name "-" version ".tar.bz2")) | |
401 | (sha256 | |
402 | (base32 | |
603231c1 | 403 | "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n")))) |
00eb9fa3 EF |
404 | (build-system gnu-build-system) |
405 | (native-inputs | |
406 | `(("libtool" ,libtool) | |
407 | ("pkg-config" ,pkg-config))) | |
408 | (inputs | |
409 | `(("libxml2" ,libxml2))) | |
69d973cc TGR |
410 | ;; As of December 2017, tagoh.bitbucket.org redirects to a hosting advert. |
411 | (home-page "https://bitbucket.org/tagoh/liblangtag") | |
00eb9fa3 EF |
412 | (synopsis "Library to access tags for identifying languages") |
413 | (description "Liblangtag implements an interface to work with tags | |
414 | for identifying languages as described in RFC 5646. It supports the | |
415 | extensions described in RFC6067 and RFC6497, and Extension T for | |
416 | language/locale identifiers as described in the Unicode CLDR | |
417 | standard 21.0.2.") | |
418 | (license (list lgpl3+ mpl2.0)))) ; dual license | |
419 | ||
97aee2b6 AE |
420 | (define-public libexttextcat |
421 | (package | |
422 | (name "libexttextcat") | |
ae443ec1 | 423 | (version "3.4.5") |
97aee2b6 AE |
424 | (source |
425 | (origin | |
426 | (method url-fetch) | |
427 | (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" | |
428 | name "-" version ".tar.xz")) | |
429 | (sha256 (base32 | |
ae443ec1 | 430 | "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k")))) |
97aee2b6 | 431 | (build-system gnu-build-system) |
57e7d748 | 432 | (home-page "https://www.freedesktop.org/wiki/Software/libexttextcat/") |
97aee2b6 AE |
433 | (synopsis "Text Categorization library") |
434 | (description "Libexttextcat is an N-Gram-Based Text Categorization | |
435 | library primarily intended for language guessing.") | |
436 | (license (non-copyleft "file://LICENSE" | |
437 | "See LICENSE in the distribution.")))) | |
ef1c4148 AE |
438 | |
439 | (define-public libfreehand | |
440 | (package | |
441 | (name "libfreehand") | |
e9d8b887 | 442 | (version "0.1.2") |
ef1c4148 AE |
443 | (source |
444 | (origin | |
445 | (method url-fetch) | |
446 | (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" | |
447 | name "-" version ".tar.xz")) | |
448 | (sha256 (base32 | |
e9d8b887 | 449 | "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf")))) |
ef1c4148 AE |
450 | (build-system gnu-build-system) |
451 | (native-inputs | |
e9d8b887 MB |
452 | `(("cppunit" ,cppunit) |
453 | ("doxygen" ,doxygen) | |
ef1c4148 AE |
454 | ("gperf" ,gperf) |
455 | ("perl" ,perl) | |
456 | ("pkg-config" ,pkg-config))) | |
e9d8b887 MB |
457 | (inputs |
458 | `(("icu4c" ,icu4c) | |
459 | ("lcms" ,lcms))) | |
c5b5800b | 460 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
ef1c4148 AE |
461 | `(("librevenge" ,librevenge) |
462 | ("zlib" ,zlib))) | |
463 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand") | |
464 | (synopsis "Library for parsing the FreeHand format") | |
465 | (description "Libfreehand is a library that parses the file format of | |
466 | Aldus/Macromedia/Adobe FreeHand documents.") | |
467 | (license mpl2.0))) | |
86e278fc AE |
468 | |
469 | (define-public libmspub | |
470 | (package | |
471 | (name "libmspub") | |
9ed31fca | 472 | (version "0.1.4") |
86e278fc AE |
473 | (source |
474 | (origin | |
475 | (method url-fetch) | |
9ed31fca | 476 | (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" |
86e278fc AE |
477 | name "-" version ".tar.xz")) |
478 | (sha256 (base32 | |
9ed31fca | 479 | "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg")))) |
86e278fc AE |
480 | (build-system gnu-build-system) |
481 | (native-inputs | |
482 | `(("doxygen" ,doxygen) | |
483 | ("pkg-config" ,pkg-config))) | |
e39cc723 AE |
484 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
485 | `(("icu4c" ,icu4c) | |
86e278fc AE |
486 | ("librevenge" ,librevenge) |
487 | ("zlib" ,zlib))) | |
e39cc723 AE |
488 | (inputs |
489 | `(("boost" ,boost))) | |
86e278fc AE |
490 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub") |
491 | (synopsis "Library for parsing the Microsoft Publisher format") | |
492 | (description "Libmspub is a library that parses the file format of | |
493 | Microsoft Publisher documents of all versions.") | |
494 | (license mpl2.0))) | |
f5d4a138 AE |
495 | |
496 | (define-public libpagemaker | |
497 | (package | |
498 | (name "libpagemaker") | |
c7cc1fcb | 499 | (version "0.0.4") |
f5d4a138 AE |
500 | (source |
501 | (origin | |
502 | (method url-fetch) | |
c7cc1fcb | 503 | (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" |
f5d4a138 AE |
504 | name "-" version ".tar.xz")) |
505 | (sha256 (base32 | |
c7cc1fcb | 506 | "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6")))) |
f5d4a138 AE |
507 | (build-system gnu-build-system) |
508 | (native-inputs | |
509 | `(("doxygen" ,doxygen) | |
510 | ("pkg-config" ,pkg-config))) | |
493b6e28 | 511 | (propagated-inputs ; in Requires field of .pkg |
86d648ea | 512 | `(("librevenge" ,librevenge))) |
f5d4a138 AE |
513 | (inputs |
514 | `(("boost" ,boost) | |
f5d4a138 | 515 | ("zlib" ,zlib))) |
f5d4a138 AE |
516 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker") |
517 | (synopsis "Library for parsing the PageMaker format") | |
518 | (description "Libpagemaker is a library that parses the file format of | |
519 | Aldus/Adobe PageMaker documents. Currently it only understands documents | |
520 | created by PageMaker version 6.x and 7.") | |
521 | (license mpl2.0))) | |
56203284 AE |
522 | |
523 | (define-public libvisio | |
524 | (package | |
525 | (name "libvisio") | |
45d5c802 | 526 | (version "0.1.6") |
56203284 AE |
527 | (source |
528 | (origin | |
529 | (method url-fetch) | |
530 | (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" | |
531 | name "-" version ".tar.xz")) | |
532 | (sha256 (base32 | |
45d5c802 | 533 | "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y")))) |
56203284 AE |
534 | (build-system gnu-build-system) |
535 | (native-inputs | |
536 | `(("cppunit" ,cppunit) | |
537 | ("doxygen" ,doxygen) | |
538 | ("gperf" ,gperf) | |
539 | ("perl" ,perl) | |
540 | ("pkg-config" ,pkg-config))) | |
a3be6b8b AE |
541 | (propagated-inputs ; in Requires or Requires.private field of .pkg |
542 | `(("icu4c" ,icu4c) | |
56203284 AE |
543 | ("librevenge" ,librevenge) |
544 | ("libxml2" ,libxml2))) | |
a3be6b8b AE |
545 | (inputs |
546 | `(("boost" ,boost))) | |
56203284 AE |
547 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio") |
548 | (synopsis "Library for parsing the Microsoft Visio format") | |
549 | (description "Libvisio is a library that parses the file format of | |
550 | Microsoft Visio documents of all versions.") | |
551 | (license mpl2.0))) | |
74a63b11 AE |
552 | |
553 | (define-public libodfgen | |
554 | (package | |
555 | (name "libodfgen") | |
cab4188f | 556 | (version "0.1.6") |
74a63b11 AE |
557 | (source |
558 | (origin | |
559 | (method url-fetch) | |
560 | (uri (string-append "http://dev-www.libreoffice.org/src/" | |
561 | name "-" version ".tar.bz2")) | |
562 | (sha256 (base32 | |
cab4188f | 563 | "1hn91bm6dni7n3frh7lpbj3mjqmdrpn12ipq8rswd9445y4j2yrc")))) |
74a63b11 AE |
564 | (build-system gnu-build-system) |
565 | (native-inputs | |
566 | `(("doxygen" ,doxygen) | |
567 | ("pkg-config" ,pkg-config))) | |
3b5199b3 AE |
568 | (propagated-inputs ; in Requires field of .pkg |
569 | `(("librevenge" ,librevenge))) | |
74a63b11 AE |
570 | (inputs |
571 | `(("boost" ,boost) | |
74a63b11 AE |
572 | ("zlib" ,zlib))) |
573 | (arguments | |
574 | ;; avoid triggering configure errors by simple inclusion of boost headers | |
575 | `(#:configure-flags '("--disable-werror"))) | |
3b3b60d0 | 576 | (home-page "https://sourceforge.net/p/libwpd/wiki/libodfgen/") |
74a63b11 AE |
577 | (synopsis "ODF (Open Document Format) library") |
578 | (description "Libodfgen is a library for generating documents in the | |
579 | Open Document Format (ODF). It provides generator implementations for all | |
580 | document interfaces supported by librevenge: | |
581 | text documents, vector drawings, presentations and spreadsheets.") | |
582 | (license (list mpl2.0 lgpl2.1+)))) ; dual license | |
1d59b83b AE |
583 | |
584 | (define-public libmwaw | |
585 | (package | |
586 | (name "libmwaw") | |
c334058f | 587 | (version "0.3.12") |
1d59b83b AE |
588 | (source |
589 | (origin | |
590 | (method url-fetch) | |
de67e922 LF |
591 | (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" |
592 | version "/" name "-" version ".tar.xz")) | |
1d59b83b | 593 | (sha256 (base32 |
c334058f | 594 | "1ryi1v38lgy5kv84fzjqkawidrg30y4hlqrz1v262792wzkad4bn")))) |
1d59b83b AE |
595 | (build-system gnu-build-system) |
596 | (native-inputs | |
597 | `(("doxygen" ,doxygen) | |
598 | ("pkg-config" ,pkg-config))) | |
b819182d AE |
599 | (propagated-inputs ; in Requires field of .pkg |
600 | `(("librevenge" ,librevenge))) | |
1d59b83b AE |
601 | (inputs |
602 | `(("boost" ,boost) | |
1d59b83b | 603 | ("zlib" ,zlib))) |
3b3b60d0 | 604 | (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/") |
1d59b83b AE |
605 | (synopsis "Import library for some old Macintosh text documents") |
606 | (description "Libmwaw contains some import filters for old Macintosh | |
607 | text documents (MacWrite, ClarisWorks, ... ) and for some graphics and | |
608 | spreadsheet documents.") | |
22e52dbd TD |
609 | (license (list mpl2.0 lgpl2.1+)))) ; dual license |
610 | ||
611 | (define-public libstaroffice | |
612 | (package | |
613 | (name "libstaroffice") | |
ec030621 | 614 | (version "0.0.5") |
22e52dbd TD |
615 | (source |
616 | (origin | |
617 | (method url-fetch) | |
618 | (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/" | |
619 | version "/libstaroffice-" version ".tar.xz")) | |
620 | (sha256 (base32 | |
ec030621 | 621 | "10m9imcgqf7kdhn1a5ara62fdayidwm7qzj3binsls40snnhfm9i")))) |
22e52dbd TD |
622 | (build-system gnu-build-system) |
623 | (inputs | |
624 | `(("librevenge" ,librevenge) | |
625 | ("zlib" ,zlib))) | |
626 | (native-inputs | |
627 | `(("pkg-config" ,pkg-config))) | |
628 | (home-page "https://github.com/fosnola/libstaroffice") | |
629 | (synopsis "Provides LibreOffice support for old StarOffice documents") | |
630 | (description "@code{libstaroffice} is an import filter for the document formats | |
631 | from the old StarOffice (.sdc, .sdw, ...).") | |
1d59b83b | 632 | (license (list mpl2.0 lgpl2.1+)))) ; dual license |
82741a8a AE |
633 | |
634 | (define-public libwps | |
635 | (package | |
636 | (name "libwps") | |
37a68784 | 637 | (version "0.4.7") |
82741a8a AE |
638 | (source |
639 | (origin | |
640 | (method url-fetch) | |
641 | (uri (string-append "mirror://sourceforge/" name "/" name "/" | |
de67e922 | 642 | name "-" version "/" name "-" version ".tar.xz")) |
82741a8a | 643 | (sha256 (base32 |
37a68784 | 644 | "05xjb35y5ha9grgjqs3viaglq7ydsry1hzdvkm7y5b6f1disnb1g")))) |
82741a8a AE |
645 | (build-system gnu-build-system) |
646 | (native-inputs | |
647 | `(("doxygen" ,doxygen) | |
648 | ("pkg-config" ,pkg-config))) | |
baa941e6 AE |
649 | (propagated-inputs ; in Requires field of .pkg |
650 | `(("librevenge" ,librevenge))) | |
82741a8a AE |
651 | (inputs |
652 | `(("boost" ,boost) | |
82741a8a | 653 | ("zlib" ,zlib))) |
82741a8a AE |
654 | (home-page "http://libwps.sourceforge.net/") |
655 | (synopsis "Import library for Microsoft Works text documents") | |
656 | (description "Libwps is a library for importing files in the Microsoft | |
657 | Works word processor file format.") | |
658 | (license (list mpl2.0 lgpl2.1+)))) ; dual license | |
2a9a9441 | 659 | |
741916f1 TD |
660 | (define-public libzmf |
661 | (package | |
662 | (name "libzmf") | |
7cb3e9d3 | 663 | (version "0.0.2") |
741916f1 TD |
664 | (source |
665 | (origin | |
666 | (method url-fetch) | |
667 | (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-" | |
668 | version ".tar.xz")) | |
669 | (sha256 (base32 | |
7cb3e9d3 | 670 | "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197")))) |
741916f1 TD |
671 | (build-system gnu-build-system) |
672 | (inputs | |
673 | `(("boost" ,boost) | |
674 | ("icu4c" ,icu4c) | |
675 | ("libpng" ,libpng) | |
676 | ("librevenge" ,librevenge) | |
677 | ("zlib" ,zlib))) | |
678 | (native-inputs | |
679 | `(("cppunit" ,cppunit) | |
680 | ("doxygen" ,doxygen) | |
681 | ("pkg-config" ,pkg-config))) | |
682 | (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf") | |
683 | (synopsis "Parses file format of Zoner Callisto/Draw documents") | |
684 | (description "Libzmf is a library that parses the file format of Zoner | |
685 | Callisto/Draw documents. Currently it only understands documents created by | |
686 | Zoner Draw version 4 and 5.") | |
687 | (license mpl2.0))) | |
688 | ||
2a9a9441 AE |
689 | (define-public hunspell |
690 | (package | |
691 | (name "hunspell") | |
a40af5d0 | 692 | (version "1.6.1") |
2a9a9441 AE |
693 | (source |
694 | (origin | |
695 | (method url-fetch) | |
4dec10ba TGR |
696 | (uri (string-append "https://github.com/hunspell/hunspell/archive/v" |
697 | version ".tar.gz")) | |
2a9a9441 | 698 | (sha256 (base32 |
a40af5d0 | 699 | "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h")) |
4dec10ba | 700 | (file-name (string-append name "-" version ".tar.gz")))) |
2a9a9441 | 701 | (build-system gnu-build-system) |
a40af5d0 TGR |
702 | (native-inputs |
703 | `(("autoconf" ,autoconf) | |
704 | ("automake" ,automake) | |
705 | ("libtool" ,libtool))) | |
17c2294c TGR |
706 | (inputs |
707 | `(("perl" ,perl))) | |
31daf893 LC |
708 | (native-search-paths (list (search-path-specification |
709 | (variable "DICPATH") | |
710 | (files '("share/hunspell"))))) | |
fc3560ff | 711 | (home-page "https://hunspell.github.io/") |
2a9a9441 AE |
712 | (synopsis "Spell checker") |
713 | (description "Hunspell is a spell checker and morphological analyzer | |
714 | library and program designed for languages with rich morphology and complex | |
715 | word compounding or character encoding.") | |
17c2294c | 716 | ;; Triple license, including "mpl1.1 or later". |
2a9a9441 | 717 | (license (list mpl1.1 gpl2+ lgpl2.1+)))) |
1c625dd3 | 718 | |
4db733e7 LC |
719 | (define (dicollecte-french-dictionary variant synopsis) |
720 | ;; Return a French dictionary package from dicollecte.org, for the given | |
721 | ;; VARIANT. | |
722 | (package | |
723 | (name (match variant | |
724 | ("classique" "hunspell-dict-fr") | |
725 | (_ (string-append "hunspell-dict-fr-" variant)))) | |
726 | (version "6.1") | |
727 | (source (origin | |
728 | (uri (string-append | |
729 | "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v" | |
730 | version ".zip")) | |
731 | (method url-fetch) | |
732 | (sha256 | |
733 | (base32 | |
734 | "0w2hzh36wj3lsj2yd4mh7z7547dg452sywj79vnzx27csclwqshc")))) | |
735 | (build-system trivial-build-system) | |
736 | (native-inputs `(("unzip" ,unzip))) | |
737 | (arguments | |
738 | `(#:modules ((guix build utils)) | |
739 | #:builder (begin | |
740 | (use-modules (guix build utils) | |
741 | (srfi srfi-26)) | |
742 | ||
743 | (let* ((out (assoc-ref %outputs "out")) | |
744 | (hunspell (string-append out "/share/hunspell")) | |
745 | (myspell (string-append out "/share/myspell")) | |
746 | (doc (string-append out "/share/doc/" | |
747 | ,name)) | |
748 | (unzip (assoc-ref %build-inputs "unzip"))) | |
749 | (system* (string-append unzip "/bin/unzip") | |
750 | (assoc-ref %build-inputs "source")) | |
751 | (for-each (cut install-file <> hunspell) | |
752 | (find-files "." | |
753 | ,(string-append variant | |
754 | "\\.(dic|aff)$"))) | |
755 | (mkdir-p myspell) | |
756 | (symlink hunspell (string-append myspell "/dicts")) | |
757 | (for-each (cut install-file <> doc) | |
758 | (find-files "." "\\.(txt|org|md)$")) | |
759 | #t)))) | |
760 | (synopsis synopsis) | |
761 | (description | |
762 | "This package provides a dictionary for the Hunspell spell-checking | |
763 | library.") | |
764 | (home-page "https://www.dicollecte.org/home.php?prj=fr") | |
765 | (license mpl2.0))) | |
766 | ||
767 | (define-syntax define-french-dictionary | |
768 | (syntax-rules (synopsis) | |
769 | ((_ name variant (synopsis text)) | |
770 | (define-public name | |
771 | (dicollecte-french-dictionary variant text))))) | |
772 | ||
773 | (define-french-dictionary hunspell-dict-fr-classique | |
774 | "classique" | |
775 | ;; TRANSLATORS: In French, this is "Français classique". | |
776 | (synopsis "Hunspell dictionary for ``classic'' French (recommended)")) | |
777 | ||
778 | (define-french-dictionary hunspell-dict-fr-moderne | |
779 | "moderne" | |
780 | ;; TRANSLATORS: In French, this is "Français moderne". | |
781 | (synopsis "Hunspell dictionary for ``modern'' French")) | |
782 | ||
783 | (define-french-dictionary hunspell-dict-fr-réforme-1990 | |
784 | "reforme1990" | |
785 | (synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French")) | |
786 | ||
787 | (define-french-dictionary hunspell-dict-fr-toutes-variantes | |
788 | "toutesvariantes" | |
789 | (synopsis "Hunspell dictionary for all variants of French")) | |
790 | ||
1c625dd3 AE |
791 | (define-public hyphen |
792 | (package | |
793 | (name "hyphen") | |
794 | (version "2.8.8") | |
795 | (source | |
796 | (origin | |
797 | (method url-fetch) | |
de67e922 LF |
798 | (uri (string-append "mirror://sourceforge/hunspell/Hyphen/" |
799 | (version-major+minor version) "/" | |
1c625dd3 AE |
800 | name "-" version ".tar.gz")) |
801 | (sha256 (base32 | |
802 | "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih")))) | |
803 | (build-system gnu-build-system) | |
804 | (inputs | |
805 | `(("perl" ,perl))) | |
806 | (home-page "http://hunspell.sourceforge.net/") | |
807 | (synopsis "Hyphenation library") | |
808 | (description "Hyphen is a hyphenation library using TeX hyphenation | |
809 | patterns, which are pre-processed by a perl script.") | |
810 | ;; triple license, including "mpl1.1 or later" | |
811 | (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+)))) | |
2320ea1a AE |
812 | |
813 | (define-public mythes | |
814 | (package | |
815 | (name "mythes") | |
816 | (version "1.2.4") | |
817 | (source | |
818 | (origin | |
819 | (method url-fetch) | |
de67e922 | 820 | (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/" |
2320ea1a AE |
821 | name "-" version ".tar.gz")) |
822 | (sha256 (base32 | |
823 | "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y")))) | |
824 | (build-system gnu-build-system) | |
825 | (native-inputs | |
826 | `(("pkg-config" ,pkg-config))) | |
827 | (inputs | |
828 | `(("hunspell" ,hunspell) | |
829 | ("perl" ,perl))) | |
830 | (home-page "http://hunspell.sourceforge.net/") | |
831 | (synopsis "Thesaurus") | |
832 | (description "MyThes is a simple thesaurus that uses a structured text | |
833 | data file and an index file with binary search to look up words and phrases | |
e881752c | 834 | and to return information on pronunciations, meanings and synonyms.") |
2320ea1a AE |
835 | (license (non-copyleft "file://COPYING" |
836 | "See COPYING in the distribution.")))) | |
16c62e1f | 837 | |
16c62e1f AE |
838 | (define-public libreoffice |
839 | (package | |
840 | (name "libreoffice") | |
b4c9a317 | 841 | (version "5.4.5.1") |
16c62e1f AE |
842 | (source |
843 | (origin | |
844 | (method url-fetch) | |
845 | (uri | |
846 | (string-append | |
074ff555 | 847 | "https://download.documentfoundation.org/libreoffice/src/" |
16c62e1f AE |
848 | (version-prefix version 3) "/libreoffice-" version ".tar.xz")) |
849 | (sha256 (base32 | |
b4c9a317 | 850 | "167bh6jgyhfcvn3g7xghkg4nb99h91diypdlry5df21xs8bis5gb")))) |
16c62e1f AE |
851 | (build-system gnu-build-system) |
852 | (native-inputs | |
b4c9a317 MB |
853 | `(("bison" ,bison) |
854 | ("cppunit" ,cppunit-1.14) | |
16c62e1f AE |
855 | ("flex" ,flex) |
856 | ("pkg-config" ,pkg-config) | |
5bf83422 | 857 | ("python" ,python-wrapper) |
16c62e1f AE |
858 | ("which" ,which))) |
859 | (inputs | |
860 | `(("bluez" ,bluez) | |
861 | ("boost" ,boost) | |
862 | ("clucene" ,clucene) | |
863 | ("cups" ,cups) | |
864 | ("dbus-glib" ,dbus-glib) | |
865 | ("fontconfig" ,fontconfig) | |
866 | ("gconf" ,gconf) | |
867 | ("glew" ,glew) | |
868 | ("glm" ,glm) | |
869 | ("gperf" ,gperf) | |
b4c9a317 | 870 | ("gpgme" ,gpgme) |
16c62e1f AE |
871 | ("graphite2" ,graphite2) |
872 | ("gst-plugins-base" ,gst-plugins-base) | |
074ff555 | 873 | ("gtk+" ,gtk+) |
16c62e1f AE |
874 | ("harfbuzz" ,harfbuzz) |
875 | ("hunspell" ,hunspell) | |
876 | ("hyphen" ,hyphen) | |
877 | ("libabw" ,libabw) | |
878 | ("libcdr" ,libcdr) | |
879 | ("libcmis" ,libcmis) | |
b4c9a317 | 880 | ("libjpeg-turbo" ,libjpeg-turbo) |
16c62e1f AE |
881 | ("libe-book" ,libe-book) |
882 | ("libetonyek" ,libetonyek) | |
883 | ("libexttextcat" ,libexttextcat) | |
884 | ("libfreehand" ,libfreehand) | |
17e56dac | 885 | ("liblangtag" ,liblangtag) |
b4c9a317 MB |
886 | ;; XXX: Perhaps this should be propagated from xmlsec. |
887 | ("libltdl" ,libltdl) | |
16c62e1f AE |
888 | ("libmspub" ,libmspub) |
889 | ("libmwaw" ,libmwaw) | |
890 | ("libodfgen" ,libodfgen) | |
891 | ("libpagemaker" ,libpagemaker) | |
b1a8fd2d | 892 | ("libstaroffice" ,libstaroffice) |
16c62e1f AE |
893 | ("libvisio" ,libvisio) |
894 | ("libwpg" ,libwpg) | |
895 | ("libwps" ,libwps) | |
896 | ("libxrandr" ,libxrandr) | |
897 | ("libxrender" ,libxrender) | |
898 | ("libxslt" ,libxslt) | |
899 | ("libxt" ,libxt) | |
b1a8fd2d | 900 | ("libzmf" ,libzmf) |
16c62e1f AE |
901 | ("lpsolve" ,lpsolve) |
902 | ("mdds" ,mdds) | |
903 | ("mythes" ,mythes) | |
904 | ("neon" ,neon) | |
905 | ("nspr" ,nspr) | |
906 | ("nss" ,nss) | |
907 | ("openldap" ,openldap) | |
908 | ("openssl" ,openssl) | |
909 | ("orcus" ,orcus) | |
910 | ("perl" ,perl) | |
b6f024ad | 911 | ("perl-archive-zip" ,perl-archive-zip) |
16c62e1f AE |
912 | ("poppler" ,poppler) |
913 | ("postgresql" ,postgresql) | |
914 | ("python" ,python) | |
915 | ("redland" ,redland) | |
4c928743 | 916 | ("sane-backends" ,sane-backends) |
16c62e1f AE |
917 | ("unixodbc" ,unixodbc) |
918 | ("unzip" ,unzip) | |
919 | ("vigra" ,vigra) | |
b4c9a317 | 920 | ("xmlsec" ,xmlsec-nss) |
16c62e1f AE |
921 | ("zip" ,zip))) |
922 | (arguments | |
ebc81631 | 923 | `(#:tests? #f ; Building the tests already fails. |
16c62e1f AE |
924 | #:make-flags '("build-nocheck") ; Do not build unit tests, which fails. |
925 | #:phases | |
926 | (modify-phases %standard-phases | |
927 | (add-before 'configure 'prepare-src | |
928 | (lambda* (#:key inputs #:allow-other-keys) | |
b4c9a317 | 929 | (let ((gpgme (assoc-ref inputs "gpgme"))) |
eb096cde LF |
930 | (substitute* |
931 | "sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx" | |
932 | ;; This header was renamed in Poppler 0.62.0. | |
933 | (("UTF8.h") "UnicodeMapFuncs.h") | |
934 | ;; And mapUCS2() was renamed to mapUTF16(). | |
935 | (("UCS2") "UTF16")) | |
16c62e1f AE |
936 | (substitute* |
937 | (list "sysui/CustomTarget_share.mk" | |
938 | "solenv/gbuild/gbuild.mk" | |
b1a8fd2d | 939 | "solenv/gbuild/platform/unxgcc.mk") |
f51befed | 940 | (("/bin/sh") (which "sh"))) |
b4c9a317 MB |
941 | |
942 | ;; GPGME++ headers are installed in a gpgme++ subdirectory, | |
943 | ;; but files in "xmlsecurity/source/gpg/" expect to find them | |
944 | ;; on the include path without a prefix. | |
945 | (substitute* "xmlsecurity/Library_xsec_xmlsec.mk" | |
946 | (("\\$\\$\\(INCLUDE\\)") | |
947 | (string-append "$$(INCLUDE) -I" gpgme "/include/gpgme++"))) | |
948 | ||
949 | ;; XXX: When GTK2 is disabled, one header file is not included. | |
950 | ;; This is likely fixed in later versions. See also | |
951 | ;; <https://bugs.gentoo.org/641812>. | |
952 | (substitute* "vcl/unx/gtk3/gtk3gtkframe.cxx" | |
953 | (("#include <unx/gtk/gtkgdi.hxx>") | |
954 | "#include <unx/gtk/gtkgdi.hxx>\n#include <unx/gtk/gtksalmenu.hxx>")) | |
955 | ||
16c62e1f | 956 | #t))) |
3bfa7af4 | 957 | (add-after 'install 'bin-and-desktop-install |
cb72d343 AK |
958 | ;; Create 'soffice' and 'libreoffice' symlinks to the executable |
959 | ;; script. | |
16c62e1f | 960 | (lambda* (#:key outputs #:allow-other-keys) |
3bfa7af4 AW |
961 | (let ((out (assoc-ref outputs "out"))) |
962 | (define (symlink-output src dst) | |
963 | (mkdir-p (dirname (string-append out dst))) | |
964 | (symlink (string-append out src) (string-append out dst))) | |
965 | (define (install src dst) | |
966 | (let ((dst (string-append out dst))) | |
967 | (mkdir-p (dirname dst)) | |
968 | (copy-file src dst))) | |
969 | (define (install-desktop-file app) | |
970 | (let ((src (string-append "/lib/libreoffice/share/xdg/" | |
971 | app ".desktop")) | |
972 | (dst (string-append "/share/applications/libreoffice-" | |
973 | app ".desktop"))) | |
974 | (substitute* (string-append out src) | |
975 | (("Exec=libreoffice[0-9]+\\.[0-9]+ ") | |
976 | (string-append "Exec=" out "/bin/libreoffice ")) | |
17e56dac TD |
977 | (("Icon=libreoffice.*") |
978 | (string-append "Icon=" app "\n")) | |
3bfa7af4 AW |
979 | (("LibreOffice [0-9]+\\.[0-9]+") |
980 | "LibreOffice")) | |
17e56dac TD |
981 | (symlink-output src dst))) |
982 | (define (install-appdata app) | |
983 | (install-file (string-append | |
3bfa7af4 AW |
984 | "sysui/desktop/appstream-appdata/" |
985 | "libreoffice-" app ".appdata.xml") | |
17e56dac | 986 | (string-append out "/share/appdata"))) |
3bfa7af4 AW |
987 | (symlink-output "/lib/libreoffice/program/soffice" |
988 | "/bin/soffice") | |
989 | (symlink-output "/lib/libreoffice/program/soffice" | |
990 | "/bin/libreoffice") | |
991 | (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.keys" | |
992 | "/share/mime-info/libreoffice.keys") | |
993 | (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime" | |
994 | "/share/mime-info/libreoffice.mime") | |
995 | (install | |
996 | "workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml" | |
997 | "/share/mime/packages/libreoffice.xml") | |
998 | (for-each install-desktop-file | |
17e56dac TD |
999 | '("base" "calc" "draw" "impress" "writer" |
1000 | "math" "startcenter")) | |
1001 | (for-each install-appdata | |
3bfa7af4 | 1002 | '("base" "calc" "draw" "impress" "writer")) |
17e56dac | 1003 | (mkdir-p (string-append out "/share/icons/hicolor")) |
3bfa7af4 | 1004 | (copy-recursively "sysui/desktop/icons/hicolor" |
17e56dac | 1005 | (string-append out "/share/icons/hicolor"))) |
16c62e1f AE |
1006 | #t))) |
1007 | #:configure-flags | |
1008 | (list | |
1009 | "--enable-release-build" | |
1010 | "--enable-verbose" | |
16c62e1f AE |
1011 | "--disable-fetch-external" ; disable downloads |
1012 | "--with-system-libs" ; enable all --with-system-* flags | |
1013 | (string-append "--with-boost-libdir=" | |
1014 | (assoc-ref %build-inputs "boost") "/lib") | |
c91d3fb7 EB |
1015 | ;; Avoid undefined symbols required by boost::spirit |
1016 | "LDFLAGS=-lboost_system" | |
16c62e1f AE |
1017 | ;; Avoid a dependency on ucpp. |
1018 | "--with-idlc-cpp=cpp" | |
1019 | ;; The fonts require an external tarball (crosextrafonts). | |
1020 | ;; They should not be needed when system fonts are available. | |
1021 | "--without-fonts" | |
1022 | ;; With java, the build fails since sac.jar is missing. | |
1023 | "--without-java" | |
1024 | ;; FIXME: Enable once the corresponding inputs are packaged. | |
1025 | "--without-system-npapi-headers" | |
1026 | "--disable-coinmp" | |
1027 | "--disable-firebird-sdbc" ; embedded firebird | |
1028 | "--disable-gltf" | |
b4c9a317 MB |
1029 | ;; XXX: PDFium support requires fetching an external tarball and |
1030 | ;; patching the build scripts to work with GCC5. Try enabling this | |
1031 | ;; when our default compiler is >=GCC 6. | |
1032 | "--disable-pdfium" | |
42ca84be | 1033 | "--disable-gtk" ; disable use of GTK+ 2 |
074ff555 | 1034 | "--without-doxygen"))) |
16c62e1f AE |
1035 | (home-page "https://www.libreoffice.org/") |
1036 | (synopsis "Office suite") | |
1037 | (description "LibreOffice is a comprehensive office suite. It contains | |
1038 | a number of components: Writer, a word processor; Calc, a spreadsheet | |
1039 | application; Impress, a presentation engine; Draw, a drawing and | |
1040 | flowcharting application; Base, a database and database frontend; | |
1041 | Math for editing mathematics.") | |
1042 | (license mpl2.0))) |