diff options
Diffstat (limited to 'dns/dnsmasq-devel/Makefile')
-rw-r--r-- | dns/dnsmasq-devel/Makefile | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/dns/dnsmasq-devel/Makefile b/dns/dnsmasq-devel/Makefile new file mode 100644 index 000000000000..4d7bab8d9337 --- /dev/null +++ b/dns/dnsmasq-devel/Makefile @@ -0,0 +1,146 @@ +# Created by: Steven Honson +# $FreeBSD$ + +PORTNAME= dnsmasq +DISTVERSION= 2.85rc1 +# Leave the PORTREVISION in even if 0 to avoid accidental PORTEPOCH bumps: +PORTREVISION= 0 +PORTEPOCH= 1 +CATEGORIES= dns +MASTER_SITES= https://www.thekelleys.org.uk/dnsmasq/release-candidates/ \ + LOCAL/mandree/ +PKGNAMESUFFIX= -devel + +MAINTAINER= mandree@FreeBSD.org +COMMENT= Lightweight DNS forwarder, DHCP, and TFTP server + +LICENSE= GPLv2 + +USES= cpe shebangfix tar:xz +CPE_VENDOR= thekelleys + +SHEBANG_FILES= contrib/dnslist/dnslist.pl \ + contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl + +MAKE_ARGS= CC="${CC}" \ + CFLAGS="${CFLAGS}" \ + COPTS="${CFLAGS}" \ + LIBS="${LDFLAGS}" \ + PREFIX="${PREFIX}" \ + RPM_OPT_FLAGS="${CPPFLAGS}" +CFLAGS+= -Wall -Wno-unused-function -Wno-unused-parameter \ + -Wno-unused-value -Wno-unused-variable +CPPFLAGS+= -I${LOCALBASE}/include + +CONFLICTS_INSTALL= dnsmasq-2* +PATCH_STRIP= -p1 +SUB_FILES= pkg-message + +PORTDOCS= CHANGELOG CHANGELOG.archive FAQ doc.html setup.html + +OPTIONS_DEFINE= DBUS DNSSEC DOCS IPSET IPV6 LUA +OPTIONS_DEFAULT= DNSSEC IPSET +OPTIONS_RADIO= INTL +OPTIONS_RADIO_INTL= IDN NLS +OPTIONS_EXCLUDE+= EXAMPLES + +DNSSEC_DESC= Enable DNSSEC caching and validation (needs nettle) +IDN_DESC= IDN: Int'l Domain Names WITHOUT full NLS +INTL_DESC= Internationalization Support Level +IPSET_DESC= Dynamic firewall management of resolved names (needs PF) +LUA_DESC= Support lease-change scripts written in Lua +NLS_DESC= IDN+NLS: Int'l Domain Names & National Language support + +IPSET_CFLAGS_OFF= -DNO_IPSET +IPV6_CFLAGS_OFF= -DNO_IPV6 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MNLS} +USES+= gettext gmake iconv pkgconfig +CFLAGS+= -DHAVE_LIBIDN2 +LIB_DEPENDS+= libidn2.so:dns/libidn2 +PLIST_SUB+= NLS="" +ALL_TARGET= all-i18n +_intllibs= -lidn2 -lintl +.else +_intllibs= +PLIST_SUB+= NLS="@comment " +.if ${PORT_OPTIONS:MIDN} +USES+= iconv +CFLAGS+= -DHAVE_LIBIDN2 +LIB_DEPENDS+= libidn2.so:dns/libidn2 +_intllibs+= -lidn2 +.endif +.endif + +.if ${PORT_OPTIONS:MDBUS} +LIB_DEPENDS+= libdbus-1.so:devel/dbus +USES+= pkgconfig +CPPFLAGS+= `pkg-config --cflags dbus-1` +CFLAGS+= -DHAVE_DBUS +LDFLAGS+= `pkg-config --libs dbus-1` +.endif + +.if ${PORT_OPTIONS:MLUA} +CPPFLAGS+= -I${LUA_INCDIR} +CFLAGS+= -DHAVE_LUASCRIPT +LDFLAGS+= -L${LUA_LIBDIR} -llua-${LUA_VER} +USES+= lua pkgconfig +.endif + +.if ${PORT_OPTIONS:MDNSSEC} +CFLAGS+= -DHAVE_DNSSEC -I${LOCALBASE}/include +USES+= pkgconfig +LIB_DEPENDS+= libgmp.so:math/gmp \ + libnettle.so:security/nettle +.endif + +USE_RC_SUBR= dnsmasq + +.include <bsd.port.pre.mk> + +LDFLAGS+= -L${LOCALBASE}/lib ${_intllibs} ${ICONV_LIB} + +post-patch: + ${REINPLACE_CMD} -e '/^lua_/s/lua5\.2/lua-${LUA_VER}/' ${WRKSRC}/Makefile + ${REINPLACE_CMD} -e 's/ifr\.ifr_ifindex/ifr.ifr_index/' ${WRKSRC}/src/network.c + +pre-configure: pretty-print-config +.if ${PORT_OPTIONS:MIDN} +.if empty(PORT_OPTIONS:MNLS) + @if ${READELF} -d ${LOCALBASE}/lib/libidn2.so \ + | ${EGREP} -q '\<NEEDED\>.*\[libintl\.so' ; \ + then ${ECHO} ; ${ECHO} 'WARNING: dns/libidn2 was compiled with NLS support!' ; \ + ${ECHO} 'Recompile libidn2 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/dnsmasq.conf.sample + ${REINPLACE_CMD} -i '' 's}%%PREFIX%%}${PREFIX}}' ${STAGEDIR}${PREFIX}/etc/dnsmasq.conf.sample + ${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> |