Subject: [PATCH] gnu: Add python-ldaptor.

From: Sharlatan Hellseher <[email-masked]>
Date: Tue, 27 Feb 2024 19:09:12 +0000

* gnu/packages/python-xyz.scm (python-ldaptor): New variable.

Change-Id: If7d2cb7b51bb0ccc85b76d7f2d4b31857e042066
---
 gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 80ec098b7a..6df55c1b7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20007,6 +20007,55 @@ (define-public python-twisted-22
                python-typing-extensions
                `(,python "tk"))))))
 
+(define-public python-ldaptor
+  (package
+    (name "python-ldaptor")
+    (version "21.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ldaptor" version))
+       (sha256
+        (base32 "0n53czn5pyh8923y282spdb7xc8c9rhn0n43bczanjjx6wcynjcc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list "-m" "twisted.trial"
+              (string-append "-j" (number->string (parallel-job-count)))
+              "ldaptor")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'disable-failing-tests
+          (lambda _
+            ;; Testing with Twisted 22.4 results in infinite loop creating
+            ;; temporary config files, see
+            ;; <https://github.com/twisted/ldaptor/issues/238>.
+            (delete-file "ldaptor/test/test_config.py")))
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (apply invoke "python" test-flags)))))))
+    (propagated-inputs
+     (list python-passlib
+           python-pyparsing
+           python-six
+           python-twisted-22
+           python-zope-interface))
+    (home-page "https://github.com/twisted/ldaptor")
+    (synopsis "Pure-Python Twisted library for LDAP")
+    (description
+     "This package provides a Python Twisted library for LDAP, which key
+feaatures are:
+@itemize
+@item LDAP client logic
+@item separately-accessible LDAP and BER protocol message generation/parsing
+@item ASCII-format LDAP filter generation and parsing
+@item LDIF format data generation
+@item Samba password changing logic
+@end itemize")
+    (license license:expat)))
+
 (define-public python-pika
   (package
     (name "python-pika")

base-commit: 1306beaf3f6c8ddded2a956f5863bc65aad78882
prerequisite-patch-id: e95e4f5dfdbb868da6fd30f0a02105147faf91f5
prerequisite-patch-id: 82aa4f0d751771b48cad84aff0e2c44aee64a212
prerequisite-patch-id: bf036a9eacd9f13ec4fd6bfa5fe5d941101f1e7a
prerequisite-patch-id: 0c1231398b1f03c8c353c4169f4633d57a8c382b
prerequisite-patch-id: 8eb030a25f8399d3183ad0613487f408b2e24997
prerequisite-patch-id: 362a2851ab947aad0ff87255206e4e23b60efd4e
prerequisite-patch-id: 9393c6262847dd7a8fa31d77ab0397c7c94f1dae
prerequisite-patch-id: 7337fa584ae6858660cd62cc09acfbc312bea064
prerequisite-patch-id: e24f28c35db27a23dc3afb6a095a4b0efabc897e
prerequisite-patch-id: 3e0785bcda3dd606524e04fd7a9f76312a800de5
-- 
2.41.0