aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r--gnu/packages/xml.scm205
1 files changed, 166 insertions, 39 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index d889e602ed..23641842e6 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -5,18 +5,19 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,15 +57,14 @@
(define-public expat
(package
(name "expat")
- (version "2.2.1")
- (replacement expat-2.2.2)
+ (version "2.2.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/expat/expat/"
version "/expat-" version ".tar.bz2"))
(sha256
(base32
- "11c8jy1wvllvlk7xdc5cm8hdhg0hvs8j0aqy6s702an8wkdcls0q"))))
+ "17h1fb9zvqvf0sr78j211bngc6jpql5wzar8fg9b52jzjvdqbb83"))))
(build-system gnu-build-system)
(home-page "http://www.libexpat.org/")
(synopsis "Stream-oriented XML parser library written in C")
@@ -74,18 +74,6 @@ stream-oriented parser in which an application registers handlers for
things the parser might find in the XML document (like start tags).")
(license license:expat)))
-(define expat-2.2.2 ; Fixes CVE-2017-9233, CVE-2016-9063 and other issues.
- (package
- (inherit expat)
- (version "2.2.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/expat/expat/"
- version "/expat-" version ".tar.bz2"))
- (sha256
- (base32
- "0ik0r39ala9c6hj4kxrk933klgwkzlkbrfhvhaykx8l1rwgr2xj3"))))))
-
(define-public libebml
(package
(name "libebml")
@@ -110,17 +98,14 @@ hierarchical form with variable field lengths.")
(define-public libxml2
(package
(name "libxml2")
- (version "2.9.4")
- (replacement libxml2/fixed)
+ (version "2.9.6")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
version ".tar.gz"))
- (patches (search-patches "libxml2-CVE-2016-4658.patch"
- "libxml2-CVE-2016-5131.patch"))
(sha256
(base32
- "0g336cr0bw6dax1q48bblphmchgihx9p1pjmxdnrd6sh3qci3fgz"))))
+ "1g7byn6y0yw17rl74gs89xnxrpwj424938rf8qfqh3i4lz63i44b"))))
(build-system gnu-build-system)
(home-page "http://www.xmlsoft.org/")
(synopsis "C parser for XML")
@@ -140,20 +125,6 @@ hierarchical form with variable field lengths.")
project (but it is usable outside of the Gnome platform).")
(license license:x11)))
-(define libxml2/fixed
- (package
- (inherit libxml2)
- (source
- (origin
- (inherit (package-source libxml2))
- (patches
- (append (origin-patches (package-source libxml2))
- (search-patches "libxml2-CVE-2017-0663.patch"
- "libxml2-CVE-2017-7375.patch"
- "libxml2-CVE-2017-7376.patch"
- "libxml2-CVE-2017-9047+CVE-2017-9048.patch"
- "libxml2-CVE-2017-9049+CVE-2017-9050.patch")))))))
-
(define-public python-libxml2
(package (inherit libxml2)
(name "python-libxml2")
@@ -186,15 +157,14 @@ project (but it is usable outside of the Gnome platform).")
(define-public libxslt
(package
(name "libxslt")
- (version "1.1.29")
+ (version "1.1.31")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-"
version ".tar.gz"))
- (patches (search-patches "libxslt-CVE-2016-4738.patch"))
(sha256
(base32
- "1klh81xbm9ppzgqk339097i39b7fnpmlj8lzn8bpczl3aww6x5xm"))
+ "1azk48vf91nfajhm7k9cz3zrvh0aaq85ph37gqkl84c0ddmyj9fv"))
(patches (search-patches "libxslt-generated-ids.patch"))))
(build-system gnu-build-system)
(home-page "http://xmlsoft.org/XSLT/index.html")
@@ -1266,3 +1236,160 @@ This framework aids the development of XML systems with minimal effort and
reduced errors. It offers full object serialization and deserialization,
maintaining each reference encountered.")
(license license:asl2.0)))
+
+(define-public perl-xml-xpathengine
+ (package
+ (name "perl-xml-xpathengine")
+ (version "0.14")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
+ "XML-XPathEngine-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0r72na14bmsxfd16s9nlza155amqww0k8wsa9x2a3sqbpp5ppznj"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/XML-XPathEngine/")
+ (synopsis "Re-usable XPath engine for DOM-like trees")
+ (description
+ "This module provides an XPath engine, that can be re-used by other
+modules/classes that implement trees.
+
+In order to use the XPath engine, nodes in the user module need to mimick DOM
+nodes. The degree of similitude between the user tree and a DOM dictates how
+much of the XPath features can be used. A module implementing all of the DOM
+should be able to use this module very easily (you might need to add the
+@code{cmp} method on nodes in order to get ordered result sets).")
+ (license license:perl-license)))
+
+(define-public perl-tree-xpathengine
+ (package
+ (name "perl-tree-xpathengine")
+ (version "0.05")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
+ "Tree-XPathEngine-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vbbw8wxm79r3xbra8narw1dqvm34510q67wbmg2zmj6zd1k06r9"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Tree-XPathEngine/")
+ (synopsis "Re-usable XPath engine")
+ (description
+ "This module provides an XPath engine, that can be re-used by other
+module/classes that implement trees. It is designed to be compatible with
+@code{Class::XPath}, ie it passes its tests if you replace @code{Class::XPath}
+by @code{Tree::XPathEngine}.")
+ (license license:perl-license)))
+
+(define-public perl-xml-filter-buffertext
+ (package
+ (name "perl-xml-filter-buffertext")
+ (version "1.01")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RB/RBERJON/"
+ "XML-Filter-BufferText-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0p5785c1dsk6kdp505vapb5h54k8krrz8699hpgm9igf7dni5llg"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-xml-sax-base" ,perl-xml-sax-base)))
+ (home-page "http://search.cpan.org/dist/XML-Filter-BufferText/")
+ (synopsis "Filter to put all characters() in one event")
+ (description "This is a very simple filter. One common cause of
+grief (and programmer error) is that XML parsers aren't required to provide
+character events in one chunk. They can, but are not forced to, and most
+don't. This filter does the trivial but oft-repeated task of putting all
+characters into a single event.")
+ (license license:perl-license)))
+
+(define-public perl-xml-sax-writer
+ (package
+ (name "perl-xml-sax-writer")
+ (version "0.57")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/P/PE/PERIGRIN/"
+ "XML-SAX-Writer-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w1cd1ybxdvhmnxdlkywi3x5ka3g4md42kyynksjc09vyizd0q9x"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-libxml" ,perl-libxml)
+ ("perl-xml-filter-buffertext" ,perl-xml-filter-buffertext)
+ ("perl-xml-namespacesupport", perl-xml-namespacesupport)
+ ("perl-xml-sax-base" ,perl-xml-sax-base)))
+ (home-page "http://search.cpan.org/dist/XML-SAX-Writer/")
+ (synopsis "SAX2 XML Writer")
+ (description
+ "This is an XML writer that understands SAX2. It is based on
+@code{XML::Handler::YAWriter}.")
+ (license license:perl-license)))
+
+(define-public perl-xml-handler-yawriter
+ (package
+ (name "perl-xml-handler-yawriter")
+ (version "0.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/K/KR/KRAEHE/"
+ "XML-Handler-YAWriter-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11d45a1sz862va9rry3p2m77pwvq3kpsvgwhc5ramh9mbszbnk77"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-libxml" ,perl-libxml)))
+ (home-page "http://search.cpan.org/dist/XML-Handler-YAWriter/")
+ (synopsis "Yet another Perl SAX XML Writer")
+ (description "YAWriter implements Yet Another @code{XML::Handler::Writer}.
+It provides a flexible escaping technique and pretty printing.")
+ (license license:perl-license)))
+
+(define-public perl-xml-twig
+ (package
+ (name "perl-xml-twig")
+ (version "3.52")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MI/MIROD/"
+ "XML-Twig-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bc0hrz4jp6199hi29sdxmb9gyy45whla9hd19yqfasgq8k5ixzy"))))
+ (build-system perl-build-system)
+ (inputs
+ `(("expat" ,expat)))
+ (propagated-inputs
+ `(("perl-html-tidy" ,perl-html-tidy)
+ ("perl-html-tree" ,perl-html-tree)
+ ("perl-io-captureoutput" ,perl-io-captureoutput)
+ ("perl-io-string" ,perl-io-string)
+ ("perl-io-stringy" ,perl-io-stringy)
+ ("perl-libxml" ,perl-libxml)
+ ("perl-xml-filter-buffertext" ,perl-xml-filter-buffertext)
+ ("perl-xml-handler-yawriter" ,perl-xml-handler-yawriter)
+ ("perl-xml-parser" ,perl-xml-parser)
+ ("perl-xml-sax-writer" ,perl-xml-sax-writer)
+ ("perl-xml-simple" ,perl-xml-simple)
+ ("perl-xml-xpathengine" ,perl-xml-xpathengine)
+ ("perl-test-pod", perl-test-pod)
+ ("perl-tree-xpathengine" ,perl-tree-xpathengine)))
+ (home-page "http://search.cpan.org/dist/XML-Twig/")
+ (synopsis "Perl module for processing huge XML documents in tree mode")
+ (description "@code{XML::Twig} is an XML transformation module. Its
+strong points: can be used to process huge documents while still being in tree
+mode; not bound by DOM or SAX, so it is very perlish and offers a very
+comprehensive set of methods; simple to use; DWIMs as much as possible.
+
+What it doesn't offer: full SAX support (it can export SAX, but only reads
+XML), full XPath support (unless you use @code{XML::Twig::XPath}), nor DOM
+support.")
+ (license license:perl-license)))