aboutsummaryrefslogtreecommitdiffstats
path: root/dns/dnsmasq-devel/Makefile
blob: cbf925948806f4fdc48efa6138132b140113aa62 (plain) (blame)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Created by: Matthias Andree
# $FreeBSD$

PORTNAME=   dnsmasq
PORTVERSION=    2.69r4
DISTVERSION=    2.69rc4
CATEGORIES= dns ipv6
MASTER_SITES=   http://www.thekelleys.org.uk/dnsmasq/release-candidates/
PKGNAMESUFFIX=  -devel

MAINTAINER= mandree@FreeBSD.org
COMMENT=    Lightweight DNS forwarder, DHCP, and TFTP server

LICENSE=    GPLv2

CONFLICTS_INSTALL=dnsmasq-2*
IGNORE=     - build stable version instead, it is newer than this release candidate

PORTDOCS=   CHANGELOG CHANGELOG.archive FAQ doc.html setup.html

SUB_FILES=  pkg-message

CFLAGS+=    -Wall -Wno-unused-value
MAKE_ARGS=  CC="${CC}" CFLAGS="${CFLAGS}" PREFIX="${PREFIX}" COPTS="${CFLAGS}" LIBS="${LDFLAGS}" RPM_OPT_FLAGS="${CPPFLAGS}"

OPTIONS_DEFINE=     IPV6 DBUS NLS IDN LUA DNSSEC DOCS
OPTIONS_DEFAULT=    IPV6 NLS DNSSEC
OPTIONS_EXCLUDE+=   EXAMPLES
NLS_DESC=   National Language Support (NLS, enables IDN)
IDN_DESC=   International Domain Names (IDN) WITHOUT NLS
LUA_DESC=   Support lease-change scripts in LUA
DNSSEC_DESC=    Enable DNSSEC caching and validation
USES=       shebangfix tar:xz
SHEBANG_FILES=  contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl \
        contrib/dnslist/dnslist.pl

.include <bsd.port.options.mk>

.if empty(PORT_OPTIONS:MIPV6)
CFLAGS+=    -DNO_IPV6
.endif

.if ${PORT_OPTIONS:MNLS}
USES+=      pkgconfig gettext
LIB_DEPENDS+=   libidn.so:${PORTSDIR}/dns/libidn
PLIST_SUB+= NLS=""
ALL_TARGET= all-i18n
USES+=      gmake
.else
PLIST_SUB+= NLS="@comment "
.if ${PORT_OPTIONS:MIDN}
CFLAGS+=    -DHAVE_IDN
LIB_DEPENDS+=   libidn.so:${PORTSDIR}/dns/libidn
.endif
.endif

.if ${PORT_OPTIONS:MDBUS}
LIB_DEPENDS+=   libdbus-1.so:${PORTSDIR}/devel/dbus
USES+=      pkgconfig
CFLAGS+=    -DHAVE_DBUS
.endif

.if ${PORT_OPTIONS:MLUA}
CFLAGS+=    -DHAVE_LUASCRIPT
USES+=      lua
.endif

.if ${PORT_OPTIONS:MDNSSEC}
CFLAGS+=    -DHAVE_DNSSEC
LIB_DEPENDS+=   libnettle.so:${PORTSDIR}/security/nettle
LIB_DEPENDS+=   libgmp.so:${PORTSDIR}/math/gmp
.endif

USE_RC_SUBR=    dnsmasq

.include <bsd.port.pre.mk>

post-patch:
    ${REINPLACE_CMD} -e "s/lua5\.1/lua-${LUA_VER}/" ${WRKSRC}/Makefile

pre-configure:
    @:
.if ${PORT_OPTIONS:MIDN}
.if empty(PORT_OPTIONS:MNLS)
    @if ${OBJDUMP} -p ${LOCALBASE}/lib/libidn.so \
        | ${EGREP} -q "NEEDED[[:space:]]+lib(intl|iconv)\.so" ; \
    then ${ECHO} ; ${ECHO} 'WARNING: dns/libidn was compiled with NLS support!' ; \
    ${ECHO} 'Recompile libidn WITHOUT_NLS to get rid of NLS dependencies.' ; ${ECHO} ; \
    fi
.else
    @${ECHO} 'WARNING: IDN and NLS enabled, building IDN WITH NLS.'
.endif
.endif

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/src/dnsmasq ${STAGEDIR}${PREFIX}/sbin
    ${INSTALL_DATA} ${WRKSRC}/dnsmasq.conf.example ${STAGEDIR}${PREFIX}/etc
    ${REINPLACE_CMD} -i '' 's}%%PREFIX%%}${PREFIX}}' ${STAGEDIR}${PREFIX}/etc/dnsmasq.conf.example
    ${INSTALL_MAN} ${WRKSRC}/man/${PORTNAME}.8 ${STAGEDIR}${PREFIX}/man/man8
    ${MKDIR} ${STAGEDIR}${DATADIR}
    ${INSTALL_DATA} ${WRKSRC}/trust-anchors.conf ${STAGEDIR}${DATADIR}/
.if ${PORT_OPTIONS:MDOCS}
    @${MKDIR} ${STAGEDIR}${DOCSDIR}
    cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
.endif
.if ${PORT_OPTIONS:MNLS}
.for i in de es fi fr id it no pl pt_BR ro
    ${MKDIR} ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES
    ${INSTALL_DATA} ${WRKSRC}/src/${i}.mo \
        ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES/${PORTNAME}.mo
.endfor
.endif
    ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/dynamic-dnsmasq ${STAGEDIR}${EXAMPLESDIR}/dnslist
    ${INSTALL_SCRIPT} ${WRKSRC}/contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl ${STAGEDIR}${EXAMPLESDIR}/dynamic-dnsmasq/
    ${INSTALL_SCRIPT} ${WRKSRC}/contrib/dnslist/dnslist.pl ${STAGEDIR}${EXAMPLESDIR}/dnslist/
    ${INSTALL_DATA} ${WRKSRC}/contrib/dnslist/dhcp.css ${STAGEDIR}${EXAMPLESDIR}/dnslist/
    ${INSTALL_DATA} ${WRKSRC}/contrib/dnslist/dnslist.tt2 ${STAGEDIR}${EXAMPLESDIR}/dnslist/

.include <bsd.port.post.mk>