projects/guix·blob python-team · refs

1214 lines · 46.8 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darrington <[email protected]>
3;;; Copyright © 2015 Andreas Enge <[email protected]>
4;;; Copyright © 2016, 2018-2021, 2023, 2024 Efraim Flashner <[email protected]>
5;;; Copyright © 2017 Alex Griffin <[email protected]>
6;;; Copyright © 2017 Thomas Danckaert <[email protected]>
7;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <[email protected]>
8;;; Copyright © 2017 Andy Wingo <[email protected]>
9;;; Copyright © 2017, 2018, 2019, 2021 Ludovic Courtès <[email protected]>
10;;; Copyright © 2017, 2018, 2019, 2022 Marius Bakke <[email protected]>
11;;; Copyright © 2017 Rutger Helling <[email protected]>
12;;; Copyright © 2018, 2019, 2022 Ricardo Wurmus <[email protected]>
13;;; Copyright © 2018, 2020 Jonathan Brielmaier <[email protected]>
14;;; Copyright © 2019 Chris Marusich <[email protected]>
15;;; Copyright © 2020 Marcin Karpezo <[email protected]>
16;;; Copyright © 2023, 2024 Nicolas Graves <[email protected]>
17;;; Copyright © 2023 Maxim Cournoyer <[email protected]>
18;;;
19;;; This file is part of GNU Guix.
20;;;
21;;; GNU Guix is free software; you can redistribute it and/or modify it
22;;; under the terms of the GNU General Public License as published by
23;;; the Free Software Foundation; either version 3 of the License, or (at
24;;; your option) any later version.
25;;;
26;;; GNU Guix is distributed in the hope that it will be useful, but
27;;; WITHOUT ANY WARRANTY; without even the implied warranty of
28;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29;;; GNU General Public License for more details.
30;;;
31;;; You should have received a copy of the GNU General Public License
32;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
33
34(define-module (gnu packages libreoffice)
35 #:use-module (guix build-system cmake)
36 #:use-module (guix build-system glib-or-gtk)
37 #:use-module (guix build-system gnu)
38 #:use-module (guix build-system pyproject)
39 #:use-module (guix gexp)
40 #:use-module (guix download)
41 #:use-module (guix git-download)
42 #:use-module ((guix licenses) #:prefix license:)
43 #:use-module (guix packages)
44 #:use-module (guix utils)
45 #:use-module (ice-9 match)
46 #:use-module (gnu packages)
47 #:use-module (gnu packages aidc)
48 #:use-module (gnu packages autotools)
49 #:use-module (gnu packages base)
50 #:use-module (gnu packages bison)
51 #:use-module (gnu packages boost)
52 #:use-module (gnu packages check)
53 #:use-module (gnu packages compression)
54 #:use-module (gnu packages cpp)
55 #:use-module (gnu packages crypto)
56 #:use-module (gnu packages cups)
57 #:use-module (gnu packages curl)
58 #:use-module (gnu packages cyrus-sasl)
59 #:use-module (gnu packages databases)
60 #:use-module (gnu packages datastructures)
61 #:use-module (gnu packages documentation)
62 #:use-module (gnu packages compiler-tools)
63 #:use-module (gnu packages fontutils)
64 #:use-module (gnu packages freedesktop)
65 #:use-module (gnu packages game-development)
66 #:use-module (gnu packages gcc)
67 #:use-module (gnu packages ghostscript)
68 #:use-module (gnu packages gl)
69 #:use-module (gnu packages glib)
70 #:use-module (gnu packages gnome)
71 #:use-module (gnu packages gperf)
72 #:use-module (gnu packages gnupg)
73 #:use-module (gnu packages graphics)
74 #:use-module (gnu packages gstreamer)
75 #:use-module (gnu packages gtk)
76 #:use-module (gnu packages hunspell)
77 #:use-module (gnu packages icu4c)
78 #:use-module (gnu packages image)
79 #:use-module (gnu packages linux)
80 #:use-module (gnu packages logging)
81 #:use-module (gnu packages markup)
82 #:use-module (gnu packages maths)
83 #:use-module (gnu packages nss)
84 #:use-module (gnu packages openldap)
85 #:use-module (gnu packages password-utils)
86 #:use-module (gnu packages pdf)
87 #:use-module (gnu packages perl)
88 #:use-module (gnu packages perl-compression)
89 #:use-module (gnu packages pkg-config)
90 #:use-module (gnu packages python)
91 #:use-module (gnu packages python-build)
92 #:use-module (gnu packages rdf)
93 #:use-module (gnu packages scanner)
94 #:use-module (gnu packages tls)
95 #:use-module (gnu packages version-control)
96 #:use-module (gnu packages xml)
97 #:use-module (gnu packages xorg))
98
99(define-public ixion
100 (package
101 (name "ixion")
102 (version "0.20.0")
103 (source (origin
104 (method git-fetch)
105 (uri (git-reference
106 (url "https://gitlab.com/ixion/ixion")
107 (commit version)))
108 (file-name (git-file-name name version))
109 (sha256
110 (base32
111 "1330gsyazlmfls3bbx822pas11i99kgg5phivg65rnym1y2a5gdz"))))
112 (build-system gnu-build-system)
113 (native-inputs (list autoconf automake libtool pkg-config))
114 (inputs (list mdds python spdlog))
115 (home-page "https://gitlab.com/ixion/ixion")
116 (synopsis "General purpose formula parser and interpreter")
117 (description "Ixion is a library for calculating the results of formula
118expressions stored in multiple named targets, or \"cells\". The cells can
119be referenced from each other, and the library takes care of resolving
120their dependencies automatically upon calculation.")
121 (license license:mpl2.0)))
122
123(define-public orcus
124 (package
125 (name "orcus")
126 (version "0.21.0")
127 (source (origin
128 ;; The test suite requires data files store with Git Large
129 ;; File Storage.
130 (method git-fetch/lfs)
131 (uri (git-reference
132 (url "https://gitlab.com/orcus/orcus")
133 (commit version)))
134 (file-name (git-file-name name version))
135 (sha256
136 (base32
137 "1m15rp8rirwr4jzmy68b096advsypshpw3w0fdk62sqfynsx67xx"))))
138 (build-system gnu-build-system)
139 (arguments (list #:configure-flags #~(list "--disable-static")))
140 (native-inputs (list autoconf automake libtool pkg-config))
141 (inputs (list ixion mdds python zlib))
142 (home-page "https://gitlab.com/orcus/orcus")
143 (synopsis "File import filter library for spreadsheet documents")
144 (description "Orcus is a library that provides a collection of standalone
145file processing filters. It is currently focused on providing filters for
146spreadsheet documents. The library includes import filters for
147Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
148Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
149CSV, CSS and XML.")
150 (license license:mpl2.0)))
151
152(define-public libeot
153 (package
154 (name "libeot")
155 (version "0.01")
156 (source
157 (origin
158 (method url-fetch)
159 (uri (string-append "https://dev-www.libreoffice.org/src/libeot-"
160 version ".tar.bz2"))
161 (sha256
162 (base32 "0sm06rbhb7adwknd3j67z3l3y2nxryi91srmfdkbxkbxivx92l6g"))))
163 (build-system gnu-build-system)
164 (home-page "https://github.com/umanwizard/libeot")
165 (synopsis "Library for parsing embedded OpenType files")
166 (description
167 "This package provides a library for parsing embedded OpenType files
168(Microsoft embedded font \"standard\"), and converting them to other
169formats.")
170 (license license:mpl2.0)))
171
172(define-public librevenge
173 (package
174 (name "librevenge")
175 (version "0.0.5")
176 (source
177 (origin
178 (method url-fetch)
179 (uri (string-append "mirror://sourceforge/libwpd/librevenge/librevenge-"
180 version "/librevenge-" version ".tar.xz"))
181 (sha256 (base32
182 "0d7bmqd6r23y076j4nk6fxhq2fx8dxk6a14yicsb2234pd20qv8h"))))
183 (build-system gnu-build-system)
184 (native-inputs
185 (list cppunit doxygen pkg-config))
186 (inputs
187 (list zlib))
188 (propagated-inputs ; Referenced by .la files
189 (list boost))
190 (arguments
191 ;; avoid triggering configure errors by simple inclusion of boost headers
192 `(#:configure-flags '("--disable-werror")))
193 (home-page "https://sourceforge.net/p/libwpd/wiki/librevenge/")
194 (synopsis "Document importer for office suites")
195 (description "Librevenge is a base library for writing document import
196filters. It has interfaces for text documents, vector graphics,
197spreadsheets and presentations.")
198 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed
199
200(define-public libwpd
201 (package
202 (name "libwpd")
203 (version "0.10.3")
204 (source
205 (origin
206 (method url-fetch)
207 (uri (string-append "mirror://sourceforge/libwpd/libwpd/"
208 "libwpd-" version "/libwpd-" version ".tar.xz"))
209 (patches (search-patches "libwpd-gcc-compat.patch"))
210 (sha256 (base32
211 "02fx8bngslcj7i5g1gx2kiign4vp09wrmp5wpvix9igxcavb0r94"))))
212 (build-system gnu-build-system)
213 (arguments
214 `(#:configure-flags '("--disable-werror")))
215 (native-inputs
216 (list doxygen pkg-config))
217 (propagated-inputs
218 (list librevenge)) ; in Requires field of .pkg
219 (inputs
220 (list zlib))
221 (home-page "https://libwpd.sourceforge.net/")
222 (synopsis "Library for importing WordPerfect documents")
223 (description "Libwpd is a C++ library designed to help process
224WordPerfect documents. It is most commonly used to import such documents
225into other word processors.")
226 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed
227
228(define-public libe-book
229 (package
230 (name "libe-book")
231 (version "0.1.3")
232 (source
233 (origin
234 (method url-fetch)
235 (uri (string-append "mirror://sourceforge/libebook/libe-book-"
236 version "/libe-book-" version ".tar.xz"))
237 (sha256
238 (base32
239 "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by"))
240 (modules '((guix build utils)))
241 (snippet
242 '(begin
243 ;; This can be removed with the next release.
244 ;; Needed for icu4c compatibility >= 68.0.
245 (substitute* "src/lib/EBOOKCharsetConverter.cpp"
246 (("TRUE, TRUE, &status")
247 "true, true, &status"))))))
248 (build-system gnu-build-system)
249 (native-inputs
250 (list cppunit gperf pkg-config))
251 (propagated-inputs ; in Requires or Requires.private field of .pkg
252 (list icu4c liblangtag librevenge libxml2))
253 (inputs
254 (list boost))
255 (arguments
256 ;; avoid triggering configure errors by simple inclusion of boost headers
257 `(#:configure-flags '("--disable-werror")))
258 (home-page "http://libebook.sourceforge.net")
259 (synopsis "Library for import of reflowable e-book formats")
260 (description "Libe-book is a library and a set of tools for reading and
261converting various reflowable e-book formats. Currently supported are:
262Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),
263PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled
264cellphones), TCR (simple compressed text format), TealDoc, zTXT,
265ZVR (simple compressed text format).")
266 (license license:mpl2.0)))
267
268(define-public libepubgen
269 (package
270 (name "libepubgen")
271 (version "0.1.1")
272 (source
273 (origin
274 (method url-fetch)
275 (uri (string-append "mirror://sourceforge/libepubgen/libepubgen-"
276 version "/libepubgen-" version ".tar.xz"))
277 (sha256
278 (base32
279 "1b8mc9zzrqypj1v9zdy3ybc48pw0rfr06cyi7n6grvybjjwq9q03"))))
280 (build-system gnu-build-system)
281 (native-inputs
282 (list cppunit pkg-config))
283 (inputs
284 (list libxml2 boost))
285 (propagated-inputs ; in Requires field of .pkg
286 (list librevenge))
287 (home-page "https://sourceforge.net/projects/libepubgen/")
288 (synopsis "EPUB generator library for librevenge")
289 (description "libepubgen is an EPUB generator for librevenge. It supports
290librevenge's text document interface and--currently in a very limited
291way--presentation and vector drawing interfaces.")
292 (license license:mpl2.0)))
293
294(define-public libwpg
295 (package
296 (name "libwpg")
297 (version "0.3.3")
298 (source
299 (origin
300 (method url-fetch)
301 (uri (string-append "mirror://sourceforge/libwpg/libwpg/"
302 "libwpg-" version "/libwpg-" version ".tar.xz"))
303 (sha256 (base32
304 "074x159immf139szkswv2zapnq75p7xk10dbha2p9193hgwggcwr"))))
305 (build-system gnu-build-system)
306 (native-inputs
307 (list doxygen pkg-config))
308 (propagated-inputs
309 (list libwpd)) ; in Requires field of .pkg
310 (inputs
311 (list perl zlib))
312 (home-page "https://libwpg.sourceforge.net/")
313 (synopsis "Library and tools for the WordPerfect Graphics format")
314 (description "The libwpg project provides a library and tools for
315working with graphics in the WPG (WordPerfect Graphics) format.")
316 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed
317
318(define-public libcmis
319 ;; Use an unreleased version supporting newer versions of Boost.
320 (let ((commit "00a85bf6574270f47740df8cbb5363ce8d1b1ea6")
321 (revision "0"))
322 (package
323 (name "libcmis")
324 ;; Note: Use an unreleased version because libreoffice requires it and
325 ;; is the only user (see <https://github.com/tdf/libcmis/pull/43>).
326 (version (git-version "0.6.2" revision commit))
327 (home-page "https://github.com/tdf/libcmis")
328 (source
329 (origin
330 (method git-fetch)
331 (uri (git-reference (url home-page)
332 (commit commit)))
333 (file-name (git-file-name name version))
334 (sha256
335 (base32
336 "10ckwqhvdjk5vp774cr7v6k6jwf1kdwigkn0b7npnk4vhlz5b94x"))))
337 (build-system gnu-build-system)
338 (native-inputs
339 (list autoconf automake libtool cppunit pkg-config))
340 (propagated-inputs ;in Requires field of .pkg
341 (list curl libxml2))
342 (inputs
343 (list boost cyrus-sasl openssl))
344 (arguments
345 (list
346 #:configure-flags
347 #~(list
348 ;; FIXME: Man pages generation requires docbook-to-man; reenable
349 ;; it once this is available.
350 "--without-man"
351 ;; XXX: A configure test fails with GCC7 when including Boost headers.
352 "--disable-werror")
353 #:phases
354 #~(modify-phases %standard-phases
355 (replace 'bootstrap
356 (lambda _
357 ;; Override the bootstrap phase as the ancient autogen.sh
358 ;; script exits with a non-zero code when NOCONFIGURE=1.
359 (invoke "autoreconf" "-vif"))))))
360 (synopsis "CMIS client library")
361 (description "LibCMIS is a C++ client library for the CMIS interface. It
362allows C++ applications to connect to any ECM behaving as a CMIS server such
363as Alfresco or Nuxeo.")
364 (license
365 (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))))) ; triple license
366
367(define-public libabw
368 (package
369 (name "libabw")
370 (version "0.1.3")
371 (source
372 (origin
373 (method url-fetch)
374 (uri (string-append "https://dev-www.libreoffice.org/src/libabw/"
375 "libabw-" version ".tar.xz"))
376 (sha256 (base32
377 "1vbfrmnvib3cym0yyyabnd8xpx4f7wp20vnn09s6dln347fajqz7"))))
378 (build-system gnu-build-system)
379 (native-inputs
380 (list doxygen gperf perl pkg-config))
381 (propagated-inputs ; in Requires or Requires.private field of .pkg
382 (list librevenge libxml2))
383 (inputs
384 (list boost))
385 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
386 (synopsis "Library for parsing the AbiWord format")
387 (description "Libabw is a library that parses the file format of
388AbiWord documents.")
389 (license license:mpl2.0)))
390
391(define-public libcdr
392 (package
393 (name "libcdr")
394 (version "0.1.7")
395 (source
396 (origin
397 (method url-fetch)
398 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
399 name "-" version ".tar.xz"))
400 (sha256 (base32
401 "1m6dirmyhqwnrpv80z97x5k5hdh4kh8a8zlq3smbjrilc6fj8rjn"))))
402 (build-system gnu-build-system)
403 (native-inputs
404 (list cppunit doxygen pkg-config))
405 (propagated-inputs ; in Requires or Requires.private field of .pkg
406 (list icu4c lcms librevenge zlib))
407 (inputs
408 (list boost))
409 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
410 (synopsis "Library for parsing the CorelDRAW format")
411 (description "Libcdr is a library that parses the file format of
412CorelDRAW documents of all versions.")
413 (license license:mpl2.0)))
414
415(define-public libetonyek
416 (package
417 (name "libetonyek")
418 (version "0.1.13")
419 (source
420 (origin
421 (method url-fetch)
422 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
423 name "-" version ".tar.xz"))
424 (sha256
425 (base32 "028prgdrmchpd0zjcsr9anz3bg41h8c1dfbhnah95pbyb75p2aq3"))))
426 (build-system gnu-build-system)
427 (arguments
428 (list
429 #:configure-flags
430 ;; To update, check the MDDS_API_VERSION in mdds checkout.
431 ;; This is not necessarily the same as the package-version of mdds.
432 #~(list "--with-mdds=3.0")))
433 (native-inputs
434 (list cppunit doxygen gperf pkg-config))
435 (propagated-inputs ; in Requires or Requires.private field of .pkg
436 (list liblangtag librevenge libxml2 zlib))
437 (inputs
438 (list boost glm mdds))
439 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
440 (synopsis "Library for parsing the Apple Keynote format")
441 (description "Libetonyek is a library that parses the file format of
442Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
443 (license license:mpl2.0)))
444
445(define-public liblangtag
446 (package
447 (name "liblangtag")
448 (version "0.6.7")
449 (source
450 (origin
451 (method url-fetch)
452 (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
453 "liblangtag-" version ".tar.bz2"))
454 (sha256
455 (base32 "03h33sjqsrmmkyj2kxs7c6226hd4s5n22bz62b4hag1zmvabrmjy"))))
456 (build-system gnu-build-system)
457 (native-inputs
458 (list libtool pkg-config))
459 (inputs
460 (list libxml2))
461 (home-page "https://bitbucket.org/tagoh/liblangtag")
462 (synopsis "Library to access tags for identifying languages")
463 (description "Liblangtag implements an interface to work with tags
464for identifying languages as described in RFC 5646. It supports the
465extensions described in RFC6067 and RFC6497, and Extension T for
466language/locale identifiers as described in the Unicode CLDR
467standard 21.0.2.")
468 (license (list license:lgpl3+ license:mpl2.0)))) ; dual license
469
470(define-public libexttextcat
471 (package
472 (name "libexttextcat")
473 (version "3.4.5")
474 (source
475 (origin
476 (method url-fetch)
477 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
478 name "-" version ".tar.xz"))
479 (sha256 (base32
480 "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k"))))
481 (build-system gnu-build-system)
482 (home-page "https://www.freedesktop.org/wiki/Software/libexttextcat/")
483 (synopsis "Text Categorization library")
484 (description "Libexttextcat is an N-Gram-Based Text Categorization
485library primarily intended for language guessing.")
486 (license (license:non-copyleft "file://LICENSE"
487 "See LICENSE in the distribution."))))
488
489(define-public libfreehand
490 (package
491 (name "libfreehand")
492 (version "0.1.2")
493 (source
494 (origin
495 (method url-fetch)
496 (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
497 name "-" version ".tar.xz"))
498 (sha256 (base32
499 "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf"))))
500 (build-system gnu-build-system)
501 (arguments
502 '(#:configure-flags '("--disable-werror")
503 #:phases (modify-phases %standard-phases
504 (add-before 'build 'adjust-for-ICU-65
505 (lambda _
506 ;; Fix build with ICU 65 and later. Taken from this
507 ;; upstream commit, remove for libfreehand > 0.1.2:
508 ;; https://gerrit.libreoffice.org/#/c/80224/
509 (substitute* "src/lib/libfreehand_utils.cpp"
510 (("U16_NEXT.*" all)
511 (string-append all ";\n")))
512 #t)))))
513 (native-inputs
514 (list cppunit doxygen gperf perl pkg-config))
515 (inputs
516 (list icu4c lcms))
517 (propagated-inputs ; in Requires or Requires.private field of .pkg
518 (list librevenge zlib))
519 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
520 (synopsis "Library for parsing the FreeHand format")
521 (description "Libfreehand is a library that parses the file format of
522Aldus/Macromedia/Adobe FreeHand documents.")
523 (license license:mpl2.0)))
524
525(define-public libmspub
526 (package
527 (name "libmspub")
528 (version "0.1.4")
529 (source
530 (origin
531 (method url-fetch)
532 (uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
533 name "-" version ".tar.xz"))
534 (sha256 (base32
535 "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg"))
536 (modules '((guix build utils)))
537 (snippet
538 '(begin
539 ;; This can be removed with the next release.
540 ;; https://gerrit.libreoffice.org/c/libmspub/+/73814
541 (substitute* "src/lib/MSPUBMetaData.h"
542 (("include <vector>" all)
543 (string-append all "\n#include <cstdint>")))))))
544 (build-system gnu-build-system)
545 (native-inputs
546 (list doxygen pkg-config))
547 (propagated-inputs ; in Requires or Requires.private field of .pkg
548 (list icu4c librevenge zlib))
549 (inputs
550 (list boost))
551 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
552 (synopsis "Library for parsing the Microsoft Publisher format")
553 (description "Libmspub is a library that parses the file format of
554Microsoft Publisher documents of all versions.")
555 (license license:mpl2.0)))
556
557(define-public libnumbertext
558 (package
559 (name "libnumbertext")
560 (version "1.0.7")
561 (source
562 (origin
563 (method url-fetch)
564 (uri (string-append "https://github.com/Numbertext/libnumbertext/"
565 "releases/download/" version
566 "/libnumbertext-" version ".tar.xz"))
567 (sha256
568 (base32 "1z31idnmd9iv6ra5dcsn7q70wv32clk2sqc5bbhimqcsp2f29f0p"))))
569 (build-system gnu-build-system)
570 (arguments
571 `(#:configure-flags '("--disable-static")))
572 (home-page "https://github.com/Numbertext/libnumbertext")
573 (synopsis "Language-neutral @code{NUMBERTEXT} and @code{MONEYTEXT} functions")
574 (description
575 "The libnumbertext library provides language-neutral @code{NUMBERTEXT}
576and @code{MONEYTEXT} functions for LibreOffice Calc, available for C++ and
577Java.")
578 (license (list license:lgpl3+ license:bsd-3))))
579
580(define-public libpagemaker
581 (package
582 (name "libpagemaker")
583 (version "0.0.4")
584 (source
585 (origin
586 (method url-fetch)
587 (uri (string-append "https://dev-www.libreoffice.org/src/libpagemaker/"
588 "libpagemaker-" version ".tar.xz"))
589 (sha256 (base32
590 "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6"))))
591 (build-system gnu-build-system)
592 (arguments
593 `(#:configure-flags '("--disable-werror")))
594 (native-inputs
595 (list doxygen pkg-config))
596 (propagated-inputs ; in Requires field of .pkg
597 (list librevenge))
598 (inputs
599 (list boost zlib))
600 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
601 (synopsis "Library for parsing the PageMaker format")
602 (description "Libpagemaker is a library that parses the file format of
603Aldus/Adobe PageMaker documents. Currently it only understands documents
604created by PageMaker version 6.x and 7.")
605 (license license:mpl2.0)))
606
607(define-public libvisio
608 (package
609 (name "libvisio")
610 (version "0.1.7")
611 (source
612 (origin
613 (method url-fetch)
614 (uri (string-append "http://dev-www.libreoffice.org/src/libvisio/"
615 "libvisio-" version ".tar.xz"))
616 (sha256 (base32
617 "0k7adcbbf27l7n453cca1m6s9yj6qvb5j6bsg2db09ybf3w8vbwg"))))
618 (build-system gnu-build-system)
619 (native-inputs
620 (list cppunit doxygen gperf perl pkg-config))
621 (propagated-inputs ; in Requires or Requires.private field of .pkg
622 (list icu4c librevenge libxml2))
623 (inputs
624 (list boost))
625 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
626 (synopsis "Library for parsing the Microsoft Visio format")
627 (description "Libvisio is a library that parses the file format of
628Microsoft Visio documents of all versions.")
629 (license license:mpl2.0)))
630
631(define-public libodfgen
632 (package
633 (name "libodfgen")
634 (version "0.1.8")
635 (source
636 (origin
637 (method url-fetch)
638 (uri (string-append "mirror://sourceforge/libwpd/libodfgen/"
639 "libodfgen-" version "/libodfgen-" version ".tar.xz"))
640 (sha256 (base32
641 "0986c5gw4vdfz7bcmpdfz07inba5wxsx4f6xvndknqj6zlkh082m"))))
642 (build-system gnu-build-system)
643 (native-inputs
644 (list doxygen pkg-config))
645 (propagated-inputs ; in Requires field of .pkg
646 (list librevenge))
647 (inputs
648 (list boost libxml2 zlib))
649 (arguments
650 ;; Avoid triggering configure errors by simple inclusion of Boost headers.
651 `(#:configure-flags '("--disable-werror")))
652 (home-page "https://sourceforge.net/p/libwpd/wiki/libodfgen/")
653 (synopsis "ODF (Open Document Format) library")
654 (description "Libodfgen is a library for generating documents in the
655Open Document Format (ODF). It provides generator implementations for all
656document interfaces supported by librevenge:
657text documents, vector drawings, presentations and spreadsheets.")
658 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license
659
660(define-public libmwaw
661 (package
662 (name "libmwaw")
663 (version "0.3.21")
664 (source
665 (origin
666 (method url-fetch)
667 (uri (string-append "mirror://sourceforge/libmwaw/libmwaw/libmwaw-"
668 version "/libmwaw-" version ".tar.xz"))
669 (sha256
670 (base32 "07629xwvlkqj08j13aj9lsq0pwm7r0v7g2zprr1vjqcdlwih2xg8"))))
671 (build-system gnu-build-system)
672 (native-inputs
673 (list doxygen pkg-config))
674 (propagated-inputs ; in Requires field of .pc file
675 (list librevenge))
676 (inputs
677 (list boost zlib))
678 (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
679 (synopsis "Import library for some old Macintosh text documents")
680 (description "Libmwaw contains some import filters for old Macintosh
681text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
682spreadsheet documents.")
683 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license
684
685(define-public libstaroffice
686 (package
687 (name "libstaroffice")
688 (version "0.0.7")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
693 version "/libstaroffice-" version ".tar.xz"))
694 (sha256 (base32
695 "1ny8411273k2bq7mnpmcvri3rd46b2j67wfypqkp3y8nhanv0kzr"))))
696 (build-system gnu-build-system)
697 (inputs
698 (list librevenge zlib))
699 (native-inputs
700 (list pkg-config))
701 (home-page "https://github.com/fosnola/libstaroffice")
702 (synopsis "Provides LibreOffice support for old StarOffice documents")
703 (description "@code{libstaroffice} is an import filter for the document formats
704from the old StarOffice (.sdc, .sdw, ...).")
705 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license
706
707(define-public libwps
708 (package
709 (name "libwps")
710 (version "0.4.13")
711 (source
712 (origin
713 (method url-fetch)
714 (uri (string-append "mirror://sourceforge/" name "/" name "/"
715 name "-" version "/" name "-" version ".tar.xz"))
716 (sha256 (base32
717 "03y4aslp5lfqc14agn0hgkifwrknh8s4hfjll9wrfs1hq3kaz5ff"))))
718 (build-system gnu-build-system)
719 (native-inputs
720 (list doxygen pkg-config))
721 (propagated-inputs ; in Requires field of .pkg
722 (list librevenge))
723 (inputs
724 (list boost zlib))
725 (home-page "https://libwps.sourceforge.net/")
726 (synopsis "Import library for Microsoft Works text documents")
727 (description "Libwps is a library for importing files in the Microsoft
728Works word processor file format.")
729 (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license
730
731(define-public libzmf
732 (package
733 (name "libzmf")
734 (version "0.0.2")
735 (source
736 (origin
737 (method url-fetch)
738 (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
739 version ".tar.xz"))
740 (sha256 (base32
741 "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))
742 (patches (search-patches "libzmf-doxygen-1.14.patch"))))
743 (build-system gnu-build-system)
744 (arguments
745 (list
746 ;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
747 #:configure-flags #~'("--disable-werror")
748 #:phases
749 #~(modify-phases %standard-phases
750 (replace 'bootstrap
751 (lambda _
752 ;; Override the bootstrap phase as a makefile has been patched.
753 (invoke "autoreconf" "-vif"))))))
754 (inputs
755 (list boost icu4c libpng librevenge zlib))
756 (native-inputs
757 (list autoconf
758 automake
759 libtool
760 cppunit
761 doxygen
762 pkg-config))
763 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
764 (synopsis "Parses file format of Zoner Callisto/Draw documents")
765 (description "Libzmf is a library that parses the file format of Zoner
766Callisto/Draw documents. Currently it only understands documents created by
767Zoner Draw version 4 and 5.")
768 (license license:mpl2.0)))
769
770(define-public hyphen
771 (package
772 (name "hyphen")
773 (version "2.8.8")
774 (source
775 (origin
776 (method url-fetch)
777 (uri (string-append "mirror://sourceforge/hunspell/Hyphen/"
778 (version-major+minor version) "/"
779 name "-" version ".tar.gz"))
780 (sha256 (base32
781 "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
782 (build-system gnu-build-system)
783 (inputs
784 (list perl))
785 (home-page "https://hunspell.github.io/")
786 (synopsis "Hyphenation library")
787 (description "Hyphen is a hyphenation library using TeX hyphenation
788patterns, which are pre-processed by a perl script.")
789 ;; Triple license, including "mpl1.1 or later".
790 (license
791 (list license:mpl1.1 license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
792
793(define-public mythes
794 (package
795 (name "mythes")
796 (version "1.2.5")
797 (source
798 (origin
799 (method url-fetch)
800 (uri (string-append "https://github.com/hunspell/mythes/releases/"
801 "download/v" version "/mythes-" version ".tar.xz"))
802 (sha256
803 (base32 "07ajdyyif19k445dqffkm32c1kl8z0cw6bczc7x5zgkvf1q9y9qr"))))
804 (build-system gnu-build-system)
805 (native-inputs
806 (list pkg-config))
807 (inputs
808 (list hunspell perl))
809 (home-page "https://hunspell.github.io/")
810 (synopsis "Thesaurus")
811 (description "MyThes is a simple thesaurus that uses a structured text
812data file and an index file with binary search to look up words and phrases
813and to return information on pronunciations, meanings and synonyms.")
814 (license (license:non-copyleft "file://COPYING"
815 "See COPYING in the distribution."))))
816
817(define-public libqxp
818 (package
819 (name "libqxp")
820 (version "0.0.2")
821 (source (origin
822 (method url-fetch)
823 (uri (string-append "https://dev-www.libreoffice.org/src/libqxp/"
824 "libqxp-" version ".tar.xz"))
825 (sha256
826 (base32
827 "0p4lb84m05wqd8qr8ni9sp80ivlm83ffn0nxiv4m42hj22qvcdz1"))))
828 (build-system gnu-build-system)
829 (inputs
830 (list boost icu4c zlib))
831 (native-inputs
832 (list cppunit pkg-config))
833 (propagated-inputs
834 (list librevenge)) ; mentioned in Requires field
835 (home-page "https://www.libreoffice.org")
836 (synopsis "Library and tools for the QuarkXPress file format")
837 (description "libqxp is a library and a set of tools for reading and
838converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
839 (license license:mpl2.0)))
840
841(define-public dragonbox
842 (package
843 (name "dragonbox")
844 (version "1.1.3")
845 (source (origin
846 (method git-fetch)
847 (uri (git-reference
848 (url "https://github.com/jk-jeon/dragonbox")
849 (commit version)))
850 (file-name (git-file-name name version))
851 (sha256
852 (base32
853 "0qxx94s2kfgnlnyl1gwmbxkksr3dipvb99zdyi5skw3z2bq563sa"))))
854 (build-system cmake-build-system)
855 (arguments (list #:tests? #false)) ;no test target
856 (home-page "https://github.com/jk-jeon/dragonbox")
857 (synopsis "Float-to-string conversion algorithm")
858 (description "Dragonbox generates a pair of integers from a floating-point
859number: the decimal significand and the decimal exponent of the input
860floating-point number. These integers can then be used for string generation
861of decimal representation of the input floating-point number, the procedure
862commonly called @code{ftoa} or @code{dtoa}.")
863 (license license:asl2.0)))
864
865(define dtoa
866 (origin
867 (method url-fetch)
868 (uri "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz")
869 (sha256
870 (base32 "1d0iwy0q5sjznv23d3nbwmy0r7m1mdzlnv5pc4izddkx9xld10h0"))))
871
872(define-public libreoffice
873 (package
874 (name "libreoffice")
875 (version "26.8.0.3") ;keep in sync with hunspell dictionaries
876 (source
877 (origin
878 (method url-fetch)
879 (uri
880 (list
881 (string-append
882 "https://download.documentfoundation.org/libreoffice/src/"
883 (version-prefix version 3) "/libreoffice-" version ".tar.xz")
884 (string-append
885 "https://downloadarchive.documentfoundation.org/libreoffice/old/"
886 version "/src/libreoffice-" version ".tar.xz")))
887 (sha256
888 (base32 "154gyq3jmbyygn8d19bw9dphkmvw9yhgy874ficmgaikd4jnw4a2"))))
889 (build-system glib-or-gtk-build-system)
890 (arguments
891 (list
892 #:imported-modules (append %glib-or-gtk-build-system-modules
893 %pyproject-build-system-modules)
894 #:modules `(((guix build pyproject-build-system) #:prefix py:)
895 (ice-9 textual-ports)
896 (srfi srfi-1)
897 (srfi srfi-26)
898 ,@%glib-or-gtk-build-system-default-modules)
899 #:tests? #f ; Building the tests already fails.
900 #:configure-flags
901 #~(list
902 "--enable-release-build"
903 "--with-vendor=GNU Guix"
904 ;; Without the SAL logging system enabled, LibreOffice is utterly
905 ;; silent. Setting the environment variable 'SAL_INFO=+INFO' can be
906 ;; useful to debug problems.
907 "--enable-sal-log"
908 ;; Avoid using all cpu cores by default
909 (format #f "--with-parallelism=~d" (parallel-job-count))
910 "--disable-fetch-external" ; disable downloads
911 "--with-system-libs" ; enable all --with-system-* flags
912 (string-append "--with-boost-libdir="
913 (dirname
914 (search-input-file %build-inputs
915 "lib/libboost_system.so")))
916 ;; The fonts require an external tarball (crosextrafonts).
917 ;; They should not be needed when system fonts are available.
918 "--without-fonts"
919 ;; With java, the build fails since sac.jar is missing.
920 "--without-java"
921 ;; FIXME: Enable once the corresponding inputs are packaged.
922 "--disable-coinmp"
923 "--disable-skia"
924 ;; This could (Debian does this) be a separate output containing only
925 ;; program/libfirebird_sdbclo.so, if there's a way to point to it.
926 "--enable-firebird-sdbc"
927 ;; XXX: PDFium support requires fetching an external tarball and
928 ;; patching the build scripts to work with GCC5. Try enabling this
929 ;; when our default compiler is >=GCC 6.
930 "--disable-pdfium"
931 "--without-doxygen"
932 ;; Avoid linker errors about non-virtual thunks on i686-linux.
933 "--enable-lto"
934 ;; Avoid errors rebuilding the Gtk icon cache, at least on i686-linux.
935 "--without-galleries"
936 "--enable-build-opensymbol"
937 ;; Avoid CVE tests.
938 "--disable-cve-tests"
939 ;; Do not try to write to the store.
940 "--enable-readonly-installset"
941 ;; XXX: This flag should speed-up builds.
942 "--disable-dependency-tracking")
943 #:phases
944 #~(modify-phases %standard-phases
945 (add-after 'unpack 'insert-external-tarballs
946 (lambda _
947 (mkdir-p "external/tarballs")
948 (copy-file #$dtoa "external/tarballs/dtoa-20180411.tgz")))
949 (add-after 'unpack 'augment-LD_LIBRARY_PATH
950 ;; Without this, the nsscrypto_initialize procedure in
951 ;; nssinitializer.cxx silently fails to load libnssckbi.so, which
952 ;; causes password encryption to also silently fail (see:
953 ;; https://bugs.documentfoundation.org/show_bug.cgi?id=153714).
954 (lambda* (#:key inputs #:allow-other-keys)
955 (substitute* "desktop/scripts/soffice.sh"
956 (("^exec .*oosplash.*" anchor)
957 (string-append "export LD_LIBRARY_PATH="
958 (search-input-directory inputs "lib/nss")
959 "${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\n"
960 anchor)))))
961 (add-before 'configure 'prepare-src
962 (lambda* (#:key inputs #:allow-other-keys)
963 (substitute*
964 (list "sysui/CustomTarget_share.mk"
965 "solenv/gbuild/gbuild.mk"
966 "solenv/gbuild/platform/unxgcc.mk")
967 (("/bin/sh") (which "sh")))
968
969 ;; Use store references for strictly necessary commands,
970 ;; but not for optional tools like ‘gdb’ and ‘valgrind’.
971 (for-each (lambda (command)
972 (substitute* "desktop/scripts/soffice.sh"
973 (((format #f "~a " command))
974 (format #f "~a " (which command)))))
975 (list "dirname" "grep" "uname"))
976
977 ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
978 ;; configure is hardcoded to use FHS directories.
979 (substitute* "configure"
980 (("GPGMEPP_CFLAGS=-I/usr/include/gpgme\\+\\+")
981 (string-append "GPGMEPP_CFLAGS=-I"
982 (search-input-directory inputs
983 "include/gpgme++")))
984 (("DRAGONBOX_CFLAGS=-I/usr/include/dragonbox-1\\.1\\.3")
985 (string-append "DRAGONBOX_CFLAGS=-I"
986 (search-input-directory inputs
987 "include/dragonbox-1.1.3"))))
988
989 ;; /usr/bin/xdg-open doesn't exist on Guix System.
990 (substitute* '("shell/source/unix/exec/shellexec.cxx"
991 "shell/source/unix/misc/senddoc.sh")
992 (("/usr/bin/xdg-open")
993 (search-input-file inputs "/bin/xdg-open")))
994
995 (setenv "CPPFLAGS" "-std=c++20")))
996 (add-after 'install 'reset-zip-timestamps
997 (lambda _
998 (for-each (lambda (file)
999 (invoke "ziptime" file))
1000 ;; So many different extensions for .zip files.
1001 (find-files #$output "\\.(bau|dat|otg|otp|ott|zip)$"))))
1002 (add-after 'install 'bin-and-desktop-install
1003 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
1004 ;; script.
1005 (lambda* (#:key inputs outputs #:allow-other-keys)
1006 (let* ((out #$output)
1007 (python-site (py:site-packages inputs outputs)))
1008 (define (symlink-output src dst)
1009 (mkdir-p (dirname (string-append out dst)))
1010 (symlink (string-append out src) (string-append out dst)))
1011 (define (install src dst)
1012 (let ((dst (string-append out dst)))
1013 (mkdir-p (dirname dst))
1014 (copy-file src dst)))
1015 (define (install-desktop-file app)
1016 (let ((src (string-append "/lib/libreoffice/share/xdg/"
1017 app ".desktop"))
1018 (dst (string-append "/share/applications/libreoffice-"
1019 app ".desktop")))
1020 (substitute* (string-append out src)
1021 (("Exec=libreoffice[0-9]+\\.[0-9]+ ")
1022 (string-append "Exec=" out "/bin/libreoffice "))
1023 (("Icon=libreoffice.*")
1024 (string-append "Icon=" app "\n"))
1025 (("LibreOffice [0-9]+\\.[0-9]+")
1026 "LibreOffice"))
1027 (symlink-output src dst)))
1028 (define (install-appdata app)
1029 (install-file (string-append
1030 "sysui/desktop/appstream-appdata/"
1031 "libreoffice-" app ".appdata.xml")
1032 (string-append out "/share/appdata")))
1033 (define (install-python-script name)
1034 (with-input-from-file
1035 (string-append out "/lib/libreoffice/program/" name ".py")
1036 (lambda _
1037 (let ((file (get-string-all (current-input-port))))
1038 (with-output-to-file
1039 (string-append python-site "/" name ".py")
1040 (lambda _
1041 (format (current-output-port) "\
1042import sys, os
1043sys.path.append('~a/lib/libreoffice/program')
1044os.putenv('URE_BOOTSTRAP', \
1045'vnd.sun.star.pathname:~a/lib/libreoffice/program/fundamentalrc')
1046
1047~a"
1048 out out file))))))
1049 (delete-file
1050 (string-append out "/lib/libreoffice/program/" name ".py")))
1051 (symlink-output "/lib/libreoffice/program/soffice"
1052 "/bin/soffice")
1053 (symlink-output "/lib/libreoffice/program/soffice"
1054 "/bin/libreoffice")
1055 (install
1056 "workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
1057 "/share/mime/packages/libreoffice.xml")
1058 (for-each install-desktop-file
1059 '("base" "calc" "draw" "impress" "writer"
1060 "math" "startcenter"))
1061 (for-each install-appdata
1062 '("base" "calc" "draw" "impress" "writer"))
1063 (mkdir-p (string-append out "/share/icons/hicolor"))
1064 (copy-recursively "sysui/desktop/icons/hicolor"
1065 (string-append out "/share/icons/hicolor"))
1066 (mkdir-p python-site)
1067 (for-each install-python-script
1068 '("access2base" "mailmerge" "msgbox" "officehelper"
1069 "pythonloader" "pythonscript" "scriptforge"
1070 "unohelper" "uno"))))))))
1071 (native-inputs
1072 (list bison
1073 cppunit
1074 flex
1075 frozen ;header-only library
1076 pkg-config
1077 python-wrapper
1078 which
1079 ziptime))
1080 (inputs
1081 (list argon2
1082 bluez
1083 boost
1084 box2d
1085 clucene
1086 cups
1087 dbus-glib
1088 dragonbox
1089 fast-float
1090 firebird
1091 fontconfig
1092 fontforge
1093 gconf
1094 glew
1095 glm
1096 gnupg
1097 gobject-introspection
1098 gperf
1099 gpgme
1100 graphite2
1101 gst-plugins-base
1102 gtk+
1103 harfbuzz
1104 hunspell
1105 hyphen
1106 libabw
1107 libcdr
1108 libcmis
1109 libcuckoo
1110 libeot
1111 libfixmath
1112 libjpeg-turbo
1113 libe-book
1114 libepubgen
1115 libetonyek
1116 libexttextcat
1117 libfreehand
1118 liblangtag
1119 ;; XXX: Perhaps this should be propagated from xmlsec.
1120 libltdl
1121 libmspub
1122 libmwaw
1123 libnumbertext
1124 libodfgen
1125 libpagemaker
1126 libqxp
1127 libstaroffice
1128 libtiff
1129 libvisio
1130 libwebp
1131 libwpg
1132 libwps
1133 libxcrypt
1134 libxrandr
1135 libxrender
1136 libxslt
1137 libxt
1138 libzmf
1139 lpsolve
1140 `(,mariadb "dev")
1141 md4c
1142 mdds
1143 mythes
1144 neon
1145 nspr
1146 nss
1147 openldap
1148 openssl
1149 orcus
1150 perl
1151 perl-archive-zip
1152 poppler
1153 postgresql
1154 python
1155 python-lxml
1156 qrcodegen-cpp
1157 redland
1158 sane
1159 unixodbc
1160 unzip
1161 vigra
1162 xdg-utils
1163 xmlsec-nss
1164 zip
1165 (list zstd "lib")
1166 zxcvbn-c
1167 zxing-cpp))
1168 (home-page "https://www.libreoffice.org/")
1169 (synopsis "Office suite")
1170 (description "LibreOffice is a comprehensive office suite. It contains
1171a number of components: Writer, a word processor; Calc, a spreadsheet
1172application; Impress, a presentation engine; Draw, a drawing and
1173flowcharting application; Base, a database and database frontend;
1174Math for editing mathematics.")
1175 (properties
1176 '((release-monitoring-url
1177 . "https://www.libreoffice.org/download/download-libreoffice/")))
1178 (license license:mpl2.0)))
1179
1180(define-public unoserver
1181 (package
1182 (name "unoserver")
1183 (version "3.7")
1184 (source
1185 (origin
1186 (method git-fetch)
1187 (uri (git-reference
1188 (url "https://github.com/unoconv/unoserver")
1189 (commit version)))
1190 (file-name (git-file-name name version))
1191 (sha256
1192 (base32 "1s0gc82r5js7bb2m1ki9vg13acqjzhd0ifn3pmxk0lkblxz12vmw"))))
1193 (build-system pyproject-build-system)
1194 (inputs (list libreoffice))
1195 (native-inputs (list python-pytest python-setuptools))
1196 (home-page "https://github.com/unoconv/unoserver")
1197 (synopsis "Server for file conversions with Libre Office")
1198 (description
1199 "This package provides a server for file conversions with Libre
1200Office. It can convert documents from any format that LibreOffice can import,
1201to any format it can export. It can be used for batch processing and can
1202apply custom style templates and filters.
1203
1204Unoserver converts between over a hundred formats, including Open Document
1205Format (@file{.odt}, @file{.ods}, @file{.odp})), Portable Document Format
1206(@file{.pdf}), HTML and XHTML, RTF, DocBook (@file{.xml}), @file{.doc} and
1207@file{.docx}), @file{.xls} and @file{.xlsx}).
1208
1209All required fonts must be installed on the converting system.")
1210 (license license:expat)))
1211
1212;; Deprecated on <2026-09-22>
1213(define-deprecated-package unoconv
1214 unoserver)