Subject: [PATCH 09/21] gnu: python-flufl-lock: Update to 8.1.0.

From: Nicolas Graves <[email-masked]>
Date: Sun, 6 Apr 2025 14:37:11 +0200

* gnu/packages/python-xyz.scm (python-flufl-lock): Update to 8.1.0.
[build-system]: Switch to pyproject.
[arguments]{test-flags}: Ignore docs and coverage tests.
{phases}: Add phase 'add-custom-dist-info.
[native-inputs]: Add python-hatchling, python-pytest,
python-pytest-cov, python-sybil.
---
 gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index efdf82e58c..f779acd4df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34729,15 +34729,38 @@ (define-public python-flufl-i18n
 (define-public python-flufl-lock
   (package
     (name "python-flufl-lock")
-    (version "4.0")
+    (version "8.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "flufl.lock" version))
         (sha256
-         (base32
-          "055941zyma3wfx25jhm8wcsghpv3jc3iwi1gdrdjhzcnfhn62lxq"))))
-    (build-system python-build-system)
+         (base32 "1jz7vipjga4x803gfsb9mvnfb6q8my7ib000nsc3v9ljaq0050yq"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:test-flags
+           #~(list "--no-cov" "--ignore-glob=docs/*")
+           #:phases
+           #~(modify-phases %standard-phases
+               ;; This phase add a symlink of dist-info dir for packages
+               ;; expecting flufl.lock rather than flufl_lock (mailman).
+               (add-after 'install 'add-custom-dist-info
+                 (lambda _
+                   (for-each
+                    (lambda (dir)
+                      (with-directory-excursion (dirname dir)
+                        (let ((base (basename dir)))
+                          (symlink base
+                                   (string-join (string-split base #\_) ".")))))
+                    (find-files #$output
+                                (lambda (file stat)
+                                  (string-suffix? ".dist-info" file))
+                                #:directories? #t)))))))
+    (native-inputs
+     (list python-hatchling
+           python-pytest
+           python-pytest-cov
+           python-sybil))
     (propagated-inputs
      (list python-atpublic python-psutil))
     (home-page "https://flufllock.readthedocs.io")
-- 
2.49.0