gnu: augeas: Update to 1.8.0.
[jackhill/guix/guix.git] / gnu / packages / xml.scm
CommitLineData
d0414883 1;;; GNU Guix --- Functional package management for GNU
493e9a5a 2;;; Copyright © 2013, 2014, 2015, 2016 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>
d00d6cea 6;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
51514e69 7;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
e831256f 8;;; Copyright © 2015, 2016 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>
d2b51c08 14;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
931bd7f6 15;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
d66fa696 16;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
623fb4d1 17;;; Copyright © 2017 humanitiesNerd <catonano@gmail.com>
d0414883
LC
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
1ffa7090 34(define-module (gnu packages xml)
f0444eaf 35 #:use-module (gnu packages)
0899144f 36 #:use-module (gnu packages autotools)
322cbda7 37 #:use-module (gnu packages compression)
58cc3b38 38 #:use-module (gnu packages gnupg)
f0444eaf
AE
39 #:use-module (gnu packages perl)
40 #:use-module (gnu packages python)
a7fd7b68 41 #:use-module (gnu packages tls)
ad871fc6 42 #:use-module (gnu packages web)
ca8f3f9a 43 #:use-module (gnu packages zip)
b5b73a82 44 #:use-module ((guix licenses) #:prefix license:)
d0414883
LC
45 #:use-module (guix packages)
46 #:use-module (guix download)
6ce212b8 47 #:use-module (guix build-system cmake)
2a1e82bb 48 #:use-module (guix build-system gnu)
37f9ff63 49 #:use-module (guix build-system perl)
7ce32242 50 #:use-module (guix build-system python)
e4aab734
RW
51 #:use-module (gnu packages linux)
52 #:use-module (gnu packages pkg-config))
d0414883
LC
53
54(define-public expat
55 (package
56 (name "expat")
b1a782b1 57 (version "2.2.0")
d0414883
LC
58 (source (origin
59 (method url-fetch)
60 (uri (string-append "mirror://sourceforge/expat/expat/"
51514e69 61 version "/expat-" version ".tar.bz2"))
b1a782b1
LF
62 (patches
63 (search-patches "expat-CVE-2016-0718-fix-regression.patch"))
d0414883
LC
64 (sha256
65 (base32
b1a782b1 66 "1zq4lnwjlw8s9mmachwfvfjf2x3lk24jm41746ykhdcvs7r0zrfr"))))
d0414883
LC
67 (build-system gnu-build-system)
68 (home-page "http://www.libexpat.org/")
9e771e3b 69 (synopsis "Stream-oriented XML parser library written in C")
d0414883
LC
70 (description
71 "Expat is an XML parser library written in C. It is a
72stream-oriented parser in which an application registers handlers for
73things the parser might find in the XML document (like start tags).")
74 (license license:expat)))
f0444eaf
AE
75
76(define-public libxml2
77 (package
78 (name "libxml2")
3c9e0ddc 79 (version "2.9.4")
f0444eaf
AE
80 (source (origin
81 (method url-fetch)
82 (uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
83 version ".tar.gz"))
e9f62e52
LF
84 (patches (search-patches "libxml2-CVE-2016-4658.patch"
85 "libxml2-CVE-2016-5131.patch"))
f0444eaf
AE
86 (sha256
87 (base32
3c9e0ddc 88 "0g336cr0bw6dax1q48bblphmchgihx9p1pjmxdnrd6sh3qci3fgz"))))
f0444eaf
AE
89 (build-system gnu-build-system)
90 (home-page "http://www.xmlsoft.org/")
35b9e423 91 (synopsis "C parser for XML")
c1944c92 92 (propagated-inputs `(("zlib" ,zlib))) ; libxml2.la says '-lz'.
7ce32242 93 (native-inputs `(("perl" ,perl)))
2a8d4401
LC
94 ;; $XML_CATALOG_FILES lists 'catalog.xml' files found in under the 'xml'
95 ;; sub-directory of any given package.
74528069
LC
96 (native-search-paths (list (search-path-specification
97 (variable "XML_CATALOG_FILES")
98 (separator " ")
99 (files '("xml"))
100 (file-pattern "^catalog\\.xml$")
101 (file-type 'regular))))
2a8d4401 102 (search-paths native-search-paths)
f0444eaf 103 (description
7c125ce0
AK
104 "Libxml2 is the XML C parser and toolkit developed for the Gnome
105project (but it is usable outside of the Gnome platform).")
f0444eaf 106 (license license:x11)))
58cc3b38 107
7ce32242
SB
108(define-public python-libxml2
109 (package (inherit libxml2)
110 (name "python-libxml2")
111 (build-system python-build-system)
112 (arguments
113 `(;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
114 #:tests? #f
115 #:phases
116 (modify-phases %standard-phases
117 (add-before
118 'build 'configure
119 (lambda* (#:key inputs #:allow-other-keys)
120 (chdir "python")
121 (let ((glibc (assoc-ref inputs ,(if (%current-target-system)
122 "cross-libc" "libc")))
123 (libxml2 (assoc-ref inputs "libxml2")))
124 (substitute* "setup.py"
125 ;; For 'libxml2/libxml/tree.h'.
126 (("ROOT = r'/usr'")
127 (format #f "ROOT = r'~a'" libxml2))
128 ;; For 'iconv.h'.
129 (("/opt/include")
130 (string-append glibc "/include")))))))))
131 (inputs `(("libxml2" ,libxml2)))
132 (synopsis "Python bindings for the libxml2 library")))
133
134(define-public python2-libxml2
135 (package-with-python2 python-libxml2))
136
58cc3b38
AE
137(define-public libxslt
138 (package
139 (name "libxslt")
28b33172 140 (version "1.1.29")
58cc3b38
AE
141 (source (origin
142 (method url-fetch)
143 (uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-"
144 version ".tar.gz"))
2663c388 145 (patches (search-patches "libxslt-CVE-2016-4738.patch"))
58cc3b38
AE
146 (sha256
147 (base32
28b33172
LF
148 "1klh81xbm9ppzgqk339097i39b7fnpmlj8lzn8bpczl3aww6x5xm"))
149 (patches (search-patches "libxslt-generated-ids.patch"))))
58cc3b38
AE
150 (build-system gnu-build-system)
151 (home-page "http://xmlsoft.org/XSLT/index.html")
35b9e423 152 (synopsis "C library for applying XSLT stylesheets to XML documents")
58cc3b38
AE
153 (inputs `(("libgcrypt" ,libgcrypt)
154 ("libxml2" ,libxml2)
95288fcc 155 ("python" ,python-minimal-wrapper)
11e3f107 156 ("zlib" ,zlib)))
58cc3b38 157 (description
35b9e423 158 "Libxslt is an XSLT C library developed for the GNOME project. It is
58cc3b38
AE
159based on libxml for XML parsing, tree manipulation and XPath support.")
160 (license license:x11)))
2a1e82bb 161
5eec378b
BW
162(define-public perl-graph-readwrite
163 (package
164 (name "perl-graph-readwrite")
ffbc7d65 165 (version "2.09")
5eec378b
BW
166 (source
167 (origin
168 (method url-fetch)
169 (uri (string-append
170 "mirror://cpan/authors/id/N/NE/NEILB/Graph-ReadWrite-"
171 version
172 ".tar.gz"))
173 (sha256
174 (base32
ffbc7d65 175 "0jlsg64pmy6ka5q5gy851nnyfgjzvhyxc576bhns3vi2x5ng07mh"))))
5eec378b
BW
176 (build-system perl-build-system)
177 (propagated-inputs
178 `(("perl-graph" ,perl-graph)
179 ("perl-parse-yapp" ,perl-parse-yapp)
180 ("perl-xml-parser" ,perl-xml-parser)
181 ("perl-xml-writer" ,perl-xml-writer)))
182 (home-page "http://search.cpan.org/dist/Graph-ReadWrite")
183 (synopsis "Modules for reading and writing directed graphs")
184 (description "This is a collection of perl classes for reading and writing
185directed graphs in a variety of file formats. The graphs are represented in
186Perl using Jarkko Hietaniemi's @code{Graph} classes.
187
188There are two base classes. @code{Graph::Reader} is the base class for classes
189which read a graph file and create an instance of the Graph class.
190@code{Graph::Writer} is the base class for classes which take an instance of
191the @code{Graph} class and write it out in a specific file format.")
2f3108ad 192 (license license:perl-license)))
5eec378b 193
b2696a58 194(define-public perl-xml-atom
195 (package
196 (name "perl-xml-atom")
197 (version "0.41")
198 (source (origin
199 (method url-fetch)
200 (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
201 "XML-Atom-" version ".tar.gz"))
202 (sha256
203 (base32
204 "17lnkb9ymrhk2z642bhj5i2bv3q1da3kpp2lvsl0yhqshk3wdjj8"))))
205 (build-system perl-build-system)
206 (native-inputs
207 `(("perl-datetime" ,perl-datetime)
208 ;; TODO package: perl-datetime-format-atom
209 ("perl-xml-xpath" ,perl-xml-xpath)))
210 (inputs
211 `(("perl-class-data-inheritable" ,perl-class-data-inheritable)
212 ("perl-datetime" ,perl-datetime)
213 ("perl-datetime-timezone" ,perl-datetime-timezone)
214 ("perl-digest-sha1" ,perl-digest-sha1)
215 ("perl-libwww" ,perl-libwww)
216 ("perl-uri" ,perl-uri)
217 ("perl-xml-libxml" ,perl-xml-libxml)
218 ("perl-xml-xpath" ,perl-xml-xpath)))
219 (home-page "http://search.cpan.org/dist/XML-Atom")
220 (synopsis "Atom feed and API implementation")
221 (description
222 "Atom is a syndication, API, and archiving format for weblogs and other data.
223@code{XML::Atom} implements the feed format as well as a client for the API.")
2f3108ad 224 (license license:perl-license)))
b2696a58 225
d66fa696
MB
226(define-public perl-xml-descent
227 (package
228 (name "perl-xml-descent")
229 (version "1.04")
230 (source (origin
231 (method url-fetch)
232 (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
233 "XML-Descent-" version ".tar.gz"))
234 (sha256
235 (base32
236 "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
237 (build-system perl-build-system)
238 (native-inputs
239 `(("perl-module-build" ,perl-module-build)))
240 (propagated-inputs
241 `(("perl-test-differences" ,perl-test-differences)
242 ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
243 (home-page "http://search.cpan.org/dist/XML-Descent")
244 (synopsis "Recursive descent XML parsing")
245 (description
246 "The conventional models for parsing XML are either @dfn{DOM}
247(a data structure representing the entire document tree is created) or
248@dfn{SAX} (callbacks are issued for each element in the XML).
249
250XML grammar is recursive - so it's nice to be able to write recursive
251parsers for it. @code{XML::Descent} allows such parsers to be created.")
2f3108ad 252 (license license:perl-license)))
d66fa696 253
2a1e82bb
LC
254(define-public perl-xml-parser
255 (package
256 (name "perl-xml-parser")
d495634b 257 (version "2.44")
2a1e82bb
LC
258 (source (origin
259 (method url-fetch)
260 (uri (string-append
2b8c5f54 261 "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-"
2a1e82bb
LC
262 version ".tar.gz"))
263 (sha256
264 (base32
d495634b 265 "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"))))
2a1e82bb
LC
266 (build-system perl-build-system)
267 (arguments `(#:make-maker-flags
268 (let ((expat (assoc-ref %build-inputs "expat")))
269 (list (string-append "EXPATLIBPATH=" expat "/lib")
270 (string-append "EXPATINCPATH=" expat "/include")))))
271 (inputs `(("expat" ,expat)))
2f3108ad 272 (license license:perl-license)
2a1e82bb
LC
273 (synopsis "Perl bindings to the Expat XML parsing library")
274 (description
275 "This module provides ways to parse XML documents. It is built on top of
276XML::Parser::Expat, which is a lower level interface to James Clark's expat
277library. Each call to one of the parsing methods creates a new instance of
278XML::Parser::Expat which is then used to parse the document. Expat options
279may be provided when the XML::Parser object is created. These options are
280then passed on to the Expat object on each parse call. They can also be given
281as extra arguments to the parse methods, in which case they override options
282given at XML::Parser creation time.")
d495634b 283 (home-page "http://search.cpan.org/dist/XML-Parser")))
37f9ff63 284
62b28f19
MB
285(define-public perl-xml-tokeparser
286 (package
287 (name "perl-xml-tokeparser")
288 (version "0.05")
289 (source (origin
290 (method url-fetch)
291 (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/"
292 "XML-TokeParser-" version ".tar.gz"))
293 (sha256
294 (base32
295 "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
296 (build-system perl-build-system)
297 (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
298 (home-page "http://search.cpan.org/dist/XML-TokeParser")
299 (synopsis "Simplified interface to XML::Parser")
300 (description
301 "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
302to @code{XML::Parser} in much the same way that Gisle Aas'
303@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}.
304@code{XML::TokeParser} splits its XML input up into \"tokens\", each
305corresponding to an @code{XML::Parser} event.")
2f3108ad 306 (license license:perl-license)))
62b28f19 307
7339fbe2 308(define-public perl-libxml
1385ba4f 309 (package
7339fbe2 310 (name "perl-libxml")
1385ba4f
AE
311 (version "0.08")
312 (source (origin
313 (method url-fetch)
314 (uri (string-append
315 "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-"
316 version ".tar.gz"))
317 (sha256
318 (base32
319 "1jy9af0ljyzj7wakqli0437zb2vrbplqj4xhab7bfj2xgfdhawa5"))))
320 (build-system perl-build-system)
7b81406a 321 (propagated-inputs
1385ba4f 322 `(("perl-xml-parser" ,perl-xml-parser)))
2f3108ad 323 (license license:perl-license)
1385ba4f
AE
324 (synopsis "Perl SAX parser using XML::Parser")
325 (description
326 "XML::Parser::PerlSAX is a PerlSAX parser using the XML::Parser
327module.")
328 (home-page "http://search.cpan.org/~kmacleod/libxml-perl/lib/XML/Parser/PerlSAX.pm")))
329
3dd6bee1
EB
330(define-public perl-xml-libxml
331 (package
332 (name "perl-xml-libxml")
33906d54 333 (version "2.0128")
3dd6bee1
EB
334 (source
335 (origin
336 (method url-fetch)
337 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
338 "XML-LibXML-" version ".tar.gz"))
339 (sha256
340 (base32
33906d54 341 "0awgd2gjzy7kn38bqblsigikzl81xsi561phkz9f9b9v3x2vmrr6"))))
3dd6bee1
EB
342 (build-system perl-build-system)
343 (propagated-inputs
344 `(("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
345 ("perl-xml-sax" ,perl-xml-sax)))
346 (inputs
347 `(("libxml2" ,libxml2)))
348 (home-page "http://search.cpan.org/dist/XML-LibXML")
349 (synopsis "Perl interface to libxml2")
350 (description "This module implements a Perl interface to the libxml2
54c3c140 351library which provides interfaces for parsing and manipulating XML files. This
3dd6bee1
EB
352module allows Perl programmers to make use of the highly capable validating
353XML parser and the high performance DOM implementation.")
2f3108ad 354 (license license:perl-license)))
3dd6bee1 355
f7c4dc2f
RW
356(define-public perl-xml-libxml-simple
357 (package
358 (name "perl-xml-libxml-simple")
f3aa34cc 359 (version "0.97")
f7c4dc2f
RW
360 (source (origin
361 (method url-fetch)
362 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
363 "XML-LibXML-Simple-" version ".tar.gz"))
364 (sha256
365 (base32
f3aa34cc 366 "1g8nlk3zdz2cclxf7azvsb3jfxmvy6ml8wmj774k4qjqcsqmzk0w"))))
f7c4dc2f
RW
367 (build-system perl-build-system)
368 (propagated-inputs
369 `(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
370 ("perl-xml-libxml" ,perl-xml-libxml)))
371 (home-page "http://search.cpan.org/dist/XML-LibXML-Simple")
372 (synopsis "XML::LibXML based XML::Simple clone")
373 (description
374 "This package provides the same API as @code{XML::Simple} but is based on
375@code{XML::LibXML}.")
2f3108ad 376 (license license:perl-license)))
f7c4dc2f 377
93863a5e
RW
378(define-public perl-xml-libxslt
379 (package
380 (name "perl-xml-libxslt")
381 (version "1.95")
382 (source
383 (origin
384 (method url-fetch)
385 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
386 "XML-LibXSLT-" version ".tar.gz"))
387 (sha256
388 (base32
389 "0dggycql18kfxzkb1kw3yc7gslxlrrgyyn2r2ygsylycb89j3jpi"))))
390 (build-system perl-build-system)
391 (inputs
392 `(("libxslt" ,libxslt)))
393 (propagated-inputs
394 `(("perl-xml-libxml" ,perl-xml-libxml)))
395 (home-page "http://search.cpan.org/dist/XML-LibXSLT")
396 (synopsis "Perl bindings to GNOME libxslt library")
397 (description "This Perl module is an interface to the GNOME project's
398libxslt library.")
2f3108ad 399 (license license:perl-license)))
93863a5e 400
b715dbac
EB
401(define-public perl-xml-namespacesupport
402 (package
403 (name "perl-xml-namespacesupport")
404 (version "1.11")
405 (source
406 (origin
407 (method url-fetch)
408 (uri (string-append "mirror://cpan/authors/id/P/PE/PERIGRIN/"
409 "XML-NamespaceSupport-" version ".tar.gz"))
410 (sha256
411 (base32
412 "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd"))))
413 (build-system perl-build-system)
414 (home-page "http://search.cpan.org/dist/XML-NamespaceSupport")
415 (synopsis "XML namespace support class")
416 (description "This module offers a simple to process namespaced XML
417names (unames) from within any application that may need them. It also helps
418maintain a prefix to namespace URI map, and provides a number of basic
419checks.")
2f3108ad 420 (license license:perl-license)))
b715dbac 421
a022b23f 422(define-public perl-xml-rss
423 (package
424 (name "perl-xml-rss")
425 (version "1.59")
426 (source (origin
427 (method url-fetch)
428 (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
429 "XML-RSS-" version ".tar.gz"))
430 (sha256
431 (base32
432 "0v6vfizn2psy6av057kp7fv3z3y73s6b3w56jm3zr6hlq48llsx2"))))
433 (build-system perl-build-system)
434 (native-inputs
435 `(("perl-module-build" ,perl-module-build)
436 ("perl-test-manifest" ,perl-test-manifest)
437 ("perl-test-differences" ,perl-test-differences)
438 ("perl-test-pod" ,perl-test-pod)
439 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
440 ;; XXX: The test which uses this modules does not run, even when it is included
441 ;; it is ignored. ("perl-test-trailingspace" ,perl-test-trailingspace)
442 (inputs
443 `(("perl-datetime" ,perl-datetime)
444 ("perl-datetime-format-mail" ,perl-datetime-format-mail)
445 ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
446 ("perl-html-parser" ,perl-html-parser)
447 ("perl-xml-parser" ,perl-xml-parser)))
448 (home-page "http://search.cpan.org/dist/XML-RSS")
449 (synopsis "Creates and updates RSS files")
450 (description
451 "This module provides a basic framework for creating and maintaining
452RDF Site Summary (RSS) files. This distribution also contains many examples
453that allow you to generate HTML from an RSS, convert between 0.9, 0.91, and
4541.0 version, and more.")
2f3108ad 455 (license license:perl-license)))
a022b23f 456
18b8bbb3
EB
457(define-public perl-xml-sax
458 (package
459 (name "perl-xml-sax")
460 (version "0.99")
461 (source
462 (origin
463 (method url-fetch)
464 (uri (string-append "mirror://cpan/authors/id/G/GR/GRANTM/"
465 "XML-SAX-" version ".tar.gz"))
466 (sha256
467 (base32
468 "115dypb50w1l94y3iwihv5nkixbsv1cxiqkd93y4rk5n6s74pc1j"))))
469 (build-system perl-build-system)
470 (propagated-inputs
471 `(("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
472 ("perl-xml-sax-base" ,perl-xml-sax-base)))
473 (arguments
474 `(#:phases (modify-phases %standard-phases
475 (add-before
40b084a3 476 'install 'augment-path
18b8bbb3
EB
477 ;; The install target tries to load the newly-installed
478 ;; XML::SAX module, but can't find it, so we need to tell
479 ;; perl where to look.
480 (lambda* (#:key outputs #:allow-other-keys)
481 (setenv "PERL5LIB"
482 (string-append (getenv "PERL5LIB") ":"
483 (assoc-ref outputs "out")
484 "/lib/perl5/site_perl")))))))
485 (home-page "http://search.cpan.org/dist/XML-SAX")
486 (synopsis "Perl API for XML")
487 (description "XML::SAX consists of several framework classes for using and
488building Perl SAX2 XML parsers, filters, and drivers.")
2f3108ad 489 (license license:perl-license)))
18b8bbb3 490
1ed6d5bc
EB
491(define-public perl-xml-sax-base
492 (package
493 (name "perl-xml-sax-base")
494 (version "1.08")
495 (source
496 (origin
497 (method url-fetch)
498 (uri (string-append "mirror://cpan/authors/id/G/GR/GRANTM/"
499 "XML-SAX-Base-" version ".tar.gz"))
500 (sha256
501 (base32
502 "17i161rq1ngjlk0c8vdkrkkc56y1pf51k1g54y28py0micqp0qk6"))))
503 (build-system perl-build-system)
504 (home-page "http://search.cpan.org/dist/XML-SAX-Base")
505 (synopsis "Base class for SAX Drivers and Filters")
506 (description "This module has a very simple task - to be a base class for
507PerlSAX drivers and filters. It's default behaviour is to pass the input
508directly to the output unchanged. It can be useful to use this module as a
509base class so you don't have to, for example, implement the characters()
510callback.")
2f3108ad 511 (license license:perl-license)))
1ed6d5bc 512
535dc6cf
AE
513(define-public perl-xml-simple
514 (package
515 (name "perl-xml-simple")
e831256f 516 (version "2.22")
535dc6cf
AE
517 (source (origin
518 (method url-fetch)
519 (uri (string-append
520 "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-"
521 version ".tar.gz"))
522 (sha256
523 (base32
e831256f 524 "0jgbk30jizafpl7078jhw1di1yh08gf8d85dsvjllr595vr0widr"))))
535dc6cf 525 (build-system perl-build-system)
27ef7f45 526 (propagated-inputs
e831256f
EF
527 `(("perl-xml-parser" ,perl-xml-parser)
528 ("perl-xml-sax" ,perl-xml-sax)))
2f3108ad 529 (license license:perl-license)
535dc6cf
AE
530 (synopsis "Perl module for easy reading/writing of XML files")
531 (description
532 "The XML::Simple module provides a simple API layer on top of an
533underlying XML parsing module (either XML::Parser or one of the SAX2
534parser modules).")
e831256f 535 (home-page "http://search.cpan.org/dist/XML-Simple")))
535dc6cf 536
a2e520af
AE
537(define-public perl-xml-regexp
538 (package
539 (name "perl-xml-regexp")
540 (version "0.04")
541 (source (origin
542 (method url-fetch)
543 (uri (string-append
544 "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-"
545 version ".tar.gz"))
546 (sha256
547 (base32
548 "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz"))))
549 (build-system perl-build-system)
550 (inputs
551 `(("perl-xml-parser" ,perl-xml-parser)))
2f3108ad 552 (license license:perl-license)
a2e520af
AE
553 (synopsis "Perl regular expressions for XML tokens")
554 (description
555 "XML::RegExp contains regular expressions for the following XML tokens:
556BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar, NameChar,
557EntityRef, CharRef, Reference, Name, NmToken, and AttValue.")
558 (home-page "http://search.cpan.org/~tjmather/XML-RegExp/lib/XML/RegExp.pm")))
559
ad871fc6
AE
560(define-public perl-xml-dom
561 (package
562 (name "perl-xml-dom")
4e5465f2 563 (version "1.46")
ad871fc6
AE
564 (source (origin
565 (method url-fetch)
566 (uri (string-append
567 "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-"
568 version ".tar.gz"))
569 (sha256
570 (base32
4e5465f2 571 "0phpkc4li43m2g44hdcvyxzy9pymqwlqhh5hwp2xc0cv8l5lp8lb"))))
ad871fc6 572 (build-system perl-build-system)
f7faff88
AE
573 (propagated-inputs
574 `(("perl-libwww" ,perl-libwww)
ad871fc6 575 ("perl-libxml" ,perl-libxml)
4e5465f2 576 ("perl-xml-parser" ,perl-xml-parser)
ad871fc6 577 ("perl-xml-regexp" ,perl-xml-regexp)))
2f3108ad 578 (license license:perl-license)
ad871fc6
AE
579 (synopsis
580 "Perl module for building DOM Level 1 compliant document structures")
581 (description
582 "This module extends the XML::Parser module by Clark Cooper. The
583XML::Parser module is built on top of XML::Parser::Expat, which is a lower
584level interface to James Clark's expat library. XML::DOM::Parser is derived
585from XML::Parser. It parses XML strings or files and builds a data structure
586that conforms to the API of the Document Object Model.")
587 (home-page "http://search.cpan.org/~tjmather/XML-DOM-1.44/lib/XML/DOM.pm")))
588
649e1676
RW
589(define-public perl-xml-compile-tester
590 (package
591 (name "perl-xml-compile-tester")
592 (version "0.90")
593 (source (origin
594 (method url-fetch)
595 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
596 "XML-Compile-Tester-" version ".tar.gz"))
597 (sha256
598 (base32
599 "1bcl8x8cyacqv9yjp97aq9qq85sy8wv78kd8c16yd9yw3by4cpp1"))))
600 (build-system perl-build-system)
601 (propagated-inputs
602 `(("perl-log-report" ,perl-log-report)
603 ("perl-test-deep" ,perl-test-deep)))
604 (home-page "http://search.cpan.org/dist/XML-Compile-Tester")
605 (synopsis "XML::Compile related regression testing")
606 (description
607 "The @code{XML::Compile} module suite has extensive regression testing.
608This module provide functions which simplify writing tests for
609@code{XML::Compile} related distributions.")
2f3108ad 610 (license license:perl-license)))
649e1676 611
b494a5f1
RW
612(define-public perl-xml-compile
613 (package
614 (name "perl-xml-compile")
18c832b0 615 (version "1.54")
b494a5f1
RW
616 (source (origin
617 (method url-fetch)
618 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
619 "XML-Compile-" version ".tar.gz"))
620 (sha256
621 (base32
18c832b0 622 "1hp41960bpqxvv1samv9hc0ghhmvs3i16r4rfl9yp54lp6jhsr2c"))))
b494a5f1
RW
623 (build-system perl-build-system)
624 (propagated-inputs
625 `(("perl-log-report" ,perl-log-report)
626 ("perl-xml-compile-tester" ,perl-xml-compile-tester)
627 ("perl-xml-libxml" ,perl-xml-libxml)
628 ("perl-test-deep" ,perl-test-deep)))
629 (home-page "http://search.cpan.org/dist/XML-Compile")
630 (synopsis "Compilation-based XML processing")
631 (description
632 "@code{XML::Compile} can be used to translate a Perl data-structure into
633XML or XML into a Perl data-structure, both directions under rigid control by
634a schema.")
2f3108ad 635 (license license:perl-license)))
b494a5f1 636
c1d41b5d
RW
637(define-public perl-xml-compile-cache
638 (package
639 (name "perl-xml-compile-cache")
6b9d3f55 640 (version "1.05")
c1d41b5d
RW
641 (source (origin
642 (method url-fetch)
643 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
644 "XML-Compile-Cache-" version ".tar.gz"))
645 (sha256
646 (base32
6b9d3f55 647 "0xbwlszhi9hg8sxm5ylglm2qvnb689i595p913awrj2g4mp9yfsw"))))
c1d41b5d
RW
648 (build-system perl-build-system)
649 (propagated-inputs
650 `(("perl-log-report" ,perl-log-report)
651 ("perl-xml-compile" ,perl-xml-compile)
652 ("perl-xml-compile-tester" ,perl-xml-compile-tester)
653 ("perl-xml-libxml-simple" ,perl-xml-libxml-simple)))
654 (home-page "http://search.cpan.org/dist/XML-Compile-Cache")
655 (synopsis "Cache compiled XML translators")
656 (description
657 "This package provides methods to cache compiled XML translators.")
2f3108ad 658 (license license:perl-license)))
c1d41b5d 659
baeab9b8
RW
660(define-public perl-xml-compile-soap
661 (package
662 (name "perl-xml-compile-soap")
24c013c0 663 (version "3.21")
baeab9b8
RW
664 (source (origin
665 (method url-fetch)
666 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
667 "XML-Compile-SOAP-" version ".tar.gz"))
668 (sha256
669 (base32
24c013c0 670 "0rxidh7kjyhnw2y789bqbwccnp8n0m3xskn524y9c752s64qpjcz"))))
baeab9b8
RW
671 (build-system perl-build-system)
672 (propagated-inputs
673 `(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
674 ("perl-libwww" ,perl-libwww)
675 ("perl-log-report" ,perl-log-report)
676 ("perl-xml-compile" ,perl-xml-compile)
677 ("perl-xml-compile-cache" ,perl-xml-compile-cache)
678 ("perl-xml-compile-tester" ,perl-xml-compile-tester)))
679 (home-page "http://search.cpan.org/dist/XML-Compile-SOAP")
680 (synopsis "Base-class for SOAP implementations")
681 (description
682 "This module provides a class to handle the SOAP protocol. The first
683implementation is @url{SOAP1.1,
684http://www.w3.org/TR/2000/NOTE-SOAP-20000508/}, which is still most often
685used.")
2f3108ad 686 (license license:perl-license)))
baeab9b8 687
6a914948
RW
688(define-public perl-xml-compile-wsdl11
689 (package
690 (name "perl-xml-compile-wsdl11")
270cdbef 691 (version "3.06")
6a914948
RW
692 (source (origin
693 (method url-fetch)
694 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
695 "XML-Compile-WSDL11-" version ".tar.gz"))
696 (sha256
697 (base32
270cdbef 698 "0vbq05cpynm3jj81fw1k4nsb3wv4zngi6blvi1jhdarmh2rfg1x2"))))
6a914948
RW
699 (build-system perl-build-system)
700 (propagated-inputs
701 `(("perl-log-report" ,perl-log-report)
702 ("perl-xml-compile" ,perl-xml-compile)
703 ("perl-xml-compile-cache" ,perl-xml-compile-cache)
704 ("perl-xml-compile-soap" ,perl-xml-compile-soap)))
705 (home-page "http://search.cpan.org/dist/XML-Compile-WSDL11")
706 (synopsis "Create SOAP messages defined by WSDL 1.1")
707 (description
708 "This module understands WSDL version 1.1. A WSDL file defines a set of
709messages to be send and received over SOAP connections. This involves
710encoding of the message to be send into XML, sending the message to the
711server, collect the answer, and finally decoding the XML to Perl.")
2f3108ad 712 (license license:perl-license)))
6a914948 713
246455c2 714(define-public perl-xml-feed
715 (package
716 (name "perl-xml-feed")
717 (version "0.53")
718 (source (origin
719 (method url-fetch)
720 (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
721 "XML-Feed-" version ".tar.gz"))
722 (sha256
723 (base32
724 "07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c"))))
725 (build-system perl-build-system)
726 (arguments
727 `(#:tests? #f)) ; Tests require internet connection
728 (native-inputs
729 `(("perl-module-build" ,perl-module-build)
730 ("perl-uri" ,perl-uri)
731 ("perl-class-data-inheritable" ,perl-class-data-inheritable)))
732 (inputs
733 `(("perl-class-errorhandler" ,perl-class-errorhandler)
734 ("perl-datetime" ,perl-datetime)
735 ("perl-datetime-format-mail" ,perl-datetime-format-mail)
736 ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
737 ("perl-feed-find" ,perl-feed-find)
738 ("perl-html-parser" ,perl-html-parser)
739 ("perl-libwww-perl" ,perl-libwww)
740 ("perl-module-pluggable" ,perl-module-pluggable)
741 ("perl-uri-fetch" ,perl-uri-fetch)
742 ("perl-xml-atom" ,perl-xml-atom)
743 ("perl-xml-libxml" ,perl-xml-libxml)
744 ("perl-xml-rss" ,perl-xml-rss)))
745 (home-page "http://search.cpan.org/dist/XML-Feed")
746 (synopsis "XML Syndication Feed Support")
747 (description "@code{XML::Feed} is a syndication feed parser for both RSS and
748Atom feeds. It also implements feed auto-discovery for finding feeds, given a URI.
749@code{XML::Feed} supports the following syndication feed formats:
750RSS 0.91, RSS 1.0, RSS 2.0, Atom")
2f3108ad 751 (license license:perl-license)))
246455c2 752
0c1bab36 753(define-public perl-xml-xpath
754 (package
755 (name "perl-xml-xpath")
47b4cedf 756 (version "1.40")
0c1bab36 757 (source (origin
758 (method url-fetch)
759 (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
760 "XML-XPath-" version ".tar.gz"))
761 (sha256
762 (base32
47b4cedf 763 "07pa0bl42jka8mj7jshjynx8vpfh8b4cdyiv4zlkqvkqz98nzxib"))))
0c1bab36 764 (build-system perl-build-system)
765 (native-inputs
766 `(("perl-path-tiny" ,perl-path-tiny)))
767 (inputs
768 `(("perl-xml-parser" ,perl-xml-parser)))
769 (home-page "http://search.cpan.org/dist/XML-XPath")
770 (synopsis "Parse and evaluate XPath statements")
771 (description
772 "This module aims to comply exactly to the @url{XPath specification,
773https://www.w3.org/TR/xpath} and yet allow extensions to be added in
774the form of functions.")
2f3108ad 775 (license license:perl-license)))
0c1bab36 776
6ce212b8
RW
777(define-public pugixml
778 (package
779 (name "pugixml")
f821b101 780 (version "1.8.1")
6ce212b8
RW
781 (source
782 (origin
783 (method url-fetch)
0562a81e
EF
784 (uri (string-append "https://github.com/zeux/pugixml/releases/download/v"
785 version "/pugixml-" version ".tar.gz"))
6ce212b8
RW
786 (sha256
787 (base32
f821b101 788 "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80"))))
6ce212b8
RW
789 (build-system cmake-build-system)
790 (arguments
52c14bb6
RJ
791 `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC"
792 "-DCMAKE_C_FLAGS=-shared -fPIC")
793 #:tests? #f)) ; no tests
6ce212b8
RW
794 (home-page "http://pugixml.org")
795 (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
796 (description
797 "pugixml is a C++ XML processing library, which consists of a DOM-like
798interface with rich traversal/modification capabilities, a fast XML parser
799which constructs the DOM tree from an XML file/buffer, and an XPath 1.0
800implementation for complex data-driven tree queries. Full Unicode support is
801also available, with Unicode interface variants and conversions between
802different Unicode encodings which happen automatically during
803parsing/saving.")
804 (license license:expat)))
805
c2efe1ae
MB
806(define-public python-pyxb
807 (package
808 (name "python-pyxb")
809 (version "1.2.5")
810 (source (origin
811 (method url-fetch)
812 (uri (pypi-uri "PyXB" version))
813 (sha256
814 (base32
815 "0rzzwibfqa28gxgcxx4cybx1qcg0g6fand06ykj3gz7z5kp653sf"))))
816 (build-system python-build-system)
817 (home-page "http://pyxb.sourceforge.net/")
818 (synopsis "Python XML Schema Bindings")
819 (description
820 "PyXB (\"pixbee\") is a pure Python package that generates Python source
821code for classes that correspond to data structures defined by XMLSchema.")
822 (license (list license:asl2.0 ; Most files.
823 license:expat ; pyxb/utils/six.py
824 license:gpl2 ; bundled jquery in doc is dual MIT/GPL2
825 license:psfl)))) ; pyxb/utils/activestate.py
826
827(define-public python2-pyxb
828 (package-with-python2 python-pyxb))
829
37f9ff63
AE
830(define-public xmlto
831 (package
832 (name "xmlto")
877a6466 833 (version "0.0.28")
37f9ff63
AE
834 (source
835 (origin
836 (method url-fetch)
7bc19c92
LF
837 ;; The old source on fedorahosted.org is offline permanently:
838 ;; <https://bugs.gnu.org/25989>
839 (uri (string-append "mirror://debian/pool/main/x/xmlto/"
840 "xmlto_" version ".orig.tar.bz2"))
841 (file-name (string-append name "-" version ".tar.bz2"))
37f9ff63
AE
842 (sha256
843 (base32
877a6466 844 "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i"))))
37f9ff63 845 (build-system gnu-build-system)
ae0c1202
LC
846 (arguments
847 ;; Make sure the reference to util-linux's 'getopt' is kept in 'xmlto'.
848 '(#:configure-flags (list (string-append "GETOPT="
849 (assoc-ref %build-inputs
850 "util-linux")
851 "/bin/getopt"))))
37f9ff63 852 (inputs
ae0c1202
LC
853 `(("util-linux" ,util-linux) ; for 'getopt'
854 ("libxml2" ,libxml2) ; for 'xmllint'
855 ("libxslt" ,libxslt))) ; for 'xsltproc'
37f9ff63
AE
856 (home-page "http://cyberelk.net/tim/software/xmlto/")
857 (synopsis "Front-end to an XSL toolchain")
858 (description
859 "Xmlto is a front-end to an XSL toolchain. It chooses an appropriate
860stylesheet for the conversion you want and applies it using an external
861XSL-T processor. It also performs any necessary post-processing.")
862 (license license:gpl2+)))
0899144f
AE
863
864(define-public xmlsec
865 (package
866 (name "xmlsec")
867 (version "1.2.20")
868 (source (origin
869 (method url-fetch)
870 (uri (string-append "https://www.aleksey.com/xmlsec/download/"
871 name "1-" version ".tar.gz"))
872 (sha256
873 (base32
874 "01bkbv2y3x8d1sf4dcln1x3y2jyj391s3208d9a2ndhglly5j89j"))))
875 (build-system gnu-build-system)
876 (propagated-inputs ; according to xmlsec1.pc
877 `(("libxml2" ,libxml2)
878 ("libxslt" ,libxslt)))
879 (inputs
880 `(("gnutls" ,gnutls)
881 ("libgcrypt" ,libgcrypt)
882 ("libltdl" ,libltdl)))
e4aab734
RW
883 (native-inputs
884 `(("pkg-config" ,pkg-config)))
0899144f
AE
885 (home-page "http://www.libexpat.org/")
886 (synopsis "XML Security Library")
887 (description
888 "The XML Security Library is a C library based on Libxml2. It
889supports XML security standards such as XML Signature, XML Encryption,
890Canonical XML (part of Libxml2) and Exclusive Canonical XML (part of
891Libxml2).")
892 (license (license:x11-style "file://COPYING"
893 "See 'COPYING' in the distribution."))))
96f8d991
RW
894
895(define-public minixml
896 (package
897 (name "minixml")
898 (version "2.9")
899 (source (origin
900 (method url-fetch)
901 (uri (string-append "http://www.msweet.org/files/project3/mxml-"
902 version ".tar.gz"))
903 (sha256
904 (base32
905 "14pzhlfidj5v1qbxy7a59yn4jz9pnjrs2zwalz228jsq7ijm9vfd"))))
906 (build-system gnu-build-system)
907 (arguments
908 `(#:tests? #f)) ;no "check" target
909 (home-page "http://www.minixml.org/")
910 (synopsis "Small XML parsing library")
911 (description
912 "Mini-XML is a small C library to read and write XML files and strings in
913UTF-8 and UTF-16 encoding.")
914 ;; LGPL 2.0+ with additional exceptions for static linking
915 (license license:lgpl2.0+)))
33ae9107
DT
916
917;; TinyXML is an unmaintained piece of software, so the patches and build
918;; system massaging have no upstream potential.
919(define-public tinyxml
920 (package
921 (name "tinyxml")
922 (version "2.6.2")
923 (source (origin
924 (method url-fetch)
de67e922
LF
925 (uri (string-append "mirror://sourceforge/tinyxml/tinyxml/"
926 version "/tinyxml_"
33ae9107
DT
927 (string-join (string-split version #\.) "_")
928 ".tar.gz"))
929 (sha256
930 (base32
931 "14smciid19lvkxqznfig77jxn5s4iq3jpb47vh5a6zcaqp7gvg8m"))
fc1adab1 932 (patches (search-patches "tinyxml-use-stl.patch"))))
33ae9107
DT
933 (build-system gnu-build-system)
934 ;; This library is missing *a lot* of the steps to make it usable, so we
935 ;; have to add them here, like every other distro must do.
936 (arguments
937 `(#:phases
938 (modify-phases %standard-phases
939 (delete 'configure)
940 (add-after 'build 'build-shared-library
941 (lambda _
942 (zero? (system* "g++" "-Wall" "-O2" "-shared" "-fpic"
943 "tinyxml.cpp" "tinyxmlerror.cpp"
944 "tinyxmlparser.cpp" "tinystr.cpp"
945 "-o" "libtinyxml.so"))))
946 (replace 'check
947 (lambda _ (zero? (system "./xmltest"))))
948 (replace 'install
949 (lambda* (#:key outputs #:allow-other-keys)
950 (let* ((out (assoc-ref outputs "out"))
951 (include (string-append out "/include"))
952 (lib (string-append out "/lib"))
953 (pkgconfig (string-append out "/lib/pkgconfig"))
954 (doc (string-append out "/share/doc")))
955 ;; Install libs and headers.
956 (install-file "libtinyxml.so" lib)
957 (install-file "tinystr.h" include)
958 (install-file "tinyxml.h" include)
959 ;; Generate and install pkg-config file.
960 (mkdir-p pkgconfig)
961 ;; Software such as Kodi expect this file to be present, but
962 ;; it's not provided in the source code.
963 (call-with-output-file (string-append pkgconfig "/tinyxml.pc")
964 (lambda (port)
965 (format port "prefix=~a
966exec_prefix=${prefix}
967libdir=${exec_prefix}/lib
968includedir=${prefix}/include
969
970Name: TinyXML
971Description: A simple, small, C++ XML parser
972Version: ~a
973Libs: -L${libdir} -ltinyxml
974Cflags: -I${includedir}
975"
976 out ,version)))
977 ;; Install docs.
978 (mkdir-p doc)
979 (copy-recursively "docs" (string-append doc "tinyxml"))
980 #t))))))
981 (synopsis "Small XML parser for C++")
982 (description "TinyXML is a small and simple XML parsing library for the
05077200 983C++ programming language.")
33ae9107
DT
984 (home-page "http://www.grinninglizard.com/tinyxml/index.html")
985 (license license:zlib)))
fe9451c5 986
931bd7f6
TGR
987(define-public tinyxml2
988 (package
989 (name "tinyxml2")
990 (version "4.0.1")
991 (source
992 (origin
993 (method url-fetch)
994 (uri (string-append "https://github.com/leethomason/tinyxml2/archive/"
995 version ".tar.gz"))
996 (sha256
997 (base32
998 "083z4r4khcndxi9k840lcr48sqxvar4gpsnf749xfdn1bkr8xcql"))))
999 (build-system cmake-build-system)
1000 (arguments
1001 `(#:tests? #f)) ; no tests
1002 (synopsis "Small XML parser for C++")
1003 (description "TinyXML2 is a small and simple XML parsing library for the
1004C++ programming language.")
1005 (home-page "http://www.grinninglizard.com/tinyxml2/")
1006 (license license:zlib)))
1007
fe9451c5
RG
1008(define-public xmlstarlet
1009 (package
1010 (name "xmlstarlet")
1011 (version "1.6.1")
1012 (source
1013 (origin
1014 (method url-fetch)
1015 (uri (string-append "mirror://sourceforge/xmlstar/xmlstarlet/"
1016 version "/xmlstarlet-" version ".tar.gz"))
1017 (sha256
1018 (base32
1019 "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m"))))
1020 (build-system gnu-build-system)
22ea0235
MB
1021 (arguments
1022 '(#:phases
1023 (modify-phases %standard-phases
1024 (add-before 'check 'drop-failing-tests
1025 (lambda _
1026 ;; FIXME: Why are these tests failing.
1027 (substitute* "Makefile"
1028 (("^examples/schema1\\\\") "\\")
1029 (("^examples/valid1\\\\") "\\"))
1030 #t)))))
fe9451c5
RG
1031 (inputs
1032 `(("libxslt" ,libxslt)
1033 ("libxml2" ,libxml2)))
1034 (home-page "http://xmlstar.sourceforge.net/")
1035 (synopsis "Command line XML toolkit")
1036 (description "XMLStarlet is a set of command line utilities which can be
1037used to transform, query, validate, and edit XML documents. XPath is used to
1038match and extract data, and elements can be added, deleted or modified using
1039XSLT and EXSLT.")
1040 (license license:x11)))
19c33040
JN
1041
1042(define-public xlsx2csv
1043 (package
1044 (name "xlsx2csv")
1045 (version "0.7.2")
1046 (source (origin
1047 (method url-fetch)
1048 (uri (string-append
1049 "https://github.com/dilshod/"
1050 name "/archive/release/" version ".tar.gz"))
1051 (file-name (string-append name "-" version ".tar.gz"))
1052 (sha256
1053 (base32
1054 "1gpn6kaa7l1ai8c9zx2j3acf04bvxq79pni8jjfjrk01smjbyyql"))))
1055 (build-system python-build-system)
1056 (arguments
1057 `(#:python ,python-2 ; Use python-2 for the test script.
1058 #:phases
1059 (modify-phases %standard-phases
1060 (replace 'check
1061 (lambda _
1062 (substitute* "test/run"
1063 ;; Run tests with `python' only
1064 (("^(PYTHON_VERSIONS = ).*" all m) (string-append m "['']")))
1065 (zero? (system* "test/run")))))))
1066 (home-page "https://github.com/dilshod/xlsx2csv")
1067 (synopsis "XLSX to CSV converter")
1068 (description
1069 "Xlsx2csv is a program to convert Microsoft Excel 2007 XML (XLSX and
1070XLSM) format spreadsheets into plaintext @dfn{comma separated values} (CSV)
1071files. It is designed to be fast and to handle large input files.")
1072 (license license:gpl2+)))
d2b51c08 1073
1074(define-public python-defusedxml
1075 (package
1076 (name "python-defusedxml")
1077 (version "0.4.1")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (pypi-uri "defusedxml" version))
1082 (sha256
1083 (base32
1084 "0y147zy3jqmk6ly7fbhqmzn1hf41xcb53f2vcc3m8x4ba5d1smfd"))))
1085 (build-system python-build-system)
1086 (home-page "https://bitbucket.org/tiran/defusedxml")
1087 (synopsis "XML bomb protection for Python stdlib modules")
1088 (description
1089 "Defusedxml provides XML bomb protection for Python stdlib modules.")
1090 (license license:psfl)))
1091
1092(define-public python2-defusedxml
1093 (package-with-python2 python-defusedxml))
ca8f3f9a
AP
1094
1095(define-public libxls
1096 (package
1097 (name "libxls")
1098 (version "1.4.0")
1099 (source (origin
1100 (method url-fetch)
1101 (uri (string-append "https://sourceforge.net/projects/"
1102 name "/files/" name "-"
1103 version ".zip"))
1104 (sha256
1105 (base32
1106 "1g8ds7wbhsa4hdcn77xc2c0l3vvz5bx2hx9ng9c9n7aii92ymfnk"))))
1107 (build-system gnu-build-system)
1108 (arguments
1109 `(#:phases
1110 (modify-phases %standard-phases
1111 ;; Bootstrapping is required in order to fix the test driver script.
1112 (add-after 'unpack 'bootstrap
1113 (lambda _
1114 (zero? (system* "bash" "bootstrap")))))))
1115 (native-inputs
1116 `(("unzip" ,unzip)
1117 ("autoconf" ,autoconf)
1118 ("automake" ,automake)
1119 ("libtool" ,libtool)))
1120 (home-page "http://libxls.sourceforge.net/")
1121 (synopsis "Read Excel files")
1122 (description
1123 "libxls is a C library which can read Excel (xls) files since Excel 97 (the BIFF8 format).
1124libxls cannot write Excel files.")
1125 (license license:bsd-2)))
623fb4d1
AP
1126
1127(define-public freexl
1128 (package
1129 (name "freexl")
1130 (version "1.0.2")
1131 (source (origin
1132 (method url-fetch)
1133 (uri (string-append "http://www.gaia-gis.it/gaia-sins/"
1134 name "-" version ".tar.gz"))
1135 (sha256
1136 (base32
1137 "17a0yrjb0gln7819j0vp7y25imhvwpil2b0rm44mwgzml0a4i6mk"))))
1138 (build-system gnu-build-system)
1139 (home-page "https://www.gaia-gis.it/fossil/freexl/index")
1140 (synopsis "Read Excel files")
1141 (description
1142 "FreeXL is a C library to extract valid data from within an Excel (.xls)
1143spreadsheet.")
1144 ;; Any of these licenses may be picked.
1145 (license (list license:gpl2+
1146 license:lgpl2.1+
1147 license:mpl1.1))))
d00d6cea
RW
1148
1149(define-public xerces-c
1150 (package
1151 (name "xerces-c")
1152 (version "3.1.4")
1153 (source (origin
1154 (method url-fetch)
1155 (uri (string-append "mirror://apache/xerces/c/3/sources/"
1156 "xerces-c-" version ".tar.xz"))
1157 (sha256
1158 (base32
1159 "0hb29c0smqlpxj0zdm09s983z5jx37szlliccnvgh0qq91wwqwwr"))))
1160 (build-system gnu-build-system)
1161 (arguments
1162 (let ((system (or (%current-target-system)
1163 (%current-system))))
1164 (if (string-prefix? "x86_64" system)
1165 '()
1166 '(#:configure-flags '("--disable-sse2")))))
1167 (native-inputs
1168 `(("perl" ,perl)))
1169 (home-page "http://xerces.apache.org/xerces-c/")
1170 (synopsis "Validating XML parser library for C++")
1171 (description "Xerces-C++ is a validating XML parser written in a portable
1172subset of C++. Xerces-C++ makes it easy to give your application the ability
1173to read and write XML data. A shared library is provided for parsing,
1174generating, manipulating, and validating XML documents using the DOM, SAX, and
1175SAX2 APIs.")
1176 (license license:asl2.0)))