# $NetBSD: Makefile.common,v 1.45 2022/10/05 16:16:54 taca 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= mpl-2.0 CONFLICTS+= isc-dhcp-base-3.* VERSION= 4.4.3-P1 .include "../../mk/bsd.prefs.mk" GNU_CONFIGURE= yes GNU_CONFIGURE_STRICT= no # has several configure programs 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__ LDFLAGS.SunOS+= -lnsl 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_CONFIGURE_ARGS+= --with-python=no BIND_WRKSRC= ${WRKSRC}/bind/bind-9.11.36 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"