Subject: [PATCH 067/232] gnu: Add python-ubelt.

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

* gnu/packages/python-xyz.scm (python-ubelt): New variable.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 59e7d5112f..e589bbdd3a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -362,6 +362,50 @@ (define-public python-logbook
 applications in mind and the idea to make logging fun.")
     (license license:bsd-3)))
 
+(define-public python-ubelt
+  (package
+    (name "python-ubelt")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Erotemic/ubelt")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0hac9nqqvqfbca2s4g0mp1fnj0ah60bg9fb8234ibna3jww8qs33"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (setenv "HOME" "/tmp") ;else the test suite hangs
+                     (invoke "pytest" "-vv" "-k"
+                             (string-append
+                              ;; The builder user home doesn't match HOME,
+                              ;; which causes this test to fail.
+                              "not userhome "
+                              ;; This one pointlessly tries
+                              ;; locating various binaries on
+                              ;; the path.
+                              "and not find_exe"))))))))
+    (propagated-inputs (list python-ordered-set))
+    (native-inputs
+     (list python-pytest
+           python-requests
+           python-xdoctest))
+    (home-page "https://github.com/Erotemic/ubelt")
+    (synopsis "Python library for hashing, caching, timing and more")
+    (description "Ubelt is a small library of simple functions that extend the
+Python standard library.  It includes an @acronym{API, Application Programming
+Interface} to simplify common problems such as caching, timing, computing
+progress, among other things.")
+    (license license:asl2.0)))
+
 (define-public python-ueberzug
   (package
     (name "python-ueberzug")
-- 
2.34.0