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