Update databases/rocksdb to version 3.11.2
[dports.git] / net / isc-dhcp42-server / Makefile
1 # Created by: Ryan Steinmetz <rpsfa@rit.edu>
2 # $FreeBSD$
3
4 PORTNAME=       dhcp
5 DISTVERSION=    4.2.8
6 PORTREVISION=   ${DHCP_PORTREVISION}
7 CATEGORIES=     net
8 MASTER_SITES=   ISC/${PORTNAME}/${DISTVERSION}
9 PKGNAMEPREFIX=  isc-
10 PKGNAMESUFFIX=  42-${SUBSYS}
11 #DISTNAME=      ${PORTNAME}-${DISTVERSION}-${PATCHLEVEL}
12
13 MAINTAINER=     zi@FreeBSD.org
14 COMMENT?=       ISC Dynamic Host Configuration Protocol server
15
16 LICENSE=        ISCL
17
18 USES=           gmake
19
20 PATCHLEVEL=     P1
21 PORTREVISION_SERVER=    0
22 PORTREVISION_CLIENT=    0
23 PORTREVISION_RELAY=     0
24
25 SUBSYS?=        server
26 #WRKSRC=                ${WRKDIR}/${PORTNAME}-${DISTVERSION}-${PATCHLEVEL}
27
28 UNIQUENAME=     ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
29
30 OPTIONS_DEFINE= IPV6
31 OPTIONS_DEFAULT=IPV6
32
33 .if ${SUBSYS} == server
34 OPTIONS_DEFINE+=        PARANOIA LDAP LDAP_SSL BIND_SYMBOLS
35 OPTIONS_DEFAULT+=       PARANOIA LDAP_SSL
36 PARANOIA_DESC=          Enable support for chroot
37 LDAP_SSL_DESC=          Support LDAP over SSL/TLS
38 BIND_SYMBOLS_DESC=      Enable BIND internal symbol table
39 .endif
40
41 # PORTREVISION and CONFLICTS handling
42 .if ${SUBSYS} == client
43 CONFLICTS=      isc-dhcp3?-client-[0-9]* isc-dhcp4[13]-client-[0-9]*
44 DHCP_PORTREVISION=      ${PORTREVISION_CLIENT}
45 .elif ${SUBSYS} == relay
46 CONFLICTS=      isc-dhcp3?-relay-[0-9]* isc-dhcp4[13]-relay-[0-9]*
47 DHCP_PORTREVISION=      ${PORTREVISION_RELAY}
48 .else
49 CONFLICTS=      isc-dhcp3?-server-[0-9]* isc-dhcp4[13]-server-[0-9]*
50 DHCP_PORTREVISION=      ${PORTREVISION_SERVER}
51 MAKE_JOBS_UNSAFE=       yes
52 .endif
53
54 .if ${SUBSYS} == server
55 USERS=          dhcpd
56 GROUPS=         dhcpd
57 .endif
58
59 MAN_COMPRESSED= no
60 GNU_CONFIGURE=  yes
61 CPPFLAGS+=      -D_PATH_DHCLIENT_SCRIPT='\"${PREFIX}/sbin/dhclient-script\"' -D_PATH_DHCLIENT_CONF='\"${PREFIX}/etc/dhclient.conf\"' -D_PATH_DHCPD_CONF='\"${PREFIX}/etc/dhcpd.conf\"'
62 SCRIPTS_ENV+=   PKG_PREFIX=${PREFIX}
63
64 .include <bsd.port.options.mk>
65
66 .if ${SUBSYS} == server
67 CONFIGURE_ARGS+=--localstatedir=/var
68 CFLAGS+=        -fPIC
69 .endif
70
71 DESCR=          ${.CURDIR}/pkg-descr
72 PLIST=          ${.CURDIR}/pkg-plist
73
74 .if ${SUBSYS} == server
75 USE_RC_SUBR=    isc-dhcpd
76 .elif ${SUBSYS} == relay
77 USE_RC_SUBR=    isc-dhcrelay
78 .endif
79
80 SCHEMA_DIR=     ${PREFIX}/share/${PKGBASE}
81 DOCSDIR=        ${PREFIX}/share/doc/${PKGBASE}
82 DATADIR=        /var/db
83
84 MSG_FILE=       ${.CURDIR}/pkg-message
85 PKGMESSAGE=     ${WRKDIR}/pkg-message
86
87 REINPLACE_SUB=  PREFIX="${PREFIX}"
88 PKGMESSAGE_SUB= PREFIX="${PREFIX}" MAN1PREFIX="${MAN1PREFIX}" \
89                 DOCSDIR="${DOCSDIR}"
90
91 .if ${PORT_OPTIONS:MPARANOIA}
92 CONFIGURE_ARGS+=--enable-paranoia --enable-early-chroot
93 SUB_LIST+=      PARANOIA="yes"
94 .else
95 SUB_LIST+=      PARANOIA="no"
96 .endif
97
98 .if ${PORT_OPTIONS:MLDAP}
99 CONFIGURE_ARGS+=--with-ldap
100 USE_OPENLDAP=   yes
101 LDAP_SCRIPT=    ${WRKSRC}/contrib/ldap/dhcpd-conf-to-ldap
102 LDAP_SCHEMA=    ${WRKSRC}/contrib/ldap/dhcp.schema
103 LDAP_README=    ${WRKSRC}/contrib/ldap/README.ldap
104 CPPFLAGS+=      -I${LOCALBASE}/include
105 LIBS+=          -L${LOCALBASE}/lib
106 PORTDOCS+=      README.ldap
107 PLIST_SUB+=     SCHEMA_DIR="${SCHEMA_DIR:S,^${PREFIX}/,,}" LDAP=""
108 USES+=          shebangfix
109 SHEBANG_FILES=  contrib/ldap/dhcpd-conf-to-ldap
110 .else
111 PLIST_SUB+=     LDAP="@comment "
112 .endif
113
114 .if ${PORT_OPTIONS:MLDAP_SSL} && ${PORT_OPTIONS:MLDAP}
115 USE_OPENSSL=    yes
116 CONFIGURE_ARGS+=--with-ldapcrypto
117 LIBS+=          -lssl
118 .include "${PORTSDIR}/Mk/bsd.openssl.mk"
119 .endif
120
121 .if ${PORT_OPTIONS:MIPV6}
122 CONFIGURE_ARGS+=--enable-dhcpv6
123 PLIST_SUB+=     IPV6=""
124 .else
125 CONFIGURE_ARGS+=--disable-dhcpv6
126 PLIST_SUB+=     IPV6="@comment "
127 .endif
128
129 .if ${PORT_OPTIONS:MBIND_SYMBOLS}
130 USES+=          perl5
131 .else
132 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-bind__Makefile
133 .endif
134
135 post-patch:
136         @${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
137                 ${MSG_FILE} > ${PKGMESSAGE}
138         @${REINPLACE_CMD} -e 's|/usr/local||g' \
139                 ${WRKSRC}/doc/examples/dhcpd-dhcpv6.conf
140         @${REINPLACE_CMD} ${REINPLACE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
141                 ${WRKSRC}/client/dhclient.conf.example
142
143 do-install:
144         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/${SUBSYS} install
145 .if ${SUBSYS} == server
146         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/dhcpctl install
147         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/dst install
148         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/omapip install
149         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/includes install
150         ${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/common install
151         ${INSTALL_DATA} ${WRKSRC}/dhcpctl/dhcpctl.h ${STAGEDIR}${PREFIX}/include
152 .if ${PORT_OPTIONS:MIPV6}
153         ${INSTALL_DATA} ${WRKSRC}/doc/examples/dhcpd-dhcpv6.conf \
154                 ${STAGEDIR}${PREFIX}/etc/dhcpd6.conf.example
155 .endif
156 .if ${PORT_OPTIONS:MLDAP}
157         @${MKDIR} ${STAGEDIR}${SCHEMA_DIR}
158         ${INSTALL_DATA} ${LDAP_SCHEMA} ${STAGEDIR}${SCHEMA_DIR}
159         ${INSTALL_SCRIPT} ${LDAP_SCRIPT} ${STAGEDIR}${PREFIX}/bin
160 .endif
161 .if ${PORT_OPTIONS:MLDAP}
162         ${MKDIR} ${STAGEDIR}${DOCSDIR}
163         ${INSTALL_MAN} ${LDAP_README} ${STAGEDIR}${DOCSDIR}
164 .endif
165 .endif
166
167 post-install:
168 .if ${SUBSYS} == client
169         ${INSTALL_SCRIPT} ${WRKSRC}/client/scripts/freebsd ${STAGEDIR}${PREFIX}/sbin/dhclient-script
170 .elif ${SUBSYS} == server
171 .if ${PORT_OPTIONS:MIPV6}
172         @${LN} -sf isc-dhcpd ${STAGEDIR}${PREFIX}/etc/rc.d/isc-dhcpd6
173 .endif
174 .elif ${SUBSYS} == relay
175 .if ${PORT_OPTIONS:MIPV6}
176         @${LN} -sf isc-dhcrelay ${STAGEDIR}${PREFIX}/etc/rc.d/isc-dhcrelay6
177 .endif
178 .endif
179         @${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
180                 ${MSG_FILE} > ${PKGMESSAGE}
181
182 .include <bsd.port.mk>