1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-20 04:02:27 +00:00
freebsd-ports/dns/djbdns/Makefile
Bryan Drewery 770ed82954 - Fix dnscache-conf referring to STAGEDIR when IP6 option is selected.
Something in the dependency chain for dnsip6 rebuilds when conf-home
  is updated. By creating it before the build and then moving it over
  later the timestamp is before all the built binaries. Since we
  purposely remove all installer-related files, only those will be
  rebuilt.

Reported by:	brd
2014-05-30 18:57:31 +00:00

151 lines
4.6 KiB
Makefile

# Created by: Neil Blakey-Milner
# $FreeBSD$
PORTNAME?= djbdns
PORTVERSION?= ${DJBDNS_VER}
PORTREVISION?= 20
PORTEPOCH?= 1
CATEGORIES?= dns
MASTER_SITES= http://cr.yp.to/djbdns/ \
ftp://cr.yp.to/djbdns/
DISTNAME= djbdns-${DJBDNS_VER}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER?= lx@FreeBSD.org
COMMENT?= Collection of secure and reliable DNS tools
RUN_DEPENDS= setuidgid:${PORTSDIR}/sysutils/daemontools \
tcpserver:${PORTSDIR}/sysutils/ucspi-tcp
CONFLICTS= djbdns-tools-[0-9]*
LEGAL_TEXT= No license -- see http://cr.yp.to/softwarelaw.html
OPTIONS_DEFINE= DUMPCACHE IP6 IGNOREIP JUMBO MAN PERSISTENT_MMAP SRV DNSCURVE ADD_USERS
OPTIONS_DEFAULT= MAN
OPTIONS_SUB= yes
DUMPCACHE_DESC= persistent cache for dnscache
IP6_DESC= IPv6 support by Felix von Leitner
IGNOREIP_DESC= ignoreip2 patch by Russell Nelson
JUMBO_DESC= jumbo patch by Claudiu Costin
MAN_DESC= manual pages by Gerritt Pape
PERSISTENT_MMAP_DESC= persistent mmap patch by Lennert Buytenhek
SRV_DESC= SRV record patch by Michael Handler
DNSCURVE_DESC= DNSCurve support by Matthew Dempsky
ADD_USERS_DESC= Add dnscache, tinydns and dnslog users/groups
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MADD_USERS}
USERS?= dnscache tinydns dnslog
GROUPS?=dnscache tinydns dnslog
.endif
.if ${PORT_OPTIONS:MJUMBO}
.if ${PORT_OPTIONS:MIP6} || ${PORT_OPTIONS:MIGNOREIP} || ${PORT_OPTIONS:MSRV} || \
${PORT_OPTIONS:MDNSCURVE}
BROKEN= The jumbo patch currently conflicts with the IPv6, ignoreip2, SRV and DNSCURVE patches
.endif
PATCH_SITES+= http://people.FreeBSD.org/~roam/ports/dns/djbdns/:jumbo \
${MASTER_SITE_LOCAL:S/%SUBDIR%\//roam\/dns\/djbdns\/:jumbo/}
PATCHFILES+= jumbo-p13.patch.gz:jumbo
PATCH_DIST_STRIP= -p1
.if ${PORT_OPTIONS:MDUMPCACHE}
CFLAGS+= -DDUMPCACHE
.endif
.endif
.if ${PORT_OPTIONS:MMAN}
MANDATE= -20031023
MASTER_SITES+= http://smarden.org/pape/djb/manpages/:manpages
DISTFILES+= ${DISTNAME}-man${MANDATE}.tar.gz:manpages
.endif
.if ${PORT_OPTIONS:MIP6}
PKGNAMESUFFIX= -ipv6
PORTVERSION= ${DJBDNS_VER}.${DJBDNS_V6_VER:S/test/b/:S/diff//}
PATCH_SITES+= http://www.fefe.de/dns/:ipv6
PATCHFILES+= ${PORTNAME}-${DJBDNS_VER}-${DJBDNS_V6_VER}.diff.bz2:ipv6
PATCH_DIST_STRIP= -p1
EXTRA_PATCHES+= ${FILESDIR}/uint32.patch ${FILESDIR}/djbdns-ipv6-ooyama.patch
.endif
.if ${PORT_OPTIONS:MDUMPCACHE} && ! ${PORT_OPTIONS:MJUMBO}
.if ${PORT_OPTIONS:MIP6}
BROKEN= The IPv6 and dnscache-dumpcache patches are currently in conflict
.endif
PATCH_SITES+= http://efge.free.fr/djbdns/:dumpcache
PATCHFILES+= patch-dnscache-dumpcache-v4.txt:dumpcache
PATCH_DIST_STRIP= -p1
CFLAGS+= -DDUMPCACHE
.endif
.if ${PORT_OPTIONS:MIGNOREIP}
.if ${PORT_OPTIONS:MIP6}
BROKEN= The IPv6 patch already includes the ignoreip2 functionality
.endif
PATCH_SITES+= http://tinydns.org/:ignoreip
PATCHFILES+= djbdns-1.05-ignoreip2.patch:ignoreip
PATCH_DIST_STRIP= -p1
.endif
.if ${PORT_OPTIONS:MPERSISTENT_MMAP}
PATCH_SITES+= http://people.FreeBSD.org/~roam/ports/patches/dns/:persistent
PATCHFILES+= tinydns-persistmmap-20040418.patch:persistent
PATCH_DIST_STRIP= -p1
.endif
.if ${PORT_OPTIONS:MSRV}
PATCH_SITES+= http://tinydns.org/:srv
PATCHFILES+= srv-patch:srv
PATCH_DIST_STRIP= -p1
.endif
.if ${PORT_OPTIONS:MDNSCURVE}
.if ${PORT_OPTIONS:MIP6}
BROKEN= The IPv6 and DNSCurve patches are currently in conflict
.endif
PATCH_SITES+= http://shinobi.dempsky.org/~matthew/patches/:dnscurve
PATCHFILES+= djbdns-dnscurve-20090602.patch:dnscurve
PATCH_DIST_STRIP= -p1
CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
LDFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
BUILD_DEPENDS+= nacl-sha256:${PORTSDIR}/security/nacl
.endif
DJBDNS_VER= 1.05
DJBDNS_V6_VER= test23
ALL_TARGET= prog
INSTALL_TARGET= setup check
.if ${PORT_OPTIONS:MIP6}
PLIST_SUB+= WITH_IP6=""
.else
PLIST_SUB+= WITH_IP6="@comment "
.endif
post-patch:
@${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc
@${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${WRKSRC}/conf-ld
@${ECHO_CMD} "${STAGEDIR}${PREFIX}" > ${WRKSRC}/conf-home.stage
@${ECHO_CMD} "${PREFIX}" > ${WRKSRC}/conf-home
post-build:
@${ECHO_MSG} "===> Rebuilding DJB installer to respect STAGEDIR"
@${MV} -f ${WRKSRC}/conf-home ${WRKSRC}/conf-home.sav
@${MV} -f ${WRKSRC}/conf-home.stage ${WRKSRC}/conf-home
@cd ${WRKSRC} ; ${RM} -f install instcheck install.o instcheck.o hier.o auto_home.o auto_home.c
@cd ${WRKSRC} ; ${DO_MAKE_BUILD} install instcheck
@${TOUCH} ${WRKSRC}/*-conf
@${MV} -f ${WRKSRC}/conf-home.sav ${WRKSRC}/conf-home
.if ${PORT_OPTIONS:MMAN}
post-install:
@${INSTALL_MAN} ${WRKDIR}/djbdns-man/*.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/
@${INSTALL_MAN} ${WRKDIR}/djbdns-man/*.8 ${STAGEDIR}${MAN8PREFIX}/man/man8/
.endif
.include <bsd.port.mk>