metznet-channel/metznet/packages/slapd.scm

98 lines
4.5 KiB
Scheme

(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 <http://www.openldap.org/software/download/> 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/")))