3f651573ad
Begin autotools sanitization sequence by requiring ports to explicitly specify which version of {libtool,autoconf,automake} they need, erasing the concept of a "system default". For ports-in-waiting: USE_LIBTOOL=YES -> USE_LIBTOOL_VER=13 USE_AUTOCONF=YES -> USE_AUTOCONF_VER=213 USE_AUTOMAKE=YES -> USE_AUTOMAKE_VER=14 Ports attempting to use the old style system after June 1st 2004 will be sorely disappointed.
148 lines
3.7 KiB
Makefile
148 lines
3.7 KiB
Makefile
# New ports collection makefile for: powerdns
|
|
# Date Created: 14.Jan 2003
|
|
# Whom: dirk.meyer@dinoex.sub.org
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= powerdns
|
|
PORTVERSION= 2.9.16
|
|
PORTREVISION= 2
|
|
CATEGORIES= dns ipv6
|
|
MASTER_SITES= http://downloads.powerdns.com/releases/
|
|
DISTNAME= pdns-${PORTVERSION}
|
|
|
|
MAINTAINER= tremere@cainites.net
|
|
COMMENT= An advanced DNS server with SQL backend
|
|
|
|
USE_GMAKE= YES
|
|
USE_SUBMAKE= YES
|
|
USE_REINPLACE= YES
|
|
GNU_CONFIGURE= YES
|
|
CONFIGURE_ARGS+= --with-modules="${CONFIGURE_MODULES} pipe" \
|
|
--with-dynmodules=""
|
|
# --enable-debug
|
|
SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \
|
|
CURDIR2="${.CURDIR}" \
|
|
MKDIR="${MKDIR}" \
|
|
DISTNAME="${DISTNAME}" \
|
|
POWERDNS_OPTIONS="${POWERDNS_OPTIONS}"
|
|
MAN8= pdns_control.8 pdns_server.8 zone2sql.8
|
|
STARTUP_SCRIPT= ${PREFIX}/etc/rc.d/pdns.sh.sample
|
|
|
|
# use user config if possible
|
|
.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
|
|
.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
|
|
.else
|
|
.if defined(BATCH)
|
|
# default package, can be configured in /etc/make.conf
|
|
POWERDNS_OPTIONS?= \"PostgreSQL\"
|
|
.endif
|
|
# make INDEX match
|
|
NO_DESCRIBE=yes
|
|
.endif
|
|
|
|
.if defined(WITH_POSTGRESQL_DRIVER) && !defined(WITHOUT_POSTGRESQL_DRIVER)
|
|
LIB_DEPENDS+= pq[+][+].4:${PORTSDIR}/databases/postgresql-libpq++
|
|
CONFIGURE_ARGS+= --enable-pgsql
|
|
CONFIGURE_MODULES+= "gpgsql"
|
|
CFLAGS+= -DDLLIMPORT=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-pgsql
|
|
.endif
|
|
|
|
.if defined(WITH_MYSQL_DRIVER)
|
|
LIB_DEPENDS+= mysqlclient:${PORTSDIR}/${MYSQL_PORT}
|
|
MYSQL_PORT?= databases/mysql323-client
|
|
CONFIGURE_ARGS+= --enable-mysql
|
|
CONFIGURE_MODULES+= "gmysql"
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-mysql
|
|
.endif
|
|
|
|
.if defined(WITH_LDAP)
|
|
LIB_DEPENDS+= ldap.2:${PORTSDIR}/${LDAP_PORT}
|
|
LIB_DEPENDS+= lber.2:${PORTSDIR}/${LDAP_PORT}
|
|
LDAP_PORT?= net/openldap20-client
|
|
USE_LIBTOOL_VER= 13
|
|
INSTALLS_SHLIB= YES
|
|
USE_GCC=3.2
|
|
CONFIGURE_MODULES+= "ldap"
|
|
PLIST_SUB+= WITHLDAP=""
|
|
.else
|
|
PLIST_SUB+= WITHLDAP="@comment "
|
|
.endif
|
|
|
|
.if defined(WITH_SQLITE)
|
|
LIB_DEPENDS= sqlite.2:${PORTSDIR}/${SQLITE_PORT}
|
|
SQLITE_PORT?= databases/sqlite
|
|
CONFIGURE_ARGS+= --enable-sqlite
|
|
CONFIGURE_MODULES+= "gsqlite"
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-sqlite
|
|
.endif
|
|
|
|
.if defined(POWERDNS_WITH_RECURSOR)
|
|
USE_GCC=3.2
|
|
CONFIGURE_ARGS+= --enable-recursor
|
|
PLIST_SUB+= RECURSOR=""
|
|
.else
|
|
PLIST_SUB+= RECURSOR="@comment "
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if defined(POWERDNS_WITH_RECURSOR)
|
|
.if exists(/usr/include/ucontext.h)
|
|
UCONTEXT!= ${AWK} '/setcontext/ { print "YES" }' \
|
|
/usr/include/ucontext.h
|
|
.if ${UCONTEXT} == ""
|
|
BROKEN= setcontext for recursor not found
|
|
.endif
|
|
.endif
|
|
.endif
|
|
|
|
.if defined(NO_DESCRIBE)
|
|
describe:
|
|
.if defined(BATCH)
|
|
@ ${SETENV} ${SCRIPTS_ENV} ${SH} ${FILESDIR}/configure.powerdns
|
|
.endif
|
|
@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} BATCH=yes ${.TARGET}
|
|
.endif
|
|
|
|
pre-everything::
|
|
@ ${SETENV} ${SCRIPTS_ENV} ${SH} ${FILESDIR}/configure.powerdns
|
|
|
|
post-clean:
|
|
@ ${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc
|
|
|
|
.if defined(WITH_LDAP)
|
|
post-patch:
|
|
${REINPLACE_CMD} -e 's;-I. ;-I. -I${LOCALBASE}/include ;' \
|
|
-e 's;la_LDFLAGS =;la_LDFLAGS = -L${LOCALBASE}/lib;' \
|
|
${WRKSRC}/modules/ldapbackend/Makefile.in
|
|
${REINPLACE_CMD} -e 's;@LIBDL@;@LIBDL@ -L${LOCALBASE}/lib;' \
|
|
-e 's;@modulelibs@;@modulelibs@ -llber;' \
|
|
${WRKSRC}/pdns/Makefile.in
|
|
.endif
|
|
|
|
post-install:
|
|
.if !exists(${PREFIX}/etc/pdns.conf)
|
|
${INSTALL_DATA} ${PREFIX}/etc/pdns.conf-dist ${PREFIX}/etc/pdns.conf
|
|
.endif
|
|
.if !defined(NOPORTDOCS)
|
|
${MKDIR} ${EXAMPLESDIR}
|
|
.for i in pdns.conf pdns_mysql.sql pdns_postgresql.sql pdns_sqlite.sql
|
|
${INSTALL_DATA} ${FILESDIR}/$i ${EXAMPLESDIR}/
|
|
.endfor
|
|
.endif
|
|
.if !exists(${STARTUP_SCRIPT})
|
|
${ECHO_MSG} "Installing ${STARTUP_SCRIPT} startup file."
|
|
${SED} -e "s=%%PREFIX%%=${PREFIX}=" \
|
|
${FILESDIR}/pdns.sh.sample \
|
|
> ${WRKSRC}/pdns.sh.sample
|
|
${INSTALL_SCRIPT} ${WRKSRC}/pdns.sh.sample ${STARTUP_SCRIPT}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|