# New ports collection makefile for:    OpenLDAP 2.x
# Date created:		20 Sep 1998
# Whom:			Lachlan O'Dea
#
# $FreeBSD: ports/net/openldap20/Makefile,v 1.68 2003/05/02 10:14:50 edwin Exp $
#

PORTNAME=	openldap20
PORTVERSION=	2.0.25
PORTREVISION=	4
CATEGORIES=	net databases
MASTER_SITES=	ftp://ftp.OpenLDAP.org/pub/OpenLDAP/%SUBDIR%/ \
		http://www.PlanetMirror.com/pub/openldap/%SUBDIR%/ \
		ftp://gd.tuwien.ac.at/infosys/network/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.matrix.com.br/pub/openldap/%SUBDIR%/ \
		ftp://ftp.ucr.ac.cr/pub/Unix/openldap/%SUBDIR%/ \
		ftp://ftp.ntua.gr/mirror/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.u-aizu.ac.jp/pub/net/openldap/%SUBDIR%/ \
		ftp://ftp.holywar.net/pub/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.nl.uu.net/pub/unix/db/openldap/%SUBDIR%/ \
		ftp://ftp.linux.pt/pub/mirrors/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.si.uniovi.es/mirror/OpenLDAP/%SUBDIR%/ \
		ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/%SUBDIR%/ \
		ftp://ftp.plig.org/pub/OpenLDAP/%SUBDIR%/
MASTER_SITE_SUBDIR=	openldap-release
DISTNAME=	openldap-${PORTVERSION}
EXTRACT_SUFX=	.tgz

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Open source LDAP client and server software

USE_AUTOCONF_VER=213
USE_LIBTOOL=	yes
USE_OPENSSL=	yes
USE_REINPLACE=	yes

LATEST_LINK=	openldap2

CONFIGURE_ARGS=	--localstatedir=/var/db \
		--with-threads \
		--enable-shared \
		--enable-dnssrv \
		--with-tls=openssl

# Include tcp-wrapper support
.if exists(/usr/include/tcpd.h)
CONFIGURE_ARGS+=	--enable-wrappers
.endif

# math.h uses _REENTRANT and stdio.h uses _THREAD_SAFE, so define both.
CPPFLAGS+=	-D_REENTRANT ${PTHREAD_CFLAGS} \
		-I${LOCALBASE}/include \
		${DB_CFLAGS}
LDFLAGS+=	-L${LOCALBASE}/lib

.if defined(WITH_SASL)
LIB_DEPENDS+=	sasl.8:${PORTSDIR}/security/cyrus-sasl
CPPFLAGS+=	-I${LOCALBASE}/include/sasl1
.endif

.if defined(WITH_ODBC)
LIB_DEPENDS+=	iodbc.3:${PORTSDIR}/databases/libiodbc
CONFIGURE_ARGS+=--enable-sql
.endif

CONFIGURE_ENV=	CPPFLAGS="${CPPFLAGS}" \
		LDFLAGS="${LDFLAGS}"

INSTALLS_SHLIB=	yes

BINS=		bin/ldapadd \
		bin/ldapdelete \
		bin/ldapmodify \
		bin/ldapmodrdn \
		bin/ldappasswd \
		bin/ldapsearch \
		bin/ud \
		libexec/fax500 \
		libexec/go500 \
		libexec/go500gw \
		libexec/in.xfingerd \
		libexec/mail500 \
		libexec/maildap \
		libexec/rcpt500 \
		libexec/rp500 \
		libexec/slapd \
		libexec/slurpd

.include <bsd.port.pre.mk>
.include "${FILESDIR}/manpages"

.if exists(${LOCALBASE}/lib/libdb4.so)
DB_CFLAGS=      -I${LOCALBASE}/include/db4
LIB_DEPENDS=	db4.0:${PORTSDIR}/databases/db4
.else
DB_CFLAGS=      -I${LOCALBASE}/include/db3
LIB_DEPENDS=	db3.3:${PORTSDIR}/databases/db3
.endif

post-patch:
	@${REINPLACE_CMD} -e 's@%LOCALSTATEDIR%/slapd[.]pid@/var/run/slapd.pid@g; \
		s@%LOCALSTATEDIR%/slapd[.]args@/var/run/slapd.args@g' ${WRKSRC}/servers/slapd/slapd.conf

post-configure:
	@cd ${WRKSRC} ; ${PATCH} < ${FILESDIR}/libtool.diff

pre-build:
	@cd ${WRKSRC} ; ${MAKE} depend

post-build:
	@${SED} 's,@@PREFIX@@,${PREFIX},g' ${FILESDIR}/slapd.sh >${WRKDIR}/slapd.sh

post-install:
.for f in ${BINS}
	@strip ${PREFIX}/${f}
.endfor
	@${INSTALL_SCRIPT} ${WRKDIR}/slapd.sh ${PREFIX}/etc/rc.d/slapd.sh.sample
	@${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>
