gnu: fcitx-configtool: Update to 0.4.10.
[jackhill/guix/guix.git] / gnu / packages / xml.scm
CommitLineData
d0414883 1;;; GNU Guix --- Functional package management for GNU
ed4263fc 2;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
0899144f 3;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
b715dbac 4;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
10ac0f9f 5;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
5c1cf7f3 6;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
96fd87c9 7;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
0efb6452 8;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
fe9451c5 9;;; Copyright © 2015 Raimon Grau <raimonster@gmail.com>
c74c7c13 10;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
e9f62e52 11;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
5eec378b 12;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
19c33040 13;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
4a78fd46 14;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
a040db6d 15;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
b4c9a317 16;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
f9f67fcb 17;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
5bc2d579 18;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
76fed2b3 19;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
3b695802 20;;; Copyright © 2017 Petter <petter@mykolab.ch>
767d24e8 21;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
d0414883
LC
22;;;
23;;; This file is part of GNU Guix.
24;;;
25;;; GNU Guix is free software; you can redistribute it and/or modify it
26;;; under the terms of the GNU General Public License as published by
27;;; the Free Software Foundation; either version 3 of the License, or (at
28;;; your option) any later version.
29;;;
30;;; GNU Guix is distributed in the hope that it will be useful, but
31;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33;;; GNU General Public License for more details.
34;;;
35;;; You should have received a copy of the GNU General Public License
36;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
1ffa7090 38(define-module (gnu packages xml)
f0444eaf 39 #:use-module (gnu packages)
0899144f 40 #:use-module (gnu packages autotools)
322cbda7 41 #:use-module (gnu packages compression)
58cc3b38 42 #:use-module (gnu packages gnupg)
1a17ca26 43 #:use-module (gnu packages java)
b4c9a317 44 #:use-module (gnu packages gnuzilla)
5c1cf7f3
RW
45 #:use-module (gnu packages haskell)
46 #:use-module (gnu packages haskell-check)
f0444eaf 47 #:use-module (gnu packages perl)
5ccde207 48 #:use-module (gnu packages perl-check)
f0444eaf 49 #:use-module (gnu packages python)
a7fd7b68 50 #:use-module (gnu packages tls)
ad871fc6 51 #:use-module (gnu packages web)
b5b73a82 52 #:use-module ((guix licenses) #:prefix license:)
d0414883
LC
53 #:use-module (guix packages)
54 #:use-module (guix download)
77d7b57c 55 #:use-module (guix build-system ant)
6ce212b8 56 #:use-module (guix build-system cmake)
2a1e82bb 57 #:use-module (guix build-system gnu)
37f9ff63 58 #:use-module (guix build-system perl)
7ce32242 59 #:use-module (guix build-system python)
5c1cf7f3 60 #:use-module (guix build-system haskell)
e4aab734
RW
61 #:use-module (gnu packages linux)
62 #:use-module (gnu packages pkg-config))
d0414883
LC
63
64(define-public expat
65 (package
66 (name "expat")
e5e33f90 67 (version "2.2.5")
d0414883
LC
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "mirror://sourceforge/expat/expat/"
51514e69 71 version "/expat-" version ".tar.bz2"))
d0414883
LC
72 (sha256
73 (base32
e5e33f90 74 "1xpd78sp7m34jqrw5x13bz7kgz0n6aj15wn4zj4gfx3ypbpk5p6r"))))
d0414883 75 (build-system gnu-build-system)
e5e33f90 76 (home-page "https://libexpat.github.io/")
9e771e3b 77 (synopsis "Stream-oriented XML parser library written in C")
d0414883
LC
78 (description
79 "Expat is an XML parser library written in C. It is a
80stream-oriented parser in which an application registers handlers for
81things the parser might find in the XML document (like start tags).")
82 (license license:expat)))
f0444eaf 83
5bc2d579
GG
84(define-public libebml
85 (package
86 (name "libebml")
f3d89181 87 (version "1.3.6")
5bc2d579
GG
88 (source
89 (origin
90 (method url-fetch)
91 (uri (string-append "https://dl.matroska.org/downloads/"
a040db6d 92 name "/" name "-" version ".tar.xz"))
5bc2d579
GG
93 (sha256
94 (base32
f3d89181
TGR
95 "17iynkj22rbszaymxiaq6k02qy9w4fs1appkn1iam4y441w7lnhy"))
96 (patches
97 (list
98 (origin
99 (method url-fetch)
100 (uri
101 (string-append "https://github.com/Matroska-Org/libebml/commit/"
102 "e46906b80e7662fb78d305f576412f9fa4a22218.patch"))
103 (file-name "libebml-use-limits-not-climits.patch")
104 (sha256
105 (base32
106 "1803rcj4kzg385xij8j3fcz8h86z43ivciv512zr7jp9jwrafs58")))))))
107 (build-system cmake-build-system)
108 (arguments
109 `(#:configure-flags
110 (list "-DBUILD_SHARED_LIBS=YES")
111 #:tests? #f)) ; no test suite
a040db6d 112 (home-page "https://matroska-org.github.io/libebml/")
cb778117
TGR
113 (synopsis "C++ library to parse EBML files")
114 (description "libebml is a C++ library to read and write @dfn{EBML}
115(Extensible Binary Meta Language) files. EBML was designed to be a simplified
116binary extension of XML for the purpose of storing and manipulating data in a
5bc2d579
GG
117hierarchical form with variable field lengths.")
118 (license license:lgpl2.1)))
119
f0444eaf
AE
120(define-public libxml2
121 (package
122 (name "libxml2")
1b5292ca 123 (version "2.9.8")
f0444eaf
AE
124 (source (origin
125 (method url-fetch)
126 (uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
127 version ".tar.gz"))
128 (sha256
129 (base32
1b5292ca 130 "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b"))))
f0444eaf
AE
131 (build-system gnu-build-system)
132 (home-page "http://www.xmlsoft.org/")
35b9e423 133 (synopsis "C parser for XML")
c1944c92 134 (propagated-inputs `(("zlib" ,zlib))) ; libxml2.la says '-lz'.
7ce32242 135 (native-inputs `(("perl" ,perl)))
2a8d4401
LC
136 ;; $XML_CATALOG_FILES lists 'catalog.xml' files found in under the 'xml'
137 ;; sub-directory of any given package.
74528069
LC
138 (native-search-paths (list (search-path-specification
139 (variable "XML_CATALOG_FILES")
140 (separator " ")
141 (files '("xml"))
142 (file-pattern "^catalog\\.xml$")
143 (file-type 'regular))))
2a8d4401 144 (search-paths native-search-paths)
f0444eaf 145 (description
7c125ce0
AK
146 "Libxml2 is the XML C parser and toolkit developed for the Gnome
147project (but it is usable outside of the Gnome platform).")
f0444eaf 148 (license license:x11)))
58cc3b38 149
7ce32242 150(define-public python-libxml2
e428b2c0 151 (package/inherit libxml2
7ce32242
SB
152 (name "python-libxml2")
153 (build-system python-build-system)
154 (arguments
155 `(;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
156 #:tests? #f
157 #:phases
158 (modify-phases %standard-phases
159 (add-before
160 'build 'configure
161 (lambda* (#:key inputs #:allow-other-keys)
162 (chdir "python")
163 (let ((glibc (assoc-ref inputs ,(if (%current-target-system)
164 "cross-libc" "libc")))
165 (libxml2 (assoc-ref inputs "libxml2")))
166 (substitute* "setup.py"
167 ;; For 'libxml2/libxml/tree.h'.
168 (("ROOT = r'/usr'")
169 (format #f "ROOT = r'~a'" libxml2))
170 ;; For 'iconv.h'.
171 (("/opt/include")
172 (string-append glibc "/include")))))))))
173 (inputs `(("libxml2" ,libxml2)))
174 (synopsis "Python bindings for the libxml2 library")))
175
176(define-public python2-libxml2
177 (package-with-python2 python-libxml2))
178
58cc3b38
AE
179(define-public libxslt
180 (package
181 (name "libxslt")
16cc6a9d 182 (version "1.1.32")
58cc3b38
AE
183 (source (origin
184 (method url-fetch)
185 (uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-"
186 version ".tar.gz"))
187 (sha256
188 (base32
16cc6a9d 189 "0q2l6m56iv3ysxgm2walhg4c9wp7q183jb328687i9zlp85csvjj"))
28b33172 190 (patches (search-patches "libxslt-generated-ids.patch"))))
58cc3b38
AE
191 (build-system gnu-build-system)
192 (home-page "http://xmlsoft.org/XSLT/index.html")
35b9e423 193 (synopsis "C library for applying XSLT stylesheets to XML documents")
58cc3b38
AE
194 (inputs `(("libgcrypt" ,libgcrypt)
195 ("libxml2" ,libxml2)
95288fcc 196 ("python" ,python-minimal-wrapper)
11e3f107 197 ("zlib" ,zlib)))
58cc3b38 198 (description
35b9e423 199 "Libxslt is an XSLT C library developed for the GNOME project. It is
58cc3b38
AE
200based on libxml for XML parsing, tree manipulation and XPath support.")
201 (license license:x11)))
2a1e82bb 202
0c9c9526
LF
203(define libxslt/fixed
204 (package
205 (inherit libxslt)
206 (source (origin
207 (inherit (package-source libxslt))
208 (patches (search-patches "libxslt-CVE-2016-4738.patch"
209 "libxslt-CVE-2017-5029.patch"
210 "libxslt-generated-ids.patch"))))))
211
5eec378b
BW
212(define-public perl-graph-readwrite
213 (package
214 (name "perl-graph-readwrite")
ffbc7d65 215 (version "2.09")
5eec378b
BW
216 (source
217 (origin
218 (method url-fetch)
219 (uri (string-append
220 "mirror://cpan/authors/id/N/NE/NEILB/Graph-ReadWrite-"
221 version
222 ".tar.gz"))
223 (sha256
224 (base32
ffbc7d65 225 "0jlsg64pmy6ka5q5gy851nnyfgjzvhyxc576bhns3vi2x5ng07mh"))))
5eec378b
BW
226 (build-system perl-build-system)
227 (propagated-inputs
228 `(("perl-graph" ,perl-graph)
229 ("perl-parse-yapp" ,perl-parse-yapp)
230 ("perl-xml-parser" ,perl-xml-parser)
231 ("perl-xml-writer" ,perl-xml-writer)))
232 (home-page "http://search.cpan.org/dist/Graph-ReadWrite")
233 (synopsis "Modules for reading and writing directed graphs")
234 (description "This is a collection of perl classes for reading and writing
235directed graphs in a variety of file formats. The graphs are represented in
236Perl using Jarkko Hietaniemi's @code{Graph} classes.
237
238There are two base classes. @code{Graph::Reader} is the base class for classes
239which read a graph file and create an instance of the Graph class.
240@code{Graph::Writer} is the base class for classes which take an instance of
241the @code{Graph} class and write it out in a specific file format.")
2f3108ad 242 (license license:perl-license)))
5eec378b 243
b2696a58 244(define-public perl-xml-atom
245 (package
246 (name "perl-xml-atom")
522f1995 247 (version "0.42")
b2696a58 248 (source (origin
249 (method url-fetch)
250 (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
251 "XML-Atom-" version ".tar.gz"))
252 (sha256
253 (base32
522f1995 254 "1wa8kfy1w4mg7kzxim4whyprkn48a2il6fap0b947zywknw4c6y6"))))
b2696a58 255 (build-system perl-build-system)
522f1995
MB
256 (arguments
257 `(#:phases
258 (modify-phases %standard-phases
259 (add-before 'check 'set-perl-search-path
260 (lambda _
261 (setenv "PERL5LIB"
262 (string-append (getcwd) ":"
263 (getenv "PERL5LIB")))
264 #t)))))
b2696a58 265 (native-inputs
50632f0a
TGR
266 ;; TODO package: perl-datetime-format-atom
267 `(("perl-html-tagset" ,perl-html-tagset)
522f1995 268 ("perl-module-build-tiny" ,perl-module-build-tiny)
50632f0a
TGR
269 ("perl-module-install" ,perl-module-install)))
270 (propagated-inputs
b2696a58 271 `(("perl-class-data-inheritable" ,perl-class-data-inheritable)
272 ("perl-datetime" ,perl-datetime)
273 ("perl-datetime-timezone" ,perl-datetime-timezone)
274 ("perl-digest-sha1" ,perl-digest-sha1)
275 ("perl-libwww" ,perl-libwww)
276 ("perl-uri" ,perl-uri)
277 ("perl-xml-libxml" ,perl-xml-libxml)
278 ("perl-xml-xpath" ,perl-xml-xpath)))
279 (home-page "http://search.cpan.org/dist/XML-Atom")
280 (synopsis "Atom feed and API implementation")
281 (description
282 "Atom is a syndication, API, and archiving format for weblogs and other data.
283@code{XML::Atom} implements the feed format as well as a client for the API.")
2f3108ad 284 (license license:perl-license)))
b2696a58 285
d66fa696
MB
286(define-public perl-xml-descent
287 (package
288 (name "perl-xml-descent")
289 (version "1.04")
290 (source (origin
291 (method url-fetch)
292 (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
293 "XML-Descent-" version ".tar.gz"))
294 (sha256
295 (base32
296 "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
297 (build-system perl-build-system)
298 (native-inputs
299 `(("perl-module-build" ,perl-module-build)))
300 (propagated-inputs
301 `(("perl-test-differences" ,perl-test-differences)
302 ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
303 (home-page "http://search.cpan.org/dist/XML-Descent")
304 (synopsis "Recursive descent XML parsing")
305 (description
306 "The conventional models for parsing XML are either @dfn{DOM}
307(a data structure representing the entire document tree is created) or
308@dfn{SAX} (callbacks are issued for each element in the XML).
309
310XML grammar is recursive - so it's nice to be able to write recursive
311parsers for it. @code{XML::Descent} allows such parsers to be created.")
2f3108ad 312 (license license:perl-license)))
d66fa696 313
2a1e82bb
LC
314(define-public perl-xml-parser
315 (package
316 (name "perl-xml-parser")
d495634b 317 (version "2.44")
2a1e82bb
LC
318 (source (origin
319 (method url-fetch)
320 (uri (string-append
2b8c5f54 321 "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-"
2a1e82bb
LC
322 version ".tar.gz"))
323 (sha256
324 (base32
d495634b 325 "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"))))
2a1e82bb
LC
326 (build-system perl-build-system)
327 (arguments `(#:make-maker-flags
328 (let ((expat (assoc-ref %build-inputs "expat")))
329 (list (string-append "EXPATLIBPATH=" expat "/lib")
330 (string-append "EXPATINCPATH=" expat "/include")))))
331 (inputs `(("expat" ,expat)))
2f3108ad 332 (license license:perl-license)
2a1e82bb
LC
333 (synopsis "Perl bindings to the Expat XML parsing library")
334 (description
335 "This module provides ways to parse XML documents. It is built on top of
336XML::Parser::Expat, which is a lower level interface to James Clark's expat
337library. Each call to one of the parsing methods creates a new instance of
338XML::Parser::Expat which is then used to parse the document. Expat options
339may be provided when the XML::Parser object is created. These options are
340then passed on to the Expat object on each parse call. They can also be given
341as extra arguments to the parse methods, in which case they override options
342given at XML::Parser creation time.")
d495634b 343 (home-page "http://search.cpan.org/dist/XML-Parser")))
37f9ff63 344
62b28f19
MB
345(define-public perl-xml-tokeparser
346 (package
347 (name "perl-xml-tokeparser")
348 (version "0.05")
349 (source (origin
350 (method url-fetch)
351 (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/"
352 "XML-TokeParser-" version ".tar.gz"))
353 (sha256
354 (base32
355 "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
356 (build-system perl-build-system)
357 (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
358 (home-page "http://search.cpan.org/dist/XML-TokeParser")
359 (synopsis "Simplified interface to XML::Parser")
360 (description
361 "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
362to @code{XML::Parser} in much the same way that Gisle Aas'
363@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}.
364@code{XML::TokeParser} splits its XML input up into \"tokens\", each
365corresponding to an @code{XML::Parser} event.")
2f3108ad 366 (license license:perl-license)))
62b28f19 367
7339fbe2 368(define-public perl-libxml
1385ba4f 369 (package
7339fbe2 370 (name "perl-libxml")
1385ba4f
AE
371 (version "0.08")
372 (source (origin
373 (method url-fetch)
374 (uri (string-append
375 "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-"
376 version ".tar.gz"))
377 (sha256
378 (base32
379 "1jy9af0ljyzj7wakqli0437zb2vrbplqj4xhab7bfj2xgfdhawa5"))))
380 (build-system perl-build-system)
7b81406a 381 (propagated-inputs
1385ba4f 382 `(("perl-xml-parser" ,perl-xml-parser)))
2f3108ad 383 (license license:perl-license)
1385ba4f
AE
384 (synopsis "Perl SAX parser using XML::Parser")
385 (description
386 "XML::Parser::PerlSAX is a PerlSAX parser using the XML::Parser
387module.")
388 (home-page "http://search.cpan.org/~kmacleod/libxml-perl/lib/XML/Parser/PerlSAX.pm")))
389
3dd6bee1
EB
390(define-public perl-xml-libxml
391 (package
392 (name "perl-xml-libxml")
58ade302 393 (version "2.0132")
3dd6bee1
EB
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
398 "XML-LibXML-" version ".tar.gz"))
399 (sha256
400 (base32
58ade302 401 "0xnl281hb590i287fxpl947f1s4zl9dnvc4ajvsqi89w23im453j"))))
3dd6bee1
EB
402 (build-system perl-build-system)
403 (propagated-inputs
404 `(("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
405 ("perl-xml-sax" ,perl-xml-sax)))
406 (inputs
407 `(("libxml2" ,libxml2)))
408 (home-page "http://search.cpan.org/dist/XML-LibXML")
409 (synopsis "Perl interface to libxml2")
410 (description "This module implements a Perl interface to the libxml2
54c3c140 411library which provides interfaces for parsing and manipulating XML files. This
3dd6bee1
EB
412module allows Perl programmers to make use of the highly capable validating
413XML parser and the high performance DOM implementation.")
2f3108ad 414 (license license:perl-license)))
3dd6bee1 415
f7c4dc2f
RW
416(define-public perl-xml-libxml-simple
417 (package
418 (name "perl-xml-libxml-simple")
f3aa34cc 419 (version "0.97")
f7c4dc2f
RW
420 (source (origin
421 (method url-fetch)
422 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
423 "XML-LibXML-Simple-" version ".tar.gz"))
424 (sha256
425 (base32
f3aa34cc 426 "1g8nlk3zdz2cclxf7azvsb3jfxmvy6ml8wmj774k4qjqcsqmzk0w"))))
f7c4dc2f
RW
427 (build-system perl-build-system)
428 (propagated-inputs
429 `(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
430 ("perl-xml-libxml" ,perl-xml-libxml)))
431 (home-page "http://search.cpan.org/dist/XML-LibXML-Simple")
432 (synopsis "XML::LibXML based XML::Simple clone")
433 (description
434 "This package provides the same API as @code{XML::Simple} but is based on
435@code{XML::LibXML}.")
2f3108ad 436 (license license:perl-license)))
f7c4dc2f 437
93863a5e
RW
438(define-public perl-xml-libxslt
439 (package
440 (name "perl-xml-libxslt")
73a3e98f 441 (version "1.96")
93863a5e
RW
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
446 "XML-LibXSLT-" version ".tar.gz"))
447 (sha256
448 (base32
73a3e98f 449 "0wyl8klgr65j8y8fzgwz9jlvfjwvxazna8j3dg9gksd2v973fpia"))))
93863a5e
RW
450 (build-system perl-build-system)
451 (inputs
452 `(("libxslt" ,libxslt)))
453 (propagated-inputs
454 `(("perl-xml-libxml" ,perl-xml-libxml)))
455 (home-page "http://search.cpan.org/dist/XML-LibXSLT")
456 (synopsis "Perl bindings to GNOME libxslt library")
457 (description "This Perl module is an interface to the GNOME project's
458libxslt library.")
2f3108ad 459 (license license:perl-license)))
93863a5e 460
b715dbac
EB
461(define-public perl-xml-namespacesupport
462 (package
463 (name "perl-xml-namespacesupport")
88958ee0 464 (version "1.12")
b715dbac
EB
465 (source
466 (origin
467 (method url-fetch)
468 (uri (string-append "mirror://cpan/authors/id/P/PE/PERIGRIN/"
469 "XML-NamespaceSupport-" version ".tar.gz"))
470 (sha256
471 (base32
88958ee0 472 "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7"))))
b715dbac
EB
473 (build-system perl-build-system)
474 (home-page "http://search.cpan.org/dist/XML-NamespaceSupport")
475 (synopsis "XML namespace support class")
476 (description "This module offers a simple to process namespaced XML
477names (unames) from within any application that may need them. It also helps
478maintain a prefix to namespace URI map, and provides a number of basic
479checks.")
2f3108ad 480 (license license:perl-license)))
b715dbac 481
a022b23f 482(define-public perl-xml-rss
483 (package
484 (name "perl-xml-rss")
b5de208e 485 (version "1.60")
a022b23f 486 (source (origin
487 (method url-fetch)
488 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
489 "XML-RSS-" version ".tar.gz"))
490 (sha256
491 (base32
b5de208e 492 "0xw6aaqka3vqwbv152sbh6fbi8j306q1gvg7v83br8miif3mjcsb"))))
a022b23f 493 (build-system perl-build-system)
494 (native-inputs
495 `(("perl-module-build" ,perl-module-build)
496 ("perl-test-manifest" ,perl-test-manifest)
497 ("perl-test-differences" ,perl-test-differences)
498 ("perl-test-pod" ,perl-test-pod)
499 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
500 ;; XXX: The test which uses this modules does not run, even when it is included
501 ;; it is ignored. ("perl-test-trailingspace" ,perl-test-trailingspace)
502 (inputs
503 `(("perl-datetime" ,perl-datetime)
504 ("perl-datetime-format-mail" ,perl-datetime-format-mail)
505 ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
506 ("perl-html-parser" ,perl-html-parser)
507 ("perl-xml-parser" ,perl-xml-parser)))
508 (home-page "http://search.cpan.org/dist/XML-RSS")
509 (synopsis "Creates and updates RSS files")
510 (description
511 "This module provides a basic framework for creating and maintaining
512RDF Site Summary (RSS) files. This distribution also contains many examples
513that allow you to generate HTML from an RSS, convert between 0.9, 0.91, and
5141.0 version, and more.")
2f3108ad 515 (license license:perl-license)))
a022b23f 516
18b8bbb3
EB
517(define-public perl-xml-sax
518 (package
519 (name "perl-xml-sax")
14eb5434 520 (version "1.00")
18b8bbb3
EB
521 (source
522 (origin
523 (method url-fetch)
524 (uri (string-append "mirror://cpan/authors/id/G/GR/GRANTM/"
525 "XML-SAX-" version ".tar.gz"))
526 (sha256
527 (base32
14eb5434 528 "1qra9k3wszjxvsgbragl55z3qba4nri0ipmjaxfib4l6xxj6bsj5"))))
18b8bbb3
EB
529 (build-system perl-build-system)
530 (propagated-inputs
531 `(("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
532 ("perl-xml-sax-base" ,perl-xml-sax-base)))
533 (arguments
534 `(#:phases (modify-phases %standard-phases
535 (add-before
40b084a3 536 'install 'augment-path
18b8bbb3
EB
537 ;; The install target tries to load the newly-installed
538 ;; XML::SAX module, but can't find it, so we need to tell
539 ;; perl where to look.
540 (lambda* (#:key outputs #:allow-other-keys)
541 (setenv "PERL5LIB"
542 (string-append (getenv "PERL5LIB") ":"
543 (assoc-ref outputs "out")
544 "/lib/perl5/site_perl")))))))
545 (home-page "http://search.cpan.org/dist/XML-SAX")
546 (synopsis "Perl API for XML")
547 (description "XML::SAX consists of several framework classes for using and
548building Perl SAX2 XML parsers, filters, and drivers.")
2f3108ad 549 (license license:perl-license)))
18b8bbb3 550
1ed6d5bc
EB
551(define-public perl-xml-sax-base
552 (package
553 (name "perl-xml-sax-base")
fa964e96 554 (version "1.09")
1ed6d5bc
EB
555 (source
556 (origin
557 (method url-fetch)
558 (uri (string-append "mirror://cpan/authors/id/G/GR/GRANTM/"
559 "XML-SAX-Base-" version ".tar.gz"))
560 (sha256
561 (base32
fa964e96 562 "1l1ai9g1z11ja7mvnfl5mj346r13jyckbg9qlw6c2izglidkbjv6"))))
1ed6d5bc
EB
563 (build-system perl-build-system)
564 (home-page "http://search.cpan.org/dist/XML-SAX-Base")
565 (synopsis "Base class for SAX Drivers and Filters")
566 (description "This module has a very simple task - to be a base class for
567PerlSAX drivers and filters. It's default behaviour is to pass the input
568directly to the output unchanged. It can be useful to use this module as a
569base class so you don't have to, for example, implement the characters()
570callback.")
2f3108ad 571 (license license:perl-license)))
1ed6d5bc 572
535dc6cf
AE
573(define-public perl-xml-simple
574 (package
575 (name "perl-xml-simple")
fa3fff43 576 (version "2.25")
535dc6cf
AE
577 (source (origin
578 (method url-fetch)
579 (uri (string-append
580 "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-"
581 version ".tar.gz"))
582 (sha256
583 (base32
fa3fff43 584 "1y6vh328zrh085d40852v4ij2l4g0amxykswxd1nfhd2pspds7sk"))))
535dc6cf 585 (build-system perl-build-system)
27ef7f45 586 (propagated-inputs
e831256f
EF
587 `(("perl-xml-parser" ,perl-xml-parser)
588 ("perl-xml-sax" ,perl-xml-sax)))
2f3108ad 589 (license license:perl-license)
535dc6cf
AE
590 (synopsis "Perl module for easy reading/writing of XML files")
591 (description
592 "The XML::Simple module provides a simple API layer on top of an
593underlying XML parsing module (either XML::Parser or one of the SAX2
594parser modules).")
e831256f 595 (home-page "http://search.cpan.org/dist/XML-Simple")))
535dc6cf 596
a2e520af
AE
597(define-public perl-xml-regexp
598 (package
599 (name "perl-xml-regexp")
600 (version "0.04")
601 (source (origin
602 (method url-fetch)
603 (uri (string-append
604 "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-"
605 version ".tar.gz"))
606 (sha256
607 (base32
608 "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz"))))
609 (build-system perl-build-system)
610 (inputs
611 `(("perl-xml-parser" ,perl-xml-parser)))
2f3108ad 612 (license license:perl-license)
a2e520af
AE
613 (synopsis "Perl regular expressions for XML tokens")
614 (description
615 "XML::RegExp contains regular expressions for the following XML tokens:
616BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar, NameChar,
617EntityRef, CharRef, Reference, Name, NmToken, and AttValue.")
618 (home-page "http://search.cpan.org/~tjmather/XML-RegExp/lib/XML/RegExp.pm")))
619
ad871fc6
AE
620(define-public perl-xml-dom
621 (package
622 (name "perl-xml-dom")
4e5465f2 623 (version "1.46")
ad871fc6
AE
624 (source (origin
625 (method url-fetch)
626 (uri (string-append
627 "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-"
628 version ".tar.gz"))
629 (sha256
630 (base32
4e5465f2 631 "0phpkc4li43m2g44hdcvyxzy9pymqwlqhh5hwp2xc0cv8l5lp8lb"))))
ad871fc6 632 (build-system perl-build-system)
f7faff88
AE
633 (propagated-inputs
634 `(("perl-libwww" ,perl-libwww)
ad871fc6 635 ("perl-libxml" ,perl-libxml)
4e5465f2 636 ("perl-xml-parser" ,perl-xml-parser)
ad871fc6 637 ("perl-xml-regexp" ,perl-xml-regexp)))
2f3108ad 638 (license license:perl-license)
ad871fc6
AE
639 (synopsis
640 "Perl module for building DOM Level 1 compliant document structures")
641 (description
642 "This module extends the XML::Parser module by Clark Cooper. The
643XML::Parser module is built on top of XML::Parser::Expat, which is a lower
644level interface to James Clark's expat library. XML::DOM::Parser is derived
645from XML::Parser. It parses XML strings or files and builds a data structure
646that conforms to the API of the Document Object Model.")
647 (home-page "http://search.cpan.org/~tjmather/XML-DOM-1.44/lib/XML/DOM.pm")))
648
649e1676
RW
649(define-public perl-xml-compile-tester
650 (package
651 (name "perl-xml-compile-tester")
9af5a513 652 (version "0.91")
649e1676
RW
653 (source (origin
654 (method url-fetch)
655 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
656 "XML-Compile-Tester-" version ".tar.gz"))
657 (sha256
658 (base32
9af5a513 659 "1drzwziwi96rfkh48qpw4l225mcbk8ppl2157nj92cslcpwwdk75"))))
649e1676
RW
660 (build-system perl-build-system)
661 (propagated-inputs
662 `(("perl-log-report" ,perl-log-report)
663 ("perl-test-deep" ,perl-test-deep)))
664 (home-page "http://search.cpan.org/dist/XML-Compile-Tester")
665 (synopsis "XML::Compile related regression testing")
666 (description
667 "The @code{XML::Compile} module suite has extensive regression testing.
668This module provide functions which simplify writing tests for
669@code{XML::Compile} related distributions.")
2f3108ad 670 (license license:perl-license)))
649e1676 671
b494a5f1
RW
672(define-public perl-xml-compile
673 (package
674 (name "perl-xml-compile")
18c832b0 675 (version "1.54")
b494a5f1
RW
676 (source (origin
677 (method url-fetch)
678 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
679 "XML-Compile-" version ".tar.gz"))
680 (sha256
681 (base32
18c832b0 682 "1hp41960bpqxvv1samv9hc0ghhmvs3i16r4rfl9yp54lp6jhsr2c"))))
b494a5f1
RW
683 (build-system perl-build-system)
684 (propagated-inputs
685 `(("perl-log-report" ,perl-log-report)
686 ("perl-xml-compile-tester" ,perl-xml-compile-tester)
687 ("perl-xml-libxml" ,perl-xml-libxml)
688 ("perl-test-deep" ,perl-test-deep)))
689 (home-page "http://search.cpan.org/dist/XML-Compile")
690 (synopsis "Compilation-based XML processing")
691 (description
692 "@code{XML::Compile} can be used to translate a Perl data-structure into
693XML or XML into a Perl data-structure, both directions under rigid control by
694a schema.")
2f3108ad 695 (license license:perl-license)))
b494a5f1 696
c1d41b5d
RW
697(define-public perl-xml-compile-cache
698 (package
699 (name "perl-xml-compile-cache")
503a0059 700 (version "1.06")
c1d41b5d
RW
701 (source (origin
702 (method url-fetch)
703 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
704 "XML-Compile-Cache-" version ".tar.gz"))
705 (sha256
706 (base32
503a0059 707 "181qf1s7ymgi7saph3cf9p6dbxkxyh1ja23na4dchhi8v5mi66sr"))))
c1d41b5d
RW
708 (build-system perl-build-system)
709 (propagated-inputs
710 `(("perl-log-report" ,perl-log-report)
711 ("perl-xml-compile" ,perl-xml-compile)
712 ("perl-xml-compile-tester" ,perl-xml-compile-tester)
713 ("perl-xml-libxml-simple" ,perl-xml-libxml-simple)))
714 (home-page "http://search.cpan.org/dist/XML-Compile-Cache")
715 (synopsis "Cache compiled XML translators")
716 (description
717 "This package provides methods to cache compiled XML translators.")
2f3108ad 718 (license license:perl-license)))
c1d41b5d 719
baeab9b8
RW
720(define-public perl-xml-compile-soap
721 (package
722 (name "perl-xml-compile-soap")
1d9b041c 723 (version "3.24")
baeab9b8
RW
724 (source (origin
725 (method url-fetch)
726 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
727 "XML-Compile-SOAP-" version ".tar.gz"))
728 (sha256
729 (base32
1d9b041c 730 "0pkcph562l2ij7rlwlvm58v6y062qsbydfpaz2qnph2ixqy0xfd1"))))
baeab9b8
RW
731 (build-system perl-build-system)
732 (propagated-inputs
733 `(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
734 ("perl-libwww" ,perl-libwww)
735 ("perl-log-report" ,perl-log-report)
736 ("perl-xml-compile" ,perl-xml-compile)
737 ("perl-xml-compile-cache" ,perl-xml-compile-cache)
738 ("perl-xml-compile-tester" ,perl-xml-compile-tester)))
739 (home-page "http://search.cpan.org/dist/XML-Compile-SOAP")
740 (synopsis "Base-class for SOAP implementations")
741 (description
742 "This module provides a class to handle the SOAP protocol. The first
743implementation is @url{SOAP1.1,
744http://www.w3.org/TR/2000/NOTE-SOAP-20000508/}, which is still most often
745used.")
2f3108ad 746 (license license:perl-license)))
baeab9b8 747
6a914948
RW
748(define-public perl-xml-compile-wsdl11
749 (package
750 (name "perl-xml-compile-wsdl11")
4b4a4f5c 751 (version "3.07")
6a914948
RW
752 (source (origin
753 (method url-fetch)
754 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
755 "XML-Compile-WSDL11-" version ".tar.gz"))
756 (sha256
757 (base32
4b4a4f5c 758 "09ayl442hzvn97q4ghn5rz4r82dm9w3l69hixhb29h9xq9ysi7ba"))))
6a914948
RW
759 (build-system perl-build-system)
760 (propagated-inputs
761 `(("perl-log-report" ,perl-log-report)
762 ("perl-xml-compile" ,perl-xml-compile)
763 ("perl-xml-compile-cache" ,perl-xml-compile-cache)
764 ("perl-xml-compile-soap" ,perl-xml-compile-soap)))
765 (home-page "http://search.cpan.org/dist/XML-Compile-WSDL11")
766 (synopsis "Create SOAP messages defined by WSDL 1.1")
767 (description
768 "This module understands WSDL version 1.1. A WSDL file defines a set of
769messages to be send and received over SOAP connections. This involves
770encoding of the message to be send into XML, sending the message to the
771server, collect the answer, and finally decoding the XML to Perl.")
2f3108ad 772 (license license:perl-license)))
6a914948 773
246455c2 774(define-public perl-xml-feed
775 (package
776 (name "perl-xml-feed")
777 (version "0.53")
778 (source (origin
779 (method url-fetch)
780 (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
781 "XML-Feed-" version ".tar.gz"))
782 (sha256
783 (base32
784 "07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c"))))
785 (build-system perl-build-system)
786 (arguments
787 `(#:tests? #f)) ; Tests require internet connection
788 (native-inputs
789 `(("perl-module-build" ,perl-module-build)
790 ("perl-uri" ,perl-uri)
791 ("perl-class-data-inheritable" ,perl-class-data-inheritable)))
792 (inputs
793 `(("perl-class-errorhandler" ,perl-class-errorhandler)
794 ("perl-datetime" ,perl-datetime)
795 ("perl-datetime-format-mail" ,perl-datetime-format-mail)
796 ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
797 ("perl-feed-find" ,perl-feed-find)
798 ("perl-html-parser" ,perl-html-parser)
799 ("perl-libwww-perl" ,perl-libwww)
800 ("perl-module-pluggable" ,perl-module-pluggable)
801 ("perl-uri-fetch" ,perl-uri-fetch)
802 ("perl-xml-atom" ,perl-xml-atom)
803 ("perl-xml-libxml" ,perl-xml-libxml)
804 ("perl-xml-rss" ,perl-xml-rss)))
805 (home-page "http://search.cpan.org/dist/XML-Feed")
806 (synopsis "XML Syndication Feed Support")
807 (description "@code{XML::Feed} is a syndication feed parser for both RSS and
808Atom feeds. It also implements feed auto-discovery for finding feeds, given a URI.
809@code{XML::Feed} supports the following syndication feed formats:
810RSS 0.91, RSS 1.0, RSS 2.0, Atom")
2f3108ad 811 (license license:perl-license)))
246455c2 812
0c1bab36 813(define-public perl-xml-xpath
814 (package
815 (name "perl-xml-xpath")
26d66a51 816 (version "1.42")
0c1bab36 817 (source (origin
818 (method url-fetch)
819 (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
820 "XML-XPath-" version ".tar.gz"))
821 (sha256
822 (base32
26d66a51 823 "04mm91kxav598ax7nlg81dhnvanwvg6bkf30l0cgkmga5iyccsly"))))
0c1bab36 824 (build-system perl-build-system)
825 (native-inputs
826 `(("perl-path-tiny" ,perl-path-tiny)))
9332d706 827 (propagated-inputs
0c1bab36 828 `(("perl-xml-parser" ,perl-xml-parser)))
829 (home-page "http://search.cpan.org/dist/XML-XPath")
830 (synopsis "Parse and evaluate XPath statements")
831 (description
832 "This module aims to comply exactly to the @url{XPath specification,
833https://www.w3.org/TR/xpath} and yet allow extensions to be added in
834the form of functions.")
2f3108ad 835 (license license:perl-license)))
0c1bab36 836
6ce212b8
RW
837(define-public pugixml
838 (package
839 (name "pugixml")
727ffbd5 840 (version "1.9")
6ce212b8
RW
841 (source
842 (origin
843 (method url-fetch)
0562a81e
EF
844 (uri (string-append "https://github.com/zeux/pugixml/releases/download/v"
845 version "/pugixml-" version ".tar.gz"))
6ce212b8
RW
846 (sha256
847 (base32
727ffbd5 848 "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"))))
6ce212b8
RW
849 (build-system cmake-build-system)
850 (arguments
52c14bb6
RJ
851 `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC"
852 "-DCMAKE_C_FLAGS=-shared -fPIC")
853 #:tests? #f)) ; no tests
28655227 854 (home-page "https://pugixml.org")
6ce212b8
RW
855 (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
856 (description
857 "pugixml is a C++ XML processing library, which consists of a DOM-like
858interface with rich traversal/modification capabilities, a fast XML parser
859which constructs the DOM tree from an XML file/buffer, and an XPath 1.0
860implementation for complex data-driven tree queries. Full Unicode support is
861also available, with Unicode interface variants and conversions between
862different Unicode encodings which happen automatically during
863parsing/saving.")
864 (license license:expat)))
865
c2efe1ae
MB
866(define-public python-pyxb
867 (package
868 (name "python-pyxb")
4ef6cfef 869 (version "1.2.6")
c2efe1ae
MB
870 (source (origin
871 (method url-fetch)
872 (uri (pypi-uri "PyXB" version))
873 (sha256
874 (base32
4ef6cfef 875 "1d17pyixbfvjyi2lb0cfp0ch8wwdf44mmg3r5pwqhyyqs66z601a"))))
c2efe1ae
MB
876 (build-system python-build-system)
877 (home-page "http://pyxb.sourceforge.net/")
878 (synopsis "Python XML Schema Bindings")
879 (description
880 "PyXB (\"pixbee\") is a pure Python package that generates Python source
881code for classes that correspond to data structures defined by XMLSchema.")
882 (license (list license:asl2.0 ; Most files.
883 license:expat ; pyxb/utils/six.py
884 license:gpl2 ; bundled jquery in doc is dual MIT/GPL2
885 license:psfl)))) ; pyxb/utils/activestate.py
886
887(define-public python2-pyxb
888 (package-with-python2 python-pyxb))
889
37f9ff63
AE
890(define-public xmlto
891 (package
892 (name "xmlto")
877a6466 893 (version "0.0.28")
37f9ff63
AE
894 (source
895 (origin
896 (method url-fetch)
7bc19c92
LF
897 ;; The old source on fedorahosted.org is offline permanently:
898 ;; <https://bugs.gnu.org/25989>
899 (uri (string-append "mirror://debian/pool/main/x/xmlto/"
900 "xmlto_" version ".orig.tar.bz2"))
901 (file-name (string-append name "-" version ".tar.bz2"))
37f9ff63
AE
902 (sha256
903 (base32
877a6466 904 "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i"))))
37f9ff63 905 (build-system gnu-build-system)
ae0c1202
LC
906 (arguments
907 ;; Make sure the reference to util-linux's 'getopt' is kept in 'xmlto'.
908 '(#:configure-flags (list (string-append "GETOPT="
909 (assoc-ref %build-inputs
910 "util-linux")
911 "/bin/getopt"))))
37f9ff63 912 (inputs
ae0c1202
LC
913 `(("util-linux" ,util-linux) ; for 'getopt'
914 ("libxml2" ,libxml2) ; for 'xmllint'
915 ("libxslt" ,libxslt))) ; for 'xsltproc'
37f9ff63
AE
916 (home-page "http://cyberelk.net/tim/software/xmlto/")
917 (synopsis "Front-end to an XSL toolchain")
918 (description
919 "Xmlto is a front-end to an XSL toolchain. It chooses an appropriate
920stylesheet for the conversion you want and applies it using an external
921XSL-T processor. It also performs any necessary post-processing.")
922 (license license:gpl2+)))
0899144f
AE
923
924(define-public xmlsec
925 (package
926 (name "xmlsec")
33031faa 927 (version "1.2.26")
0899144f
AE
928 (source (origin
929 (method url-fetch)
930 (uri (string-append "https://www.aleksey.com/xmlsec/download/"
931 name "1-" version ".tar.gz"))
932 (sha256
933 (base32
33031faa 934 "0l1dk344rn3j2vnj13daz72xd8j1msvzhg82n2il5ji0qz4pd0ld"))))
0899144f
AE
935 (build-system gnu-build-system)
936 (propagated-inputs ; according to xmlsec1.pc
937 `(("libxml2" ,libxml2)
938 ("libxslt" ,libxslt)))
939 (inputs
940 `(("gnutls" ,gnutls)
941 ("libgcrypt" ,libgcrypt)
942 ("libltdl" ,libltdl)))
e4aab734
RW
943 (native-inputs
944 `(("pkg-config" ,pkg-config)))
a5b570b4 945 (home-page "https://www.aleksey.com/xmlsec/")
0899144f
AE
946 (synopsis "XML Security Library")
947 (description
948 "The XML Security Library is a C library based on Libxml2. It
949supports XML security standards such as XML Signature, XML Encryption,
950Canonical XML (part of Libxml2) and Exclusive Canonical XML (part of
951Libxml2).")
952 (license (license:x11-style "file://COPYING"
953 "See 'COPYING' in the distribution."))))
96f8d991 954
b4c9a317
MB
955(define-public xmlsec-nss
956 (package
957 (inherit xmlsec)
958 (name "xmlsec-nss")
959 (inputs
960 `(("nss" ,nss)
961 ("libltdl" ,libltdl)))
962 (synopsis "XML Security Library (using NSS instead of GnuTLS)")))
963
96f8d991
RW
964(define-public minixml
965 (package
966 (name "minixml")
b7cbcee5 967 (version "2.11")
96f8d991 968 (source (origin
b7cbcee5 969 (method url-fetch/tarbomb)
eba9ecd4 970 (uri (string-append "https://github.com/michaelrsweet/mxml/"
b7cbcee5 971 "releases/download/v" version
eba9ecd4 972 "/mxml-" version ".tar.gz"))
96f8d991
RW
973 (sha256
974 (base32
b7cbcee5 975 "13xsw8vvkxd10vca42ccdyl9rs64lcvhbfz57aknpl3xcfn8mxma"))))
96f8d991
RW
976 (build-system gnu-build-system)
977 (arguments
b7cbcee5
TGR
978 `(#:phases
979 (modify-phases %standard-phases
980 (add-after 'unpack 'fix-permissions
981 ;; FIXME: url-fetch/tarbomb resets all permissions to 555/444.
982 (lambda _
983 (for-each
984 (lambda (file)
985 (chmod file #o644))
986 (find-files "doc" "\\."))
987 #t)))
988 #:tests? #f)) ; tests are run during build
eba9ecd4 989 (home-page "https://michaelrsweet.github.io/mxml")
96f8d991
RW
990 (synopsis "Small XML parsing library")
991 (description
992 "Mini-XML is a small C library to read and write XML files and strings in
993UTF-8 and UTF-16 encoding.")
994 ;; LGPL 2.0+ with additional exceptions for static linking
995 (license license:lgpl2.0+)))
33ae9107
DT
996
997;; TinyXML is an unmaintained piece of software, so the patches and build
998;; system massaging have no upstream potential.
999(define-public tinyxml
1000 (package
1001 (name "tinyxml")
1002 (version "2.6.2")
1003 (source (origin
1004 (method url-fetch)
de67e922
LF
1005 (uri (string-append "mirror://sourceforge/tinyxml/tinyxml/"
1006 version "/tinyxml_"
33ae9107
DT
1007 (string-join (string-split version #\.) "_")
1008 ".tar.gz"))
671249b9 1009 (file-name (string-append name "-" version ".tar.gz"))
33ae9107
DT
1010 (sha256
1011 (base32
1012 "14smciid19lvkxqznfig77jxn5s4iq3jpb47vh5a6zcaqp7gvg8m"))
fc1adab1 1013 (patches (search-patches "tinyxml-use-stl.patch"))))
33ae9107
DT
1014 (build-system gnu-build-system)
1015 ;; This library is missing *a lot* of the steps to make it usable, so we
1016 ;; have to add them here, like every other distro must do.
1017 (arguments
1018 `(#:phases
1019 (modify-phases %standard-phases
1020 (delete 'configure)
1021 (add-after 'build 'build-shared-library
1022 (lambda _
0efb6452
EF
1023 (invoke "g++" "-Wall" "-O2" "-shared" "-fpic"
1024 "tinyxml.cpp" "tinyxmlerror.cpp"
1025 "tinyxmlparser.cpp" "tinystr.cpp"
1026 "-o" "libtinyxml.so")))
33ae9107 1027 (replace 'check
0efb6452 1028 (lambda _ (invoke "./xmltest")))
33ae9107
DT
1029 (replace 'install
1030 (lambda* (#:key outputs #:allow-other-keys)
1031 (let* ((out (assoc-ref outputs "out"))
1032 (include (string-append out "/include"))
1033 (lib (string-append out "/lib"))
1034 (pkgconfig (string-append out "/lib/pkgconfig"))
1035 (doc (string-append out "/share/doc")))
1036 ;; Install libs and headers.
1037 (install-file "libtinyxml.so" lib)
1038 (install-file "tinystr.h" include)
1039 (install-file "tinyxml.h" include)
1040 ;; Generate and install pkg-config file.
1041 (mkdir-p pkgconfig)
1042 ;; Software such as Kodi expect this file to be present, but
1043 ;; it's not provided in the source code.
1044 (call-with-output-file (string-append pkgconfig "/tinyxml.pc")
1045 (lambda (port)
1046 (format port "prefix=~a
1047exec_prefix=${prefix}
1048libdir=${exec_prefix}/lib
1049includedir=${prefix}/include
1050
1051Name: TinyXML
1052Description: A simple, small, C++ XML parser
1053Version: ~a
1054Libs: -L${libdir} -ltinyxml
1055Cflags: -I${includedir}
1056"
1057 out ,version)))
1058 ;; Install docs.
1059 (mkdir-p doc)
1060 (copy-recursively "docs" (string-append doc "tinyxml"))
1061 #t))))))
1062 (synopsis "Small XML parser for C++")
1063 (description "TinyXML is a small and simple XML parsing library for the
05077200 1064C++ programming language.")
33ae9107
DT
1065 (home-page "http://www.grinninglizard.com/tinyxml/index.html")
1066 (license license:zlib)))
fe9451c5 1067
931bd7f6
TGR
1068(define-public tinyxml2
1069 (package
1070 (name "tinyxml2")
1071 (version "4.0.1")
1072 (source
1073 (origin
1074 (method url-fetch)
1075 (uri (string-append "https://github.com/leethomason/tinyxml2/archive/"
1076 version ".tar.gz"))
29a39054 1077 (file-name (string-append name "-" version ".tar.gz"))
931bd7f6 1078 (sha256
29a39054
EF
1079 (base32
1080 "083z4r4khcndxi9k840lcr48sqxvar4gpsnf749xfdn1bkr8xcql"))))
931bd7f6
TGR
1081 (build-system cmake-build-system)
1082 (arguments
1083 `(#:tests? #f)) ; no tests
1084 (synopsis "Small XML parser for C++")
1085 (description "TinyXML2 is a small and simple XML parsing library for the
1086C++ programming language.")
1087 (home-page "http://www.grinninglizard.com/tinyxml2/")
1088 (license license:zlib)))
1089
fe9451c5
RG
1090(define-public xmlstarlet
1091 (package
1092 (name "xmlstarlet")
1093 (version "1.6.1")
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append "mirror://sourceforge/xmlstar/xmlstarlet/"
1098 version "/xmlstarlet-" version ".tar.gz"))
1099 (sha256
1100 (base32
1101 "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m"))))
1102 (build-system gnu-build-system)
22ea0235
MB
1103 (arguments
1104 '(#:phases
1105 (modify-phases %standard-phases
1106 (add-before 'check 'drop-failing-tests
1107 (lambda _
1108 ;; FIXME: Why are these tests failing.
1109 (substitute* "Makefile"
1110 (("^examples/schema1\\\\") "\\")
1111 (("^examples/valid1\\\\") "\\"))
1112 #t)))))
fe9451c5
RG
1113 (inputs
1114 `(("libxslt" ,libxslt)
1115 ("libxml2" ,libxml2)))
1116 (home-page "http://xmlstar.sourceforge.net/")
1117 (synopsis "Command line XML toolkit")
1118 (description "XMLStarlet is a set of command line utilities which can be
1119used to transform, query, validate, and edit XML documents. XPath is used to
1120match and extract data, and elements can be added, deleted or modified using
1121XSLT and EXSLT.")
1122 (license license:x11)))
19c33040 1123
767d24e8
SR
1124(define-public html-xml-utils
1125 (package
1126 (name "html-xml-utils")
4321aeb6 1127 (version "7.6")
767d24e8
SR
1128 (source
1129 (origin
1130 (method url-fetch)
1131 (uri (string-append
1132 "https://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-"
1133 version ".tar.gz"))
1134 (sha256
1135 (base32
4321aeb6 1136 "0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m"))))
767d24e8
SR
1137 (build-system gnu-build-system)
1138 (home-page "https://www.w3.org/Tools/HTML-XML-utils/")
1139 (synopsis "Command line utilities to manipulate HTML and XML files")
1140 (description "HTML-XML-utils provides a number of simple utilities for
1141manipulating and converting HTML and XML files in various ways. The suite
1142consists of the following tools:
1143
1144@itemize
1145 @item @command{asc2xml} convert from @code{UTF-8} to @code{&#nnn;} entities
1146 @item @command{xml2asc} convert from @code{&#nnn;} entities to @code{UTF-8}
1147 @item @command{hxaddid} add IDs to selected elements
1148 @item @command{hxcite} replace bibliographic references by hyperlinks
1149 @item @command{hxcite} mkbib - expand references and create bibliography
1150 @item @command{hxclean} apply heuristics to correct an HTML file
1151 @item @command{hxcopy} copy an HTML file while preserving relative links
1152 @item @command{hxcount} count elements and attributes in HTML or XML files
1153 @item @command{hxextract} extract selected elements
1154 @item @command{hxincl} expand included HTML or XML files
1155 @item @command{hxindex} create an alphabetically sorted index
1156 @item @command{hxmkbib} create bibliography from a template
1157 @item @command{hxmultitoc} create a table of contents for a set of HTML files
1158 @item @command{hxname2id} move some @code{ID=} or @code{NAME=} from A
1159elements to their parents
1160 @item @command{hxnormalize} pretty-print an HTML file
1161 @item @command{hxnsxml} convert output of hxxmlns back to normal XML
1162 @item @command{hxnum} number section headings in an HTML file
1163 @item @command{hxpipe} convert XML to a format easier to parse with Perl or AWK
1164 @item @command{hxprintlinks} number links and add table of URLs at end of an HTML file
1165 @item @command{hxprune} remove marked elements from an HTML file
1166 @item @command{hxref} generate cross-references
1167 @item @command{hxselect} extract elements that match a (CSS) selector
1168 @item @command{hxtoc} insert a table of contents in an HTML file
1169 @item @command{hxuncdata} replace CDATA sections by character entities
1170 @item @command{hxunent} replace HTML predefined character entities to @code{UTF-8}
1171 @item @command{hxunpipe} convert output of pipe back to XML format
1172 @item @command{hxunxmlns} replace \"global names\" by XML Namespace prefixes
1173 @item @command{hxwls} list links in an HTML file
1174 @item @command{hxxmlns} replace XML Namespace prefixes by \"global names\"
1175@end itemize
1176")
1177 (license license:expat)))
1178
19c33040
JN
1179(define-public xlsx2csv
1180 (package
1181 (name "xlsx2csv")
1182 (version "0.7.2")
1183 (source (origin
1184 (method url-fetch)
1185 (uri (string-append
1186 "https://github.com/dilshod/"
1187 name "/archive/release/" version ".tar.gz"))
1188 (file-name (string-append name "-" version ".tar.gz"))
1189 (sha256
1190 (base32
1191 "1gpn6kaa7l1ai8c9zx2j3acf04bvxq79pni8jjfjrk01smjbyyql"))))
1192 (build-system python-build-system)
1193 (arguments
1194 `(#:python ,python-2 ; Use python-2 for the test script.
1195 #:phases
1196 (modify-phases %standard-phases
1197 (replace 'check
1198 (lambda _
1199 (substitute* "test/run"
1200 ;; Run tests with `python' only
1201 (("^(PYTHON_VERSIONS = ).*" all m) (string-append m "['']")))
1202 (zero? (system* "test/run")))))))
1203 (home-page "https://github.com/dilshod/xlsx2csv")
1204 (synopsis "XLSX to CSV converter")
1205 (description
1206 "Xlsx2csv is a program to convert Microsoft Excel 2007 XML (XLSX and
1207XLSM) format spreadsheets into plaintext @dfn{comma separated values} (CSV)
1208files. It is designed to be fast and to handle large input files.")
1209 (license license:gpl2+)))
d2b51c08 1210
1211(define-public python-defusedxml
1212 (package
1213 (name "python-defusedxml")
ca6197dd 1214 (version "0.5.0")
d2b51c08 1215 (source
1216 (origin
1217 (method url-fetch)
1218 (uri (pypi-uri "defusedxml" version))
1219 (sha256
1220 (base32
ca6197dd 1221 "1x54n0h8hl92vvwyymx883fbqpqjwn2mc8fb383bcg3z9zwz5mr4"))))
d2b51c08 1222 (build-system python-build-system)
1223 (home-page "https://bitbucket.org/tiran/defusedxml")
1224 (synopsis "XML bomb protection for Python stdlib modules")
1225 (description
1226 "Defusedxml provides XML bomb protection for Python stdlib modules.")
1227 (license license:psfl)))
1228
1229(define-public python2-defusedxml
1230 (package-with-python2 python-defusedxml))
ca8f3f9a
AP
1231
1232(define-public libxls
1233 (package
1234 (name "libxls")
1235 (version "1.4.0")
1236 (source (origin
1237 (method url-fetch)
1238 (uri (string-append "https://sourceforge.net/projects/"
1239 name "/files/" name "-"
1240 version ".zip"))
1241 (sha256
1242 (base32
1243 "1g8ds7wbhsa4hdcn77xc2c0l3vvz5bx2hx9ng9c9n7aii92ymfnk"))))
1244 (build-system gnu-build-system)
1245 (arguments
1246 `(#:phases
1247 (modify-phases %standard-phases
1248 ;; Bootstrapping is required in order to fix the test driver script.
189be331 1249 (replace 'bootstrap
ca8f3f9a
AP
1250 (lambda _
1251 (zero? (system* "bash" "bootstrap")))))))
1252 (native-inputs
1253 `(("unzip" ,unzip)
1254 ("autoconf" ,autoconf)
1255 ("automake" ,automake)
1256 ("libtool" ,libtool)))
1257 (home-page "http://libxls.sourceforge.net/")
1258 (synopsis "Read Excel files")
1259 (description
1260 "libxls is a C library which can read Excel (xls) files since Excel 97 (the BIFF8 format).
1261libxls cannot write Excel files.")
1262 (license license:bsd-2)))
623fb4d1
AP
1263
1264(define-public freexl
1265 (package
1266 (name "freexl")
5275f69e 1267 (version "1.0.5")
623fb4d1
AP
1268 (source (origin
1269 (method url-fetch)
1270 (uri (string-append "http://www.gaia-gis.it/gaia-sins/"
1271 name "-" version ".tar.gz"))
1272 (sha256
1273 (base32
5275f69e 1274 "03bmwq6hngmzwpqpb7c2amqlspz4q69iv96nlf0f5c0qs98b3j9x"))))
623fb4d1
AP
1275 (build-system gnu-build-system)
1276 (home-page "https://www.gaia-gis.it/fossil/freexl/index")
1277 (synopsis "Read Excel files")
1278 (description
1279 "FreeXL is a C library to extract valid data from within an Excel (.xls)
1280spreadsheet.")
1281 ;; Any of these licenses may be picked.
1282 (license (list license:gpl2+
1283 license:lgpl2.1+
1284 license:mpl1.1))))
d00d6cea
RW
1285
1286(define-public xerces-c
1287 (package
1288 (name "xerces-c")
1289 (version "3.1.4")
1290 (source (origin
1291 (method url-fetch)
1292 (uri (string-append "mirror://apache/xerces/c/3/sources/"
1293 "xerces-c-" version ".tar.xz"))
1294 (sha256
1295 (base32
1296 "0hb29c0smqlpxj0zdm09s983z5jx37szlliccnvgh0qq91wwqwwr"))))
1297 (build-system gnu-build-system)
1298 (arguments
1299 (let ((system (or (%current-target-system)
1300 (%current-system))))
1301 (if (string-prefix? "x86_64" system)
1302 '()
1303 '(#:configure-flags '("--disable-sse2")))))
1304 (native-inputs
1305 `(("perl" ,perl)))
1306 (home-page "http://xerces.apache.org/xerces-c/")
1307 (synopsis "Validating XML parser library for C++")
1308 (description "Xerces-C++ is a validating XML parser written in a portable
1309subset of C++. Xerces-C++ makes it easy to give your application the ability
1310to read and write XML data. A shared library is provided for parsing,
1311generating, manipulating, and validating XML documents using the DOM, SAX, and
1312SAX2 APIs.")
1313 (license license:asl2.0)))
77d7b57c
RW
1314
1315(define-public java-simple-xml
1316 (package
1317 (name "java-simple-xml")
1318 (version "2.7.1")
1319 (source (origin
1320 (method url-fetch)
1321 (uri (string-append "mirror://sourceforge/simple/simple-xml-"
1322 version ".zip"))
1323 (sha256
1324 (base32
3c274149
GB
1325 "0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
1326 (patches (search-patches "java-simple-xml-fix-tests.patch"))))
77d7b57c
RW
1327 (build-system ant-build-system)
1328 (arguments
1329 `(#:build-target "build"
1330 #:test-target "test"
1331 #:phases
1332 (modify-phases %standard-phases
1333 (replace 'install (install-jars "jar")))))
1334 (native-inputs
1335 `(("unzip" ,unzip)))
1336 (home-page "http://simple.sourceforge.net/")
1337 (synopsis "XML serialization framework for Java")
1338 (description "Simple is a high performance XML serialization and
1339configuration framework for Java. Its goal is to provide an XML framework
1340that enables rapid development of XML configuration and communication systems.
1341This framework aids the development of XML systems with minimal effort and
1342reduced errors. It offers full object serialization and deserialization,
1343maintaining each reference encountered.")
1344 (license license:asl2.0)))
3b695802
P
1345
1346(define-public perl-xml-xpathengine
1347 (package
1348 (name "perl-xml-xpathengine")
1349 (version "0.14")
1350 (source (origin
1351 (method url-fetch)
1352 (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
1353 "XML-XPathEngine-" version ".tar.gz"))
1354 (sha256
1355 (base32
1356 "0r72na14bmsxfd16s9nlza155amqww0k8wsa9x2a3sqbpp5ppznj"))))
1357 (build-system perl-build-system)
1358 (home-page "http://search.cpan.org/dist/XML-XPathEngine/")
1359 (synopsis "Re-usable XPath engine for DOM-like trees")
1360 (description
1361 "This module provides an XPath engine, that can be re-used by other
1362modules/classes that implement trees.
1363
1364In order to use the XPath engine, nodes in the user module need to mimick DOM
1365nodes. The degree of similitude between the user tree and a DOM dictates how
1366much of the XPath features can be used. A module implementing all of the DOM
1367should be able to use this module very easily (you might need to add the
1368@code{cmp} method on nodes in order to get ordered result sets).")
1369 (license license:perl-license)))
9e1c3581
P
1370
1371(define-public perl-tree-xpathengine
1372 (package
1373 (name "perl-tree-xpathengine")
1374 (version "0.05")
1375 (source (origin
1376 (method url-fetch)
1377 (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
1378 "Tree-XPathEngine-" version ".tar.gz"))
1379 (sha256
1380 (base32
1381 "1vbbw8wxm79r3xbra8narw1dqvm34510q67wbmg2zmj6zd1k06r9"))))
1382 (build-system perl-build-system)
1383 (home-page "http://search.cpan.org/dist/Tree-XPathEngine/")
1384 (synopsis "Re-usable XPath engine")
1385 (description
1386 "This module provides an XPath engine, that can be re-used by other
1387module/classes that implement trees. It is designed to be compatible with
1388@code{Class::XPath}, ie it passes its tests if you replace @code{Class::XPath}
1389by @code{Tree::XPathEngine}.")
1390 (license license:perl-license)))
b7c59195
P
1391
1392(define-public perl-xml-filter-buffertext
1393 (package
1394 (name "perl-xml-filter-buffertext")
1395 (version "1.01")
1396 (source
1397 (origin
1398 (method url-fetch)
1399 (uri (string-append "mirror://cpan/authors/id/R/RB/RBERJON/"
1400 "XML-Filter-BufferText-" version ".tar.gz"))
1401 (sha256
1402 (base32
1403 "0p5785c1dsk6kdp505vapb5h54k8krrz8699hpgm9igf7dni5llg"))))
1404 (build-system perl-build-system)
1405 (propagated-inputs
1406 `(("perl-xml-sax-base" ,perl-xml-sax-base)))
1407 (home-page "http://search.cpan.org/dist/XML-Filter-BufferText/")
1408 (synopsis "Filter to put all characters() in one event")
1409 (description "This is a very simple filter. One common cause of
1410grief (and programmer error) is that XML parsers aren't required to provide
1411character events in one chunk. They can, but are not forced to, and most
1412don't. This filter does the trivial but oft-repeated task of putting all
1413characters into a single event.")
1414 (license license:perl-license)))
33b592ee
P
1415
1416(define-public perl-xml-sax-writer
1417 (package
1418 (name "perl-xml-sax-writer")
1419 (version "0.57")
1420 (source (origin
1421 (method url-fetch)
1422 (uri (string-append
1423 "mirror://cpan/authors/id/P/PE/PERIGRIN/"
1424 "XML-SAX-Writer-" version ".tar.gz"))
1425 (sha256
1426 (base32
1427 "1w1cd1ybxdvhmnxdlkywi3x5ka3g4md42kyynksjc09vyizd0q9x"))))
1428 (build-system perl-build-system)
1429 (propagated-inputs
1430 `(("perl-libxml" ,perl-libxml)
1431 ("perl-xml-filter-buffertext" ,perl-xml-filter-buffertext)
c695fb76 1432 ("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
33b592ee
P
1433 ("perl-xml-sax-base" ,perl-xml-sax-base)))
1434 (home-page "http://search.cpan.org/dist/XML-SAX-Writer/")
1435 (synopsis "SAX2 XML Writer")
1436 (description
1437 "This is an XML writer that understands SAX2. It is based on
1438@code{XML::Handler::YAWriter}.")
1439 (license license:perl-license)))
9e88b210
P
1440
1441(define-public perl-xml-handler-yawriter
1442 (package
1443 (name "perl-xml-handler-yawriter")
1444 (version "0.23")
1445 (source
1446 (origin
1447 (method url-fetch)
1448 (uri (string-append "mirror://cpan/authors/id/K/KR/KRAEHE/"
1449 "XML-Handler-YAWriter-" version ".tar.gz"))
1450 (sha256
1451 (base32
1452 "11d45a1sz862va9rry3p2m77pwvq3kpsvgwhc5ramh9mbszbnk77"))))
1453 (build-system perl-build-system)
1454 (propagated-inputs
1455 `(("perl-libxml" ,perl-libxml)))
1456 (home-page "http://search.cpan.org/dist/XML-Handler-YAWriter/")
1457 (synopsis "Yet another Perl SAX XML Writer")
1458 (description "YAWriter implements Yet Another @code{XML::Handler::Writer}.
1459It provides a flexible escaping technique and pretty printing.")
1460 (license license:perl-license)))
85f225fb
P
1461
1462(define-public perl-xml-twig
1463 (package
1464 (name "perl-xml-twig")
1465 (version "3.52")
1466 (source (origin
1467 (method url-fetch)
1468 (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
1469 "XML-Twig-" version ".tar.gz"))
1470 (sha256
1471 (base32
1472 "1bc0hrz4jp6199hi29sdxmb9gyy45whla9hd19yqfasgq8k5ixzy"))))
1473 (build-system perl-build-system)
1474 (inputs
1475 `(("expat" ,expat)))
1476 (propagated-inputs
1477 `(("perl-html-tidy" ,perl-html-tidy)
1478 ("perl-html-tree" ,perl-html-tree)
1479 ("perl-io-captureoutput" ,perl-io-captureoutput)
1480 ("perl-io-string" ,perl-io-string)
1481 ("perl-io-stringy" ,perl-io-stringy)
1482 ("perl-libxml" ,perl-libxml)
1483 ("perl-xml-filter-buffertext" ,perl-xml-filter-buffertext)
1484 ("perl-xml-handler-yawriter" ,perl-xml-handler-yawriter)
1485 ("perl-xml-parser" ,perl-xml-parser)
1486 ("perl-xml-sax-writer" ,perl-xml-sax-writer)
1487 ("perl-xml-simple" ,perl-xml-simple)
1488 ("perl-xml-xpathengine" ,perl-xml-xpathengine)
c695fb76 1489 ("perl-test-pod" ,perl-test-pod)
85f225fb
P
1490 ("perl-tree-xpathengine" ,perl-tree-xpathengine)))
1491 (home-page "http://search.cpan.org/dist/XML-Twig/")
1492 (synopsis "Perl module for processing huge XML documents in tree mode")
1493 (description "@code{XML::Twig} is an XML transformation module. Its
1494strong points: can be used to process huge documents while still being in tree
1495mode; not bound by DOM or SAX, so it is very perlish and offers a very
1496comprehensive set of methods; simple to use; DWIMs as much as possible.
1497
1498What it doesn't offer: full SAX support (it can export SAX, but only reads
1499XML), full XPath support (unless you use @code{XML::Twig::XPath}), nor DOM
1500support.")
1501 (license license:perl-license)))
1a17ca26
JL
1502
1503;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
1504;; xml-apis.jar and xml-apis-1.4.01.jar.
1505(define-public java-jaxp
1506 (package
1507 (name "java-jaxp")
1508 (version "1.4.01")
1509 (source
1510 (origin
1511 (method url-fetch)
1512 (uri (string-append "mirror://apache/xerces/xml-commons/source/"
1513 "xml-commons-external-" version "-src.tar.gz"))
1514 (sha256
1515 (base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
1516 (build-system ant-build-system)
1517 (arguments
1518 `(#:jar-name "jaxp.jar"
1519 #:jdk ,icedtea-8
1520 #:source-dir ".."
1521 #:tests? #f)); no tests
1522 (home-page "http://xerces.apache.org/xml-commons/")
1523 (synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
1524 (description "Jaxp from the Apache XML Commons project is used by
1525the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
1526
1527@itemize
1528@item Document Object Model (DOM)
1529@item Simple API for XML (SAX)
1530@item Java APIs for XML Processing (JAXP)
1531@item Transformation API for XML (TrAX)
1532@item Document Object Model (DOM) Load and Save
1533@item JSR 206 Java API for XML Processing
1534@end itemize")
1535 (license (list license:asl2.0
1536 license:w3c ;; Files under org.w3c
1537 license:public-domain)))) ;; org.xml.sax
9a86ee78
JL
1538
1539(define-public java-apache-xml-commons-resolver
1540 (package
1541 (name "java-apache-xml-commons-resolver")
1542 (version "1.2")
1543 (source
1544 (origin
1545 (method url-fetch)
1546 (uri (string-append "mirror://apache/xerces/xml-commons/"
1547 "xml-commons-resolver-" version ".tar.gz"))
1548 (sha256
1549 (base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
1550 (modules '((guix build utils)))
1551 (snippet
1552 '(begin
1553 (for-each delete-file (find-files "." ".*\\.(jar|zip)"))
1554 #t))))
1555 (build-system ant-build-system)
1556 (arguments
1557 `(#:jar-name (string-append "xml-resolver.jar")
1558 #:tests? #f)); no tests
1559 (inputs
1560 `(("java-junit" ,java-junit)))
1561 (home-page "http://xerces.apache.org/xml-commons/")
1562 (synopsis "Catalog-based entity and URI resolution")
1563 (description "The resolver class implements the full semantics of OASIS Technical
1564Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
15652001 Committee Specification of OASIS XML Catalogs.
1566
1567It also includes a framework of classes designed to read catalog files
1568in a number of formats:
1569
1570@itemize
1571@item The plain-text flavor described by TR9401.
1572@item The XCatalog XML format defined by John Cowan
1573@item The XML Catalog format defined by the OASIS Entity Resolution
1574 Technical Committee.
1575@end itemize")
1576 (license license:asl2.0)))
7eae94d8
JL
1577
1578;; Jaxen requires java-dom4j and java-xom that in turn require jaxen.
1579;; This package is a bootstrap version without dependencies on dom4j and xom.
1580(define java-jaxen-bootstrap
1581 (package
1582 (name "java-jaxen-bootstrap")
1583 (version "1.1.6")
1584 (source (origin
1585 (method url-fetch)
1586 ;; No release on github
1587 (uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/"
1588 version "/jaxen-" version "-sources.jar"))
1589 (sha256
1590 (base32
1591 "18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
1592 (build-system ant-build-system)
1593 (arguments
1594 `(#:jar-name "jaxen.jar"
1595 #:source-dir "src"
1596 #:tests? #f; no tests
1597 #:phases
1598 (modify-phases %standard-phases
1599 (add-before 'build 'remove-dom4j
1600 (lambda _
1601 (delete-file-recursively "src/org/jaxen/dom4j")
1602 (delete-file-recursively "src/org/jaxen/xom")
1603 #t)))))
1604 (inputs
1605 `(("java-jdom" ,java-jdom)))
1606 (home-page "https://github.com/jaxen-xpath/jaxen")
1607 (synopsis "XPath library")
1608 (description "Jaxen is an XPath library written in Java. It is adaptable
1609to many different object models, including DOM, XOM, dom4j, and JDOM. It is
1610also possible to write adapters that treat non-XML trees such as compiled
1611Java byte code or Java beans as XML, thus enabling you to query these trees
1612with XPath too.")
1613 (license license:bsd-3)))
5552080d 1614
be0524f4
JL
1615(define-public java-jaxen
1616 (package
1617 (inherit java-jaxen-bootstrap)
1618 (name "java-jaxen")
1619 (inputs
1620 `(("java-jdom" ,java-jdom)
1621 ("java-xom" ,java-xom)
1622 ("java-dom4j" ,java-dom4j)))))
1623
5552080d
JL
1624(define-public java-xom
1625 (package
1626 (name "java-xom")
1627 (version "127")
1628 (source (origin
1629 (method url-fetch)
1630 (uri (string-append "https://github.com/elharo/xom/archive/XOM_"
1631 version ".tar.gz"))
1632 (sha256
1633 (base32
1634 "04m69db1irqja12a9rfxrac8cbn9psqa1k136wh4ls4pxfsdr5wg"))
1635 (modules '((guix build utils)))
1636 (snippet
1637 '(begin
1638 (for-each delete-file
1639 (find-files "." "\\.jar$"))
1640 #t))))
1641 (build-system ant-build-system)
1642 (arguments
1643 `(#:jar-name "xom.jar"
1644 #:jdk ,icedtea-8
1645 #:tests? #f; no tests
1646 #:phases
1647 (modify-phases %standard-phases
1648 (add-before 'configure 'fix-tagsoup-dep
1649 (lambda _
1650 ;; FIXME: Where is tagsoup source?
1651 (delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
1652 #t)))))
1653 (inputs
1654 `(("java-jdom" ,java-jdom)
1655 ("java-junit" ,java-junit)
1656 ("java-classpathx-servletapi" ,java-classpathx-servletapi)
1657 ("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
1658 ("java-xerces" ,java-xerces)))
1659 (home-page "https://xom.nu/")
1660 (synopsis "XML Object Model")
1661 (description "XOM is a new XML Object Model for processing XML with Java
1662that strives for correctness and simplicity.")
1663 ;; 2.1 only
1664 (license license:lgpl2.1)))
96f31935
JL
1665
1666(define-public java-xsdlib
1667 (package
1668 (name "java-xsdlib")
1669 (version "2013.2")
1670 (source (origin
1671 (method url-fetch)
1672 (uri (string-append "http://central.maven.org/maven2/com/sun/msv/"
1673 "datatype/xsd/xsdlib/" version "/xsdlib-"
1674 version "-sources.jar"))
1675 (sha256
1676 (base32
1677 "185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
1678 (build-system ant-build-system)
1679 (arguments
1680 `(#:tests? #f; no tests
1681 #:jar-name "xsdlib.jar"
1682 #:jdk ,icedtea-8))
1683 (inputs
1684 `(("java-xerces" ,java-xerces)))
1685 (home-page "http://central.maven.org/maven2/com/sun/msv/datatype/xsd/xsdlib/")
1686 (synopsis "Sun Multi-Schema Validator")
1687 (description "Xsdlib contains an implementation of sun.com.msv, an XML
1688validator.")
1689 (license license:bsd-2)))
82d7d4e1
JL
1690
1691(define-public java-xpp3
1692 (package
1693 (name "java-xpp3")
1694 (version "1.1.4")
1695 (source (origin
1696 (method url-fetch)
1697 (uri (string-append "http://www.extreme.indiana.edu/dist/"
1698 "java-repository/xpp3/distributions/xpp3-"
1699 version "_src.tgz"))
1700 (sha256
1701 (base32
1702 "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
1703 (modules '((guix build utils)))
1704 (snippet
1705 '(begin ;; Delete bundled jar archives.
1706 (for-each delete-file (find-files "." ".*\\.jar"))
1707 #t))))
1708 (build-system ant-build-system)
1709 (arguments
1710 `(#:tests? #f; no tests
1711 #:build-target "jar"
1712 #:phases
1713 (modify-phases %standard-phases
1714 (replace 'install (install-jars "build")))))
1715 (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
1716 (synopsis "Streaming pull XML parser")
1717 (description "Xml Pull Parser (in short XPP) is a streaming pull XML
1718parser and should be used when there is a need to process quickly and
1719efficiently all input elements (for example in SOAP processors). This
1720package is a stable XmlPull parsing engine that is based on ideas from XPP
1721and in particular XPP2 but completely revised and rewritten to take the best
1722advantage of JIT JVMs.")
1723 (license (license:non-copyleft "file://LICENSE.txt"))))
9421f682
JL
1724
1725(define-public java-xmlpull2
1726 (package
1727 (name "java-xmlpull2")
1728 (version "2.1.10")
1729 (source (origin
1730 (method url-fetch)
1731 (uri (string-append "http://www.extreme.indiana.edu/xgws/xsoap/"
1732 "PullParser/PullParser" version ".tgz"))
1733 (sha256
1734 (base32
1735 "1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
1736 (modules '((guix build utils)))
1737 (snippet
1738 '(begin ;; Delete bundled jar archives.
1739 (for-each delete-file (find-files "." ".*\\.jar"))
1740 #t))))
1741 (build-system ant-build-system)
1742 (arguments
1743 `(#:tests? #f; no tests
1744 #:build-target "impl"
1745 #:phases
1746 (modify-phases %standard-phases
1747 (replace 'install (install-jars "build/lib")))))
1748 (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
1749 (synopsis "Streaming pull XML parser")
1750 (description "Xml Pull Parser (in short XPP) is a streaming pull XML
1751parser and should be used when there is a need to process quickly and
1752efficiently all input elements (for example in SOAP processors). This
1753package is in maintenance mode.")
1754 (license (license:non-copyleft "file:///LICENSE.txt"))))
605c23df
JL
1755
1756(define-public java-dom4j
1757 (package
1758 (name "java-dom4j")
1759 (version "2.1.0")
1760 (source (origin
1761 (method url-fetch)
1762 (uri (string-append "https://github.com/dom4j/dom4j/archive/"
1763 "version-" version ".tar.gz"))
1764 (file-name (string-append name "-" version ".tar.gz"))
1765 (sha256
1766 (base32
1767 "101drpnw6agmcvsi1jrfi0kn97r7liazrh5jbrip9vx26axn2fx9"))
1768 (modules '((guix build utils)))
1769 (snippet
1770 '(begin ;; Delete bundled jar archives.
1771 (for-each delete-file (find-files "." ".*\\.jar"))
1772 #t))))
1773 (build-system ant-build-system)
1774 (arguments
1775 `(#:jar-name "dom4j.jar"
1776 #:jdk ,icedtea-8
1777 #:source-dir "src/main/java"
1778 ;; FIXME: Requires xalan, but xalan depends on java-cup which has a
1779 ;; dependency on itself through jflex.
1780 #:tests? #f
1781 #:phases
1782 (modify-phases %standard-phases
1783 (add-before 'build 'copy-jaxen-sources
1784 ;; java-jaxen-bootstrap is not enough. These files have a circular
1785 ;; dependency and there is no subset of dom4j that would allow
1786 ;; breaking the circle.
1787 (lambda* (#:key inputs #:allow-other-keys)
1788 (mkdir-p "jaxen-sources")
1789 (with-directory-excursion "jaxen-sources"
1790 (system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
1791 (mkdir-p "src/main/java/org/jaxen/dom4j")
1792 (copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
1793 "src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
1794 (copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
1795 "src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
1796 #t))
1797 (add-before 'build 'fix-old-xpp2
1798 (lambda _
1799 ;; This package normally depends on xpp2 2.0, but version 2.1.10
1800 ;; is the only version whose source code is published.
1801 (substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
1802 (("public void resetStartTag")
1803 "public boolean removeAttributeByRawName(String name) {\n
1804 return false;\n
1805}\n
1806public boolean removeAttributeByName(String name, String name2) {\n
1807 return false;\n
1808}\n\npublic void resetStartTag")
1809 (("Atttribute") "Attribute"))
1810 #t)))))
1811 (inputs
1812 `(("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
1813 ("java-jaxen-sources" ,(package-source java-jaxen-bootstrap))
1814 ("java-xmlpull2" ,java-xmlpull2)
1815 ("java-xpp3" ,java-xpp3)
1816 ("java-xsdlib" ,java-xsdlib)))
1817 (native-inputs
1818 `(("java-testng" ,java-testng)
1819 ("java-xerces" ,java-xerces)))
1820 (home-page "https://dom4j.github.io/")
1821 (synopsis "Flexible XML framework for Java")
1822 (description "Dom4j is a flexible XML framework for Java. DOM4J works
1823with DOM, SAX, XPath, and XSLT. It can parse large XML documents with very
1824low memory footprint.")
1825 ;; some BSD-like 5-clause license
1826 (license (license:non-copyleft "file://LICENSE"))))
3058d8ec
JL
1827
1828(define-public java-kxml2
1829 (package
1830 (name "java-kxml2")
1831 (version "2.4.2")
1832 (source (origin
1833 (method url-fetch)
1834 (uri (string-append "https://github.com/stefanhaustein/kxml2/archive/v"
1835 version ".tar.gz"))
1836 (file-name (string-append name "-" version ".tar.gz"))
1837 (sha256
1838 (base32
1839 "17kh04qf3vll1xx6sv06xlazw2hxa8qdmzyday9r6z2191jlj74w"))))
1840 (build-system ant-build-system)
1841 (arguments
1842 `(#:jar-name "kxml2.jar"
1843 #:source-dir "src/main/java"
1844 #:test-include (list "TestWb.java")
1845 ;; Test failure: it was expected to get an XML entity but got the
1846 ;; equivalent Unicode character instead.
1847 #:tests? #f
1848 #:phases
1849 (modify-phases %standard-phases
1850 (add-before 'build 'copy-resources
1851 (lambda _
1852 (copy-recursively "src/main/resources" "build/classes"))))))
1853 (inputs
1854 `(("java-xpp3" ,java-xpp3)))
1855 (native-inputs
1856 `(("java-junit" ,java-junit)))
1857 (home-page "http://kxml.org")
1858 (synopsis "XML pull parser")
1859 (description "kXML is a small XML pull parser, specially designed for
1860constrained environments such as Applets, Personal Java or devices compliant
1861with the Mobile Information Device Profile (MIDP).")
1862 (license license:expat)))
4c7759f0
JL
1863
1864(define-public java-stax
1865 (package
1866 (name "java-stax")
1867 (version "1.2.0")
1868 (source (origin
1869 (method url-fetch)
1870 (uri (string-append "https://repo1.maven.org/maven2/stax/stax/"
1871 version "/stax-" version "-sources.jar"))
1872 (sha256
1873 (base32
1874 "04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
1875 (build-system ant-build-system)
1876 (arguments
1877 `(#:jar-name "stax.jar"
1878 #:tests? #f; no tests
1879 #:phases
1880 (modify-phases %standard-phases
1881 (add-before 'configure 'fix-utf8
1882 (lambda _
1883 ;; This file is ISO-8859-1 but java expects UTF-8.
1884 ;; Remove special characters in comments.
1885 (with-fluids ((%default-port-encoding "ISO-8859-1"))
1886 (substitute* "src/com/wutka/dtd/Scanner.java"
1887 (("//.*") "\n")))
1888 #t)))))
1889 (home-page "https://repo1.maven.org/maven2/stax/stax/")
1890 (synopsis "Streaming API for XML")
1891 (description "This package provides the reference implementation of the
1892@dfn{Streaming API for XML} (StAX). It is used for streaming XML data to
1893and from a Java application. It provides a standard pull parser interface.")
1894 (license license:asl2.0)))
b8798817
JL
1895
1896(define-public java-jettison
1897 (package
1898 (name "java-jettison")
1899 (version "1.3.7")
1900 (source (origin
1901 (method url-fetch)
1902 (uri (string-append "https://github.com/codehaus/jettison/archive/"
1903 "jettison-" version ".tar.gz"))
1904 (sha256
1905 (base32
1906 "0rdhfyxywvga5wiwasc04iqnxyixn3rd8wj01c9ymhvwc3h6dpqg"))))
1907 (build-system ant-build-system)
1908 (arguments
1909 `(#:jar-name "jettison.jar"
1910 #:source-dir "src/main/java"
1911 #:test-exclude (list "**/Abstract*.java"
1912 ;; Abstract classes
1913 "**/DOMTest.java"
1914 "**/BadgerFishDOMTest.java"
1915 "**/MappedDOMTest.java")))
1916 (native-inputs
1917 `(("java-junit" ,java-junit)))
1918 (home-page "https://github.com/codehaus/jettison")
1919 (synopsis "StAX implementation for JSON")
1920 (description "Jettison is a Java library for converting XML to JSON and
1921vice-versa with the help of the @dfn{Streaming API for XML} (StAX). It
1922implements @code{XMLStreamWriter} and @code{XMLStreamReader} and supports
1923@code{Mapped} and @code{BadgerFish} conventions.")
1924 (license license:asl2.0)))
a5ec8a5c
JL
1925
1926(define-public java-jdom2
1927 (package
1928 (name "java-jdom")
1929 (version "2.0.6")
1930 (source (origin
1931 (method url-fetch)
1932 (uri (string-append "https://github.com/hunterhacker/jdom/archive/JDOM-"
1933 version ".tar.gz"))
1934 (sha256
1935 (base32
1936 "0p8n7inqq2a25wk9ljinl3ixlx1x2la9qaman8ngd75xxjb02yc1"))))
1937 (build-system ant-build-system)
1938 (arguments
1939 `(#:build-target "package"
1940 #:tests? #f; tests are run as part of the build process
1941 #:phases
1942 (modify-phases %standard-phases
1943 (replace 'install
1944 (install-jars "build")))))
1945 (home-page "http://jdom.org/")
1946 (synopsis "Access, manipulate, and output XML data")
1947 (description "Jdom is a Java-based solution for accessing, manipulating, and
1948outputting XML data from Java code.")
1949 (license license:bsd-4)))
5ee7b02f
JL
1950
1951(define-public java-xstream
1952 (package
1953 (name "java-xstream")
1954 (version "1.4.10")
1955 (source (origin
1956 (method url-fetch)
1957 (uri (string-append
1958 "https://github.com/x-stream/xstream/archive/XSTREAM_"
1959 (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
1960 ".tar.gz"))
1961 (file-name (string-append name "-" version ".tar.gz"))
1962 (sha256
1963 (base32
1964 "10zbkam05wirxipvgrjimdwsyqrwl4a0n7lhvxbsssqpv727469g"))))
1965 (build-system ant-build-system)
1966 (arguments
1967 `(#:jar-name "xstream.jar"
1968 ;; FIXME: Tests are not in a java subdirectory as assumed by ant-build-system
1969 #:tests? #f
1970 #:jdk ,icedtea-8
1971 #:source-dir "xstream/src/java"))
1972 (inputs
1973 `(("java-jdom" ,java-jdom)
1974 ("java-jdom2" ,java-jdom2)
1975 ("java-cglib" ,java-cglib)
1976 ("java-joda-time" ,java-joda-time)
1977 ("java-jettison" ,java-jettison)
1978 ("java-xom" ,java-xom)
1979 ("java-xpp3" ,java-xpp3)
1980 ("java-dom4j" ,java-dom4j)
1981 ("java-stax2-api" ,java-stax2-api)
1982 ("java-woodstox-core" ,java-woodstox-core)
1983 ("java-kxml2" ,java-kxml2)
1984 ("java-stax" ,java-stax)))
1985 (home-page "https://x-stream.github.io")
1986 (synopsis "XML serialization library")
1987 (description "XStream is a simple library to serialize Java objects to XML
1988and back again.")
1989 (license license:bsd-3)))
5c1cf7f3
RW
1990
1991(define-public ghc-hxt-charproperties
1992 (package
1993 (name "ghc-hxt-charproperties")
1994 (version "9.2.0.1")
1995 (source
1996 (origin
1997 (method url-fetch)
1998 (uri (string-append "https://hackage.haskell.org/package/"
1999 "hxt-charproperties/hxt-charproperties-"
2000 version ".tar.gz"))
2001 (sha256
2002 (base32
2003 "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
2004 (build-system haskell-build-system)
2005 (home-page "https://github.com/UweSchmidt/hxt")
2006 (synopsis "Character properties and classes for XML and Unicode")
2007 (description
2008 "The modules provided by this package contain predicates for Unicode
2009blocks and char properties and character predicates defined by XML. The
2010supported Unicode version is 7.0.0")
2011 (license license:expat)))
2012
e85de108
RW
2013(define-public ghc-hxt-unicode
2014 (package
2015 (name "ghc-hxt-unicode")
2016 (version "9.0.2.4")
2017 (source
2018 (origin
2019 (method url-fetch)
2020 (uri (string-append
2021 "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
2022 version
2023 ".tar.gz"))
2024 (sha256
2025 (base32
2026 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
2027 (build-system haskell-build-system)
2028 (inputs
2029 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
2030 (home-page
2031 "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
2032 (synopsis
2033 "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
2034 (description
2035 "This package provides Unicode encoding and decoding functions for
2036encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
2037are supported. Decoding is done with lazy functions, errors may be detected or
2038ignored.")
2039 (license license:expat)))
2040
6f8deed6
RW
2041(define-public ghc-hxt-regex-xmlschema
2042 (package
2043 (name "ghc-hxt-regex-xmlschema")
2044 (version "9.2.0.3")
2045 (source
2046 (origin
2047 (method url-fetch)
2048 (uri (string-append "https://hackage.haskell.org/package/"
2049 "hxt-regex-xmlschema/hxt-regex-xmlschema-"
2050 version ".tar.gz"))
2051 (sha256
2052 (base32
2053 "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
2054 (build-system haskell-build-system)
2055 (inputs
2056 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
2057 ("ghc-parsec" ,ghc-parsec)
2058 ("ghc-text" ,ghc-text)
2059 ("ghc-hunit" ,ghc-hunit)))
2060 (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
2061 (synopsis "Regular expression library for W3C XML Schema regular expressions")
2062 (description
2063 "This library supports full W3C XML Schema regular expressions inclusive
2064all Unicode character sets and blocks. It is implemented by the technique of
2065derivations of regular expressions.")
2066 (license license:expat)))
2067
31511899
RW
2068(define-public ghc-hxt
2069 (package
2070 (name "ghc-hxt")
2071 (version "9.3.1.16")
2072 (source
2073 (origin
2074 (method url-fetch)
2075 (uri (string-append
2076 "https://hackage.haskell.org/package/hxt/hxt-"
2077 version
2078 ".tar.gz"))
2079 (sha256
2080 (base32
2081 "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
2082 (build-system haskell-build-system)
2083 (inputs
2084 `(("ghc-parsec" ,ghc-parsec)
2085 ("ghc-mtl" ,ghc-mtl)
2086 ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
2087 ("ghc-hxt-unicode" ,ghc-hxt-unicode)
2088 ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
2089 ("ghc-network-uri" ,ghc-network-uri)))
2090 (home-page "https://github.com/UweSchmidt/hxt")
2091 (synopsis "Collection of tools for processing XML with Haskell")
2092 (description
2093 "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
2094introduces a more general approach for processing XML with Haskell.")
2095 (license license:expat)))