diff options
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r-- | gnu/packages/xml.scm | 205 |
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))) |