COMMENT-main= LDAP client library and tools COMMENT-server= LDAP directory server DISTNAME= openldap-2.6.13 MULTI_PACKAGES= -main -server PKGNAME-main= ${DISTNAME:S/-/-client-/} EXTRACT_SUFX= .tgz # aci only affects the server; override pkgname/path for the client FULLPKGNAME-main= ${DISTNAME:S/-/-client-/}${FLAVOR_EXT:S/-aci//} FULLPKGPATH-main= databases/openldap,-main${FLAVOR_EXT:S/-aci//:S/-/,/g} EPOCH= 0 SHARED_LIBS += lber 16.0 SHARED_LIBS += ldap 16.0 CATEGORIES= databases net HOMEPAGE= https://www.openldap.org/ MAINTAINER= Stuart Henderson # OpenLDAP Public License PERMIT_PACKAGE= Yes WANTLIB= c crypto pthread sasl2 ssl WANTLIB-server= ${WANTLIB} lber ldap ltdl m perl sodium SITES= https://openldap.org/software/download/OpenLDAP/openldap-release/ \ https://mirror.eu.oneandone.net/software/openldap/ \ https://mirror.aarnet.edu.au/pub/openldap/openldap-release/ \ ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-release/ COMPILER= base-clang ports-gcc COMPILER_LANGS= c DPB_PROPERTIES= parallel DEBUG_PACKAGES= ${BUILD_PACKAGES} AUTOCONF_VERSION= 2.71 CONFIGURE_STYLE= autoconf USE_GMAKE= Yes MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} ${WRKSRC}/build FLAVOR?= FLAVORS= aci gssapi CONFIGURE_ARGS= --enable-dynamic \ --enable-ipv6 \ --with-tls=openssl # lloadd needs the ports version of libevent, autoconf check # needs tweaking for this. (manuals @commented, too). CONFIGURE_ARGS += --disable-balancer # --enable-balancer / --enable-balancer=mod # options CONFIGURE_ARGS += --enable-argon2 \ --enable-cleartext \ --enable-crypt \ --enable-modules \ --enable-spasswd \ --with-argon2=libsodium \ --with-cyrus-sasl # default to using modules rather than linked in to slapd directly # doing this enables everything by default rather than having a mix of # on/off so some are either disabled below or set to 'yes' to link in # directly. link in the mdb backend and syncprov overlay to slapd # itself so in the common case there's no need to change config to # load modules. CONFIGURE_ARGS += --enable-backends=mod \ --enable-mdb=yes \ --enable-overlays=mod \ --enable-syncprov=yes # disabled backends (other available backends are built as modules) CONFIGURE_ARGS += --disable-passwd \ --disable-sock \ --disable-sql \ --disable-wt # aci cannot be built as a module .if ${FLAVOR:Maci} CONFIGURE_ARGS += --enable-dynacl \ --enable-aci .endif .if ${FLAVOR:Mgssapi} CONFIGURE_ARGS += --enable-gssapi=${LOCALBASE}/heimdal MODULES += security/heimdal WANTLIB += heimdal/lib/gssapi WANTLIB += heimdal/lib/heimntlm WANTLIB += heimdal/lib/heimsqlite .endif LIB_DEPENDS += security/cyrus-sasl2 LIB_DEPENDS-server= ${LIB_DEPENDS} \ ${BUILD_PKGPATH},-main \ devel/libtool,-ltdl \ security/libsodium CPPFLAGS= -I${LOCALBASE}/include/sasl -I${LOCALBASE}/include LDFLAGS= -L${LOCALBASE}/lib -Wl,--export-dynamic CFLAGS += -Wno-format-extra-args CONFIGURE_ENV += CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" # bypass autoconf check for OpenSSL 1.1.1+ function which is not # actually used in OpenLDAP code CONFIGURE_ENV += ac_cv_lib_ssl_SSL_export_keying_material_early=yes # just to allow lining up @samples in PLISTs LDAP_SYSCONF = ${SYSCONFDIR}/openldap SUBST_VARS += LDAP_SYSCONF post-extract: ${INSTALL_SCRIPT} ${FILESDIR}/soelim.awk ${WRKDIR}/bin/soelim post-build: cd ${WRKSRC}/contrib/slapd-modules/passwd/totp; \ ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \ CC="${CC}" OPT="${CFLAGS}" # mv config files rather than overriding in FAKE_FLAGS; the filenames # are merged into manpages during fake-install post-install: mv ${WRKINST}${SYSCONFDIR}/openldap ${PREFIX}/share/examples/ rm ${PREFIX}/share/examples/openldap/*.default cd ${WRKSRC}/contrib/slapd-modules/passwd/totp; \ ${SETENV} ${MAKE_ENV} ${FAKE_SETUP} ${MAKE_PROGRAM} ${ALL_FAKE_FLAGS} \ mandir=${TRUEPREFIX}/man install TEST_TARGET= test TEST_DEPENDS= shells/bash \ sysutils/coreutils pre-test: ln -fs ${LOCALBASE}/bin/gdate ${WRKDIR}/bin/date .include