Subject: [bug#55104] [PATCH 092/232] gnu: Add python-untangle.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 24 Apr 2022 23:56:58 -0400

* gnu/packages/xml.scm (python-untangle): New variable.
---
 gnu/packages/xml.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index db004c11b6..a0d8d20102 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages xml)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -2544,6 +2545,35 @@ (define-public python-lxml-4.7
 (define-public python2-lxml
   (package-with-python2 python-lxml))
 
+(define-public python-untangle
+  ;; The latest tagged release is from 2014; use the latest commit.
+  (let ((revision "1")
+        (commit "fb916a9621175d000a3b0ca9322d3b3ebf8570c0"))
+    (package
+      (name "python-untangle")
+      ;; PyPI currently offers some untagged 1.1.1 version.
+      (version (git-version "1.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)             ;no tests in pypi archive
+         (uri (git-reference
+               (url "https://github.com/stchris/untangle")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0dn2jz9ajncbqx3pdlgqaxmngl6pdiaz03nj8mkddasckdq9lbrh"))))
+      (build-system python-build-system)
+      (arguments (list #:phases #~(modify-phases %standard-phases
+                                    (replace 'check
+                                      (lambda* (#:key tests? #:allow-other-keys)
+                                        (when tests?
+                                          (invoke "python" "tests/tests.py")))))))
+      (home-page "http://0chris.com/untangle")
+      (synopsis "XML to Python objects conversion library")
+      (description "@code{untangle} is a tiny Python library which converts an
+XML document to a Python object.")
+      (license license:expat))))
+
 (define-public python-xmlschema
   (package
     (name "python-xmlschema")
-- 
2.34.0