freebsd-ports/dns/dnsmasq/Makefile
Matthias Andree b1a3c5a116 dns/dnsmasq: repair damage from UNAUTHORIZED UCL conversion of pkg-message
The pkg-message contains a security note that is necessary on
new installs and on updates alike.

Since per the porter's handbook, the UCL does not support enumeration
of types, and this is not relevant on removal, the UCL change must be
reverted.  While here, remove formatting.

Failure inducing commit:
|------------------------------------------------------------------------
|r508835 | mat | 2019-08-13 18:01:59 +0200 (Tue, 13 Aug 2019) | 2 lines
|
|Convert to UCL & cleanup pkg-message (categories d)
|
|------------------------------------------------------------------------

NOTE: The UCL conversion of files/pkg-message.in was not authorized
and damaging and no heads-up was sent to the maintainer.

portmgr@ MUST act more carefully with sweeping changes and hand them out
for review first.
2020-04-12 02:16:10 +00:00

145 lines
4.3 KiB
Makefile

# Created by: Steven Honson
# $FreeBSD$
PORTNAME= dnsmasq
DISTVERSION= 2.81
# Leave the PORTREVISION in even if 0 to avoid accidental PORTEPOCH bumps:
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= dns
MASTER_SITES= http://www.thekelleys.org.uk/dnsmasq/ \
LOCAL/mandree/
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-devel-*
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
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>