freebsd-ports/net/openldap23-server/Makefile
Oliver Lehmann 6ef2dc6e19 - now *really* use libtool from ports instead of the included one
- build -dynamic for better compatibility with libltdl
- grap back-perl fixes from OpenLDAP CVS to let FreeBSD port users
  test the perl backend
- dynamically create pkg-plist in pre-install instead of post-install
  to simplify things and guard against changes in bsd.port.mk
- bump portrevision
- miscellaneous style fixes:

PR:		54177
Submitted by:	maintainer
2003-07-07 14:01:25 +00:00

209 lines
5.7 KiB
Makefile

# New ports collection makefile for: OpenLDAP 2.2
# Date created: 20 Sep 1998
# Whom: Lachlan O'Dea
#
# $FreeBSD$
#
PORTNAME= openldap
PORTVERSION= ${OPENLDAP_VERSION}.a
PORTREVISION= 2
CATEGORIES= net databases
MASTER_SITES= ftp://ftp.OpenLDAP.org/pub/OpenLDAP/%SUBDIR%/ \
http://public.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.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.rediris.es/mirror/OpenLDAP/%SUBDIR%/ \
ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/%SUBDIR%/ \
http://openldap.cdpa.nsysu.edu.tw/OpenLDAP/%SUBDIR%/ \
ftp://ftp.u-aizu.ac.jp/pub/net/openldap/%SUBDIR%/ \
ftp://ftp.plig.org/pub/OpenLDAP/%SUBDIR%/
MASTER_SITE_SUBDIR= openldap-test
DISTNAME= openldap-${OPENLDAP_VERSION}alpha
EXTRACT_SUFX= .tgz
MAINTAINER= eikemeier@fillmore-labs.com
COMMENT= Open source LDAP client and server implementation
OPENLDAP_VERSION= 2.2.0
CONFLICTS= openldap*
LATEST_LINK= openldap2
USE_OPENSSL= yes
USE_REINPLACE= yes
USE_LIBTOOL_VER= 14
PLIST= ${WRKDIR}/pkg-plist
PKGINSTALL= ${WRKDIR}/pkg-install
PKGMESSAGE= ${WRKDIR}/pkg-message
LOCALSTATEDIR?= ${DESTDIR}/var/db
LDAP_RUN_DIR?= ${DESTDIR}/var/run/openldap
WITH_BDB_VER?= 41
CONFIGURE_ARGS= --enable-dynamic \
--with-threads \
--with-tls=openssl
SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \
-e 's,%%LDAP_RUN_DIR%%,${LDAP_RUN_DIR},g' \
-e 's,%%LOCALSTATEDIR%%,${LOCALSTATEDIR},g'
.if defined(CLIENT_ONLY)
PKGNAMESUFFIX= -client
CONFIGURE_ARGS+= --disable-slapd
PLIST_SUB+= SERVER="@comment " \
SLAPI="@comment "
SED_SCRIPT+= -e '/^%%SERVER%%/d'
.else
CONFIGURE_ARGS+= --localstatedir=${LOCALSTATEDIR} \
--enable-lmpasswd \
--enable-ldbm \
--with-ldbm-api=berkeley \
--enable-ldap \
--enable-meta \
--enable-rewrite \
--enable-null \
--enable-monitor
.if ${WITH_BDB_VER} == 41
LIB_DEPENDS= db41.1:${PORTSDIR}/databases/db41
CONFIGURE_ARGS+= --enable-bdb
.elif ${WITH_BDB_VER} == 4
LIB_DEPENDS= db4.0:${PORTSDIR}/databases/db4
CONFIGURE_ARGS+= --disable-bdb
.elif ${WITH_BDB_VER} == 3
LIB_DEPENDS= db3.3:${PORTSDIR}/databases/db3
CONFIGURE_ARGS+= --disable-bdb
.else
.error WITH_BDB_VER must be 3, 4 or 41
.endif
LIBS+= -ldb${WITH_BDB_VER}
CPPFLAGS+= -I${LOCALBASE}/include/db${WITH_BDB_VER}
.if defined(WITH_SHELL)
CONFIGURE_ARGS+= --enable-shell
.endif
.if defined(WITH_PERL)
USE_PERL5= yes
CONFIGURE_ARGS+= --enable-perl
.endif
.if defined(WITH_SASL)
LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2
CONFIGURE_ARGS+= --with-cyrus-sasl \
--enable-spasswd
.else
CONFIGURE_ARGS+= --without-cyrus-sasl
.endif
.if defined(WITH_ODBC)
LIB_DEPENDS+= iodbc.3:${PORTSDIR}/databases/libiodbc
CONFIGURE_ARGS+= --enable-sql
.endif
.if defined(WITH_SLAPI)
LIB_DEPENDS+= ltdl.4:${PORTSDIR}/devel/libltdl
CONFIGURE_ARGS+= --enable-slapi
PLIST_SUB+= SLAPI=""
.else
PLIST_SUB+= SLAPI="@comment "
.endif
# Include tcp-wrapper support
.if !defined(WITHOUT_TCP_WRAPPERS) && exists(/usr/include/tcpd.h)
CONFIGURE_ARGS+= --enable-wrappers
.endif
PLIST_SUB+= SERVER=""
SED_SCRIPT+= -e '/^%%SERVER%%/s,,,'
.endif
PLIST_SUB+= LOCALSTATEDIR=${LOCALSTATEDIR} \
LDAP_RUN_DIR=${LDAP_RUN_DIR}
# math.h uses _REENTRANT and stdio.h uses _THREAD_SAFE, so define both.
CPPFLAGS+= -D_REENTRANT ${PTHREAD_CFLAGS} \
-I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}" \
LIBS="${LIBS}"
INSTALLS_SHLIB= yes
.include <bsd.port.pre.mk>
.include "${FILESDIR}/manpages"
pre-everything::
@${ECHO} "============================================================="
@${ECHO}
@${ECHO} "You can build ${PKGNAME} with the following options:"
@${ECHO}
@${ECHO} "WITH_BDB_VER select BerkeleyDB version (default 4.1)"
@${ECHO} "WITH_SASL with SASL2 authorization"
@${ECHO} "WITH_PERL with Perl backend"
@${ECHO} "WITH_SHELL with Shell backend"
@${ECHO} "WITH_ODBC with SQL backend"
@${ECHO} "WITH_SLAPI with Netscape SLAPI plugin API
@${ECHO} "WITHOUT_TCP_WRAPPERS without tcp wrapper support"
@${ECHO}
@${ECHO} "============================================================="
@${ECHO}
post-patch:
@${REINPLACE_CMD} -e 's,%LOCALSTATEDIR%/slapd\.,${LDAP_RUN_DIR}/slapd.,g' \
${WRKSRC}/servers/slapd/slapd.conf
pre-configure:
@${REINPLACE_CMD} -e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \
${WRKSRC}/configure
post-build:
.for script in slapd.sh slurpd.sh
@${SED} ${SED_SCRIPT} ${FILESDIR}/${script} >${WRKDIR}/${script}
.endfor
.for text in pkg-install pkg-message
@${SED} ${SED_SCRIPT} ${.CURDIR}/${text} >${WRKDIR}/${text}
.endfor
pre-install:
@${CP} ${.CURDIR}/pkg-plist ${PLIST}
.if !defined(NOPORTDOCS)
@for dir in rfc drafts; do \
${FIND} ${WRKSRC}/doc/$${dir} -maxdepth 1 -type f \
| ${SED} -e "s,^${WRKSRC}/doc/,%%DOCSDIR%%/," \
>>${PLIST}; \
${ECHO_CMD} "@dirrm %%DOCSDIR%%/$${dir}" >>${PLIST}; \
done
@${ECHO_CMD} "@dirrm %%DOCSDIR%%" >>${PLIST}
.endif
post-install:
.if !defined(CLIENT_ONLY)
@${INSTALL_SCRIPT} ${WRKDIR}/slapd.sh ${WRKDIR}/slurpd.sh ${PREFIX}/etc/rc.d
@${MKDIR} ${LDAP_RUN_DIR}
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@for dir in rfc drafts; do \
${MKDIR} ${DOCSDIR}/$${dir}; \
${FIND} ${WRKSRC}/doc/$${dir} -maxdepth 1 -type f \
-exec ${INSTALL_DATA} {} ${DOCSDIR}/$${dir} \; ; \
done
.endif
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>