pkgsrc/net/isc-dhcp4/Makefile.common

99 lines
3.4 KiB
Text

# $NetBSD: Makefile.common,v 1.39 2019/08/27 08:12:01 adam 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}/
MASTER_SITES+= http://ftp.isc.org/isc/dhcp/${VERSION}/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.isc.org/dhcp/
LICENSE= isc
CONFLICTS+= isc-dhcp-base-3.*
VERSION= 4.4.1
.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 gunzip gzip tar
USE_LANGUAGES+= c99 c++
PATCHDIR= ${.CURDIR}/../../net/isc-dhcp4/patches
DISTINFO_FILE= ${.CURDIR}/../../net/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}
# Target will have /dev/random. For whatever reason this package
# requires you to specify the random device to use, and for native
# compilation it uses /dev/random, so we'll match that here even though
# it is almost certainly the case that it should be using /dev/urandom.
CONFIGURE_ENV.NetBSD+= ac_cv_file__dev_random=yes
CONFIGURE_ARGS.NetBSD+= --with-randomdev=/dev/random
.endif
CPPFLAGS.SunOS+= -D_XOPEN_SOURCE=600 -D__EXTENSIONS__
SUBST_CLASSES+= config
SUBST_STAGE.config= pre-configure
SUBST_FILES.config= includes/dhcpd.h
SUBST_VARS.config= PREFIX PKG_SYSCONFDIR
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 && ${TAR} -zxf bind.tar.gz
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.11.2-P1
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 "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"