gnu: facter: Update to 4.0.33.
[jackhill/guix/guix.git] / gnu / packages / openldap.scm
index 334affc..14bf874 100644 (file)
@@ -5,6 +5,8 @@
 ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,7 +51,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages)
-  #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl))
+  #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl expat))
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (guix download)
@@ -59,6 +61,7 @@
 (define-public openldap
   (package
    (name "openldap")
+   (replacement openldap-2.4.50)
    (version "2.4.49")
    (source (origin
             (method url-fetch)
    (inputs `(("bdb" ,bdb-5.3)
              ("cyrus-sasl" ,cyrus-sasl)
              ("gnutls" ,gnutls)
-             ("icu4c" ,icu4c)
              ("libgcrypt" ,libgcrypt)
              ("zlib" ,zlib)))
    (native-inputs `(("libtool" ,libtool)
                     ("groff" ,groff)
-                    ("bdb" ,bdb-5.3)
-                    ;; For up to date 'config.guess' and 'config.sub'.
-                    ("automake" ,automake)))
+                    ("bdb" ,bdb-5.3)))
    (arguments
     `(#:tests? #f
       #:configure-flags
       #:make-flags '("STRIP=")
       #:phases
       (modify-phases %standard-phases
-        (add-after 'unpack 'fix-configure
-          (lambda* (#:key inputs native-inputs #:allow-other-keys)
-            ;; Replace outdated config.sub and config.guess:
-            (with-directory-excursion "build"
-              (for-each (lambda (file)
-                          (install-file (string-append
-                                         (assoc-ref
-                                          (or native-inputs inputs) "automake")
-                                         "/share/automake-"
-                                         ,(version-major+minor
-                                           (package-version automake))
-                                         "/" file) "."))
-                        '("config.sub" "config.guess")))
-            #t))
         ,@(if (%current-target-system)
               '((add-before 'configure 'fix-cross-gcc
                   (lambda* (#:key target #:allow-other-keys)
    (license openldap2.8)
    (home-page "https://www.openldap.org/")))
 
+(define openldap-2.4.50
+  (package
+    (inherit openldap)
+    (version "2.4.50")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.openldap.org/software/download/"
+                                  "OpenLDAP/openldap-release/openldap-" version
+                                  ".tgz"))
+              (sha256
+               (base32
+                "1f46nlfwmys110j36sifm7ah8m8f3s10c3vaiikmmigmifapvdaw"))))))
+
 (define-public nss-pam-ldapd
   (package
     (name "nss-pam-ldapd")
@@ -399,3 +398,30 @@ Other features include:
 @end enumerate\n")
     ;; GPLv3+ with OpenSSL linking exception.
     (license gpl3+)))
+
+(define-public python-bonsai
+  (package
+    (name "python-bonsai")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "bonsai" version))
+       (sha256
+        (base32
+         "013bl6h1m3f7vg1lk89d4vi28wbf31zdcs4f9g8css7ngx63v6px"))))
+    (build-system python-build-system)
+    (inputs
+     `(("mit-krb5" ,mit-krb5)
+       ("cyrus-sasl" ,cyrus-sasl)
+       ("openldap" ,openldap)))
+    ;; disabling tests, since they require docker and extensive setup
+    (arguments `(#:tests? #f))
+    (home-page "https://github.com/noirello/bonsai")
+    (synopsis "Access LDAP directory servers from Python")
+    (description
+     "This is a module for handling LDAP operations in Python.  LDAP entries
+are mapped to a special Python case-insensitive dictionary, tracking the
+changes of the dictionary to modify the entry on the server easily.")
+    (license expat)))
+