(define-module (metznet packages slapd) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages dbm) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages tls) #:use-module (gnu packages gnupg) #:use-module (gnu packages compression) #:use-module (gnu packages autotools) #:use-module (gnu packages groff) #:export (openldap-slapd)) (define-public openldap-slapd (package (name "openldap-slapd") (version "2.6.4") (source (origin (method url-fetch) ;; See for a list of ;; mirrors. (uri (list (string-append "http://repository.linagora.org/OpenLDAP" "/openldap-release/openldap-" version ".tgz") (string-append "https://www.openldap.org/software/download/OpenLDAP/" "openldap-release/openldap-" version ".tgz") (string-append "ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/" "openldap-release/openldap-" version ".tgz"))) (sha256 (base32 "1489li52sjxm1f97v927jxaxzfk6v9sa32ixrw30qhvq07jh85ym")))) (build-system gnu-build-system) (inputs (list bdb-5.3 cyrus-sasl openssl gnutls libgcrypt zlib)) (native-inputs (list libltdl libtool groff bdb-5.3)) (arguments (list #:tests? #f #:configure-flags #~(list "--disable-static" "--with-tls=openssl" "--enable-slapd" "--enable-crypt" "--enable-modules" "--enable-ldap" "--enable-slapi" "--enable-mdb" "--enable-meta" "--enable-passwd" "--enable-overlays" "--enable-shared" "--with-cyrus-sasl" #$@(if (%current-target-system) '("--with-yielding_select=yes" "ac_cv_func_memcmp_working=yes") '())) ;; Disable install stripping as it breaks cross-compiling. #:make-flags #~(list "STRIP=") #:phases #~(modify-phases %standard-phases (add-after 'install 'build-slapd-totp-module (lambda* (#:key source #:allow-other-keys) (begin (chdir "./contrib/slapd-modules/passwd/totp") (mkdir-p (string-append #$output "/libexec/openldap")) (invoke "make" "slapd-totp.lo") (invoke "../../../../libtool" "--mode=link" "gcc" "-rpath" "/libexec/openldap" "-version-info" "0:0:0" "-module" "-o" "pw-totp.la" "slapd-totp.lo" "../../../../libraries/libldap/libldap.la" "../../../../libraries/liblber/liblber.la") (invoke "../../../../libtool" "--mode=install" "cp" "pw-totp.la" (string-append #$output "/libexec/openldap")) (chdir "../../../../"))))))) (synopsis "Implementation of the Lightweight Directory Access Protocol") (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") (license license:openldap2.8) (home-page "https://www.openldap.org/")))