summaryrefslogtreecommitdiff
path: root/net/isc-dhcp4/Makefile.common
blob: 9eeddef718f60355c153f0019fb130e36f38ea7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# $NetBSD: Makefile.common,v 1.33 2017/01/19 18:52:20 agc 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/sw/dhcp
LICENSE=		isc

CONFLICTS+=		isc-dhcp-base-3.*

VERSION=		4.3.4

.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+=		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}
# 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

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 && 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.9.8-P4

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"