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