Update dns/ldns to version 1.7.0_1
[dports.git] / dns / ldns / Makefile
1 # Created by: Konstantin Saurbier <saurbier@math.uni-bielefeld.de>
2 # $FreeBSD$
3
4 PORTNAME=       ldns
5 PORTVERSION=    1.7.0
6 PORTREVISION=   1
7 CATEGORIES=     dns
8 MASTER_SITES=   http://www.nlnetlabs.nl/downloads/ldns/ \
9                 LOCAL/ehaupt
10
11 MAINTAINER=     jaap@NLnetLabs.nl
12 COMMENT=        Library for programs conforming to DNS RFCs and drafts
13
14 LICENSE=        BSD3CLAUSE
15 LICENSE_FILE=   ${WRKSRC}/LICENSE
16
17 GNU_CONFIGURE=  yes
18 USES=           cpe gmake libtool ssl perl5
19 USE_PERL5=      build
20 CPE_VENDOR=     nlnetlabs
21 USE_LDCONFIG=   yes
22
23 CONFIGURE_ARGS+=        --with-ssl=${OPENSSLBASE} --disable-dane-ta-usage
24
25 .if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL))
26 OPTIONS_DEFINE= DOXYGEN DRILL
27 OPTIONS_DEFAULT=        DRILL
28
29 DRILL_DESC=     With drill program
30
31 .endif
32
33 DOXYGEN_BUILD_DEPENDS=  doxygen:devel/doxygen
34 HTMLDOCS=       doc/html/*
35
36 OPTIONS_DEFINE+=        GOST DANETAUSAGE \
37                 RRTYPENINFO RRTYPERKEY RRTYPETA RRTYPEAVC 
38
39 DANETAUSAGE_DESC=       Enable ta uasage, requires openssl >= 1.1.0
40 GOST_DESC=              GOST signatures enabled, requires openssl >= 1.0.0
41 RRTYPENINFO_DESC=       Enable draft RR type ninfo.
42 RRTYPERKEY_DESC=        Enable draft RR type rkey.
43 RRTYPETA_DESC=          Enable draft RR type ta.
44 RRTYPEAVC_DESC=         Enable draft RR type avc.
45
46 OPTIONS_SUB=    yes
47
48 DANETAUSAGE_CONFIGURE_ENABLE=   dane-ta-usage
49 DANETAUSAGE_IMPLIES=            RRTYPETA
50 GOST_CONFIGURE_ENABLE=          gost
51 RRTYPENINFO_CONFIGURE_ENABLE=   rrtype-ninfo
52 RRTYPERKEY_CONFIGURE_ENABLE=    rrtype-rkey
53 RRTYPETA_CONFIGURE_ENABLE=      rrtype-ta
54 RRTYPEAVC_CONFIGURE_ENABLE=     rrtype-avc
55 #EXAMPLES_CONFIGURE_WITH=       examples
56 DRILL_CONFIGURE_WITH=           drill
57 DRILL_INSTALL_TARGET=   install-drill
58 #EXAMPLES_INSTALL_TARGET=       install-examples
59 PLIST_SUB+=                     EXAMPLES="@comment "
60
61 .if defined(BUILD_PYLDNS)
62 USES+=          python
63 PKGNAMEPREFIX=  ${PYTHON_PKGNAMEPREFIX}
64 ALL_TARGET=     pyldns
65 INSTALL_TARGET= install-pyldns
66
67 CONFIGURE_ARGS+=--with-pyldns
68 LIB_DEPENDS+=   libldns.so:dns/ldns
69 BUILD_DEPENDS+= ${LOCALBASE}/bin/swig:devel/swig13
70 CFLAGS+=        -I${OPENSSLINC}
71
72 post-patch:
73         @${REINPLACE_CMD} \
74                 -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' \
75                 ${WRKSRC}/Makefile.in
76 .elif defined(BUILD_P5PERL)
77 USES+=          perl5
78 USE_PERL5=      build run
79 PKGNAMEPREFIX=  p5-DNS-
80
81 ALL_TARGET=     p5-dns-ldns
82 INSTALL_TARGET= install-p5-dns-ldns
83
84 CONFIGURE_ARGS+=--with-p5-dns-ldns
85 LIB_DEPENDS+=   libldns.so:dns/ldns
86 RUN_DEPENDS=    p5-Test-Exception>=0:devel/p5-Test-Exception \
87                 p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib
88 BUILD_DEPENDS=${RUN_DEPENDS}
89
90 post-patch:
91         @${SED} -i '' -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' ${WRKSRC}/Makefile.in
92
93 post-install:
94         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/DNS/LDNS/LDNS.so
95 .else
96 ALL_TARGET=     all
97 INSTALL_TARGET= install-lib install-h install-config
98
99 .endif # BUILD_PYLDNS || BUILD_P5PERL
100
101 .include <bsd.port.pre.mk>
102
103 .if ${PORT_OPTIONS:MDANETAUSAGE} && ${SSL_DEFAULT} != openssl-devel
104 BROKEN=         this option requires openssl >= 1.1.0
105 .endif
106
107 .if ! ${PORT_OPTIONS:MGOST}
108 NO_GOST=        --disable-gost
109 .endif
110
111 .if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL))
112
113 post-build:
114 .if ${PORT_OPTIONS:MDOXYGEN}
115         @(cd  ${WRKSRC}; ${MAKE_CMD} doxygen)
116 .endif
117
118 post-install:
119         ${INSTALL_DATA} ${WRKSRC}/packaging/libldns.pc \
120                  ${STAGEDIR}${PREFIX}/libdata/pkgconfig
121         ${INSTALL_MAN} ${WRKSRC}/packaging/ldns-config.1 \
122                 ${STAGEDIR}${PREFIX}/man/man1
123         ${INSTALL_MAN} ${WRKSRC}/doc/man/man3/ldns_*.3 \
124                 ${STAGEDIR}${PREFIX}/man/man3
125         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.2
126 .if ${PORT_OPTIONS:MDRILL}
127         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/drill
128 .endif
129 .if ${PORT_OPTIONS:MXEXAMPLES}
130         for p in ldns-chaos ldns-compare-zones ldns-dane ldns-dpa ldns-gen-zone ldns-key2ds \
131                 ldns-keyfetcher ldns-keygen ldns-mx ldns-notify ldns-nsec3-hash \
132                 ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig ldns-signzone \
133                 ldns-test-edns ldns-testns ldns-update ldns-verify-zone ldns-version \
134                 ldns-walk ldns-zcat ldns-zsplit ldnsd; do \
135                         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/$$p; done
136 .endif
137 .if ${PORT_OPTIONS:MDOXYGEN}
138         ${MKDIR} ${STAGEDIR}${DOCSDIR}/html
139         ${INSTALL_DATA} ${HTMLDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}/html
140 .endif
141
142 .endif # BUILD_PYLDNS || BUILD_P5PERL
143
144 .include <bsd.port.post.mk>