openbsd-ports/databases/openldap/Makefile

134 lines
3.7 KiB
Makefile

COMMENT-main = LDAP client library and tools
COMMENT-server = LDAP directory server
REVISION-server = 0
DISTNAME = openldap-2.6.3
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
REVISION-main = 0
SHARED_LIBS += lber 16.0
SHARED_LIBS += ldap 16.0
CATEGORIES = databases net
HOMEPAGE = https://www.openldap.org/
MAINTAINER = Stuart Henderson <stu.ports@spacehopper.org>
# OpenLDAP Public License
PERMIT_PACKAGE = Yes
WANTLIB= c crypto pthread sasl2 ssl
WANTLIB-server= ${WANTLIB} lber ldap ltdl m perl sodium
MASTER_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
DPB_PROPERTIES = parallel
DEBUG_PACKAGES = ${BUILD_PACKAGES}
SEPARATE_BUILD = Yes
AUTOCONF_VERSION = 2.69
CONFIGURE_STYLE = autoconf
MODGNU_CONFIG_GUESS_DIRS = ${WRKSRC} ${WRKSRC}/build
USE_GMAKE = Yes
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
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
# 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
TEST_TARGET = test
TEST_DEPENDS = shells/bash \
sysutils/coreutils
pre-test:
ln -fs ${LOCALBASE}/bin/gdate ${WRKDIR}/bin/date
.include <bsd.port.mk>