pkgsrc/net/isc-dhcp4/Makefile.common
riastradh e07d465390 Fix net/isc-dhcp4 cross-build on NetBSD.
Requires a hack to patch and configure the internal copy of bind for
cross-compilation.

Bump pkgrevision in case the way I did this hack changes anything.

ok agc
2013-05-10 00:58:06 +00:00

95 lines
3.1 KiB
Text

# $NetBSD: Makefile.common,v 1.21 2013/05/10 00:58:06 riastradh Exp $
#
# used by net/isc-dhcp4/Makefile
# used by net/isc-dhcpd4/Makefile
# used by net/isc-dhclient4/Makefile
# used by net/isc-dhcrelay4/Makefile
DISTNAME= dhcp-${VERSION}
DHVER= ${DISTNAME:S/dhcp-//:S/-P/p/}
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/${VERSION}/ \
http://ftp.isc.org/isc/dhcp/${VERSION}/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.isc.org/sw/dhcp
LICENSE= isc
CONFLICTS+= isc-dhcp-base-3.*{,nb*}
VERSION= 4.2.5-P1
.include "../../mk/bsd.prefs.mk"
GNU_CONFIGURE= yes
DHCP_HOME?= ${VARBASE}/db/isc-dhcp
DHCP_PID?= ${VARBASE}/run/isc-dhcp
PKG_SYSCONFSUBDIR= dhcp
USE_TOOLS+= gmake gzip tar
USE_LANGUAGES+= c c++
PATCHDIR= ${.CURDIR}/../isc-dhcp4/patches
DISTINFO_FILE= ${.CURDIR}/../isc-dhcp4/distinfo
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
BUILD_DEFS+= VARBASE DHCP_HOME DHCP_PID
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-srv-lease-file=${DHCP_HOME}/dhcpd.leases
CONFIGURE_ARGS+= --with-cli-lease-file=${DHCP_HOME}/dhclient.leases
CONFIGURE_ARGS+= --with-srv-pid-file=${DHCP_PID}/isc-dhcpd.pid
CONFIGURE_ARGS+= --with-cli-pid-file=${DHCP_PID}/isc-dhclient.pid
CONFIGURE_ARGS+= --with-relay-pid-file=${DHCP_PID}/isc-dhcrelay.pid
CONFIGURE_ARGS+= --with-srv6-lease-file=${DHCP_HOME}/dhcpd6.leases
CONFIGURE_ARGS+= --with-cli6-lease-file=${DHCP_HOME}/dhclient6.leases
CONFIGURE_ARGS+= --with-srv6-pid-file=${DHCP_PID}/isc-dhcpd6.pid
CONFIGURE_ARGS+= --with-cli6-pid-file=${DHCP_PID}/isc-dhclient6.pid
CONFIGURE_ARGS+= --with-relay6-pid-file=${DHCP_PID}/isc-dhcrelay6.pid
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
CONFIGURE_ENV+= BUILD_CC=${NATIVE_CC:Q}
. if ${OPSYS} == "NetBSD"
# Target will have /dev/random.
CONFIGURE_ENV+= ac_cv_file__dev_random=yes
. endif
.endif
SUBST_CLASSES+= config
SUBST_STAGE.config= post-patch
SUBST_FILES.config= includes/dhcpd.h
SUBST_SED.config= -e "s|@@PREFIX@@|${PREFIX}|g"
SUBST_SED.config+= -e "s|@@PKG_SYSCONFDIR@@|${PKG_SYSCONFDIR}|g"
SUBST_MESSAGE.config= Fixing configuration files.
BUILD_DIRS= ${BUILD_SUBDIR}
INSTALL_DIRS= ${SUBDIR}
# XXX This crap should replaced by a dependency on net/libbind, but
# that seems to be a different version of libbind.
post-extract:
(cd ${WRKSRC}/bind && gunzip -c bind.tar.gz | tar xf -)
BIND_CONFIGURE_ARGS+= --disable-kqueue
BIND_CONFIGURE_ARGS+= --disable-epoll
BIND_CONFIGURE_ARGS+= --disable-devpoll
BIND_CONFIGURE_ARGS+= --without-openssl
BIND_CONFIGURE_ARGS+= --without-libxml2
BIND_CONFIGURE_ARGS+= --enable-exportlib
BIND_CONFIGURE_ARGS+= --enable-threads=no
BIND_CONFIGURE_ARGS+= --with-export-includedir=${WRKSRC}/bind/include
BIND_CONFIGURE_ARGS+= --with-export-libdir=${WRKSRC}/bind/lib
BIND_CONFIGURE_ARGS+= --with-gssapi=no
BIND_WRKSRC= ${WRKSRC}/bind/bind-9.8.4-P2
post-configure:
${RUN}${_ULIMIT_CMD} \
cd ${BIND_WRKSRC} && \
${PKGSRC_SETENV} ${_CONFIGURE_SCRIPT_ENV} \
${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} \
${CONFIGURE_SCRIPT} \
${CONFIGURE_ARGS} \
${BIND_CONFIGURE_ARGS}
.include "../../security/openssl/buildlink3.mk"