Subject: [PATCH 10/19] gnu: Add perl-xml-descent.

From: Marius Bakke <[email-masked]>
Date: Wed, 22 Feb 2017 16:04:11 +0100

* gnu/packages/xml.scm (perl-xml-descent): New variable.
---
 gnu/packages/xml.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index f66b8a65b..562714070 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2016 Jan Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2016 ng0 <[email-masked]>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <[email-masked]>
-;;; Copyright © 2016 Marius Bakke <[email-masked]>
+;;; Copyright © 2016, 2017 Marius Bakke <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -238,6 +238,34 @@ the @code{Graph} class and write it out in a specific file format.")
 @code{XML::Atom} implements the feed format as well as a client for the API.")
     (license (package-license perl))))
 
+(define-public perl-xml-descent
+  (package
+    (name "perl-xml-descent")
+    (version "1.04")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
+                                  "XML-Descent-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)))
+    (propagated-inputs
+     `(("perl-test-differences" ,perl-test-differences)
+       ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
+    (home-page "http://search.cpan.org/dist/XML-Descent")
+    (synopsis "Recursive descent XML parsing")
+    (description
+     "The conventional models for parsing XML are either DOM (a data
+structure representing the entire document tree is created) or SAX
+(callbacks are issued for each element in the XML).
+
+XML grammar is recursive - so it's nice to be able to write recursive
+parsers for it.  @code{XML::Descent} allows such parsers to be created.")
+    (license (package-license perl))))
+
 (define-public perl-xml-parser
   (package
     (name "perl-xml-parser")
-- 
2.11.1