set branch [strsed ${version} {s/\.[0-9]*\.[0-9]*$//}]
description DNS server supporting authoritative, recursive and caching DNS
long_description MaraDNS is a fully functional DNS server supporting \
authoritative DNS, recursive DNS, and caching DNS.
homepage http://www.maradns.org/
master_sites http://www.maradns.org/download/${branch}/${version} \
checksums md5 ee82cb6d4989cee2b9937257dc48c025 \
sha1 091964ee898d1ee79e35b9e8bb42ae1df5b076e0 \
rmd160 47b4816d125883d0a7d676677102fc906546f2f8
patchfiles patch-configure.diff patch-install.darwin.diff \
patch-build__Makefile.darwin.diff
# Delete unneeded stress-testing code (not built by default). It may be worth
# adding this as a variant in a future revision.
file delete -force ${worksrcpath}/sqa
# Delete Portuguese documentation sources (documentation not built by default;
# will need to add a section to build these docs if localisation desired)
file delete -force ${worksrcpath}/doc/pt_br
# Delete unneeded English documentation sources (documentation already built)
# and support files that will otherwise be installed in the doc directories
file delete -force ${worksrcpath}/doc/en/source
file delete ${worksrcpath}/doc/en/man/read.manpage
file delete ${worksrcpath}/doc/en/pdf/tmac.an.patch
{*}[glob ${worksrcpath}/doc/en/*/{Makefile,*.embed,make.*}]
# Fix installation script (called by "make install") so that configuration
# files and directories are placed in destroot
reinplace "s|\$RPM_BUILD_ROOT|${destroot}${prefix}|g" \
${worksrcpath}/build/install.sh
# Fix hardcoding of default paths to chroot, log and zone file dirs, and
# configuration file, in source and docs. copy.devs.c is only used if maradns
# is built for Solaris, and maraconf.sh is neither installed by default nor yet
# by this Portfile, but hey.
set marabindocpages "duende maradns mararc zoneserver"
set marasetupdocpages "authoritative compile convert dangling \
dnsmaster dnsslave dnstcp quick_start recursive update"
set marareinplace "s|/etc/mara|${prefix}/etc/mara|g"
foreach docpage ${marabindocpages} {
reinplace "${marareinplace}" \
${worksrcpath}/doc/en/text/man.${docpage}.txt \
${worksrcpath}/doc/en/tutorial/man.${docpage}.html
foreach docpage ${marasetupdocpages} {
reinplace "${marareinplace}" \
${worksrcpath}/doc/en/text/${docpage}.txt \
${worksrcpath}/doc/en/tutorial/${docpage}.html
reinplace "${marareinplace}" \
${worksrcpath}/MaraDns.h \
${worksrcpath}/build/copy.devs.c \
${worksrcpath}/parse/ParseMaraRc.c \
${worksrcpath}/tools/maraconf.sh \
${worksrcpath}/doc/en/QuickStart \
${worksrcpath}/doc/en/examples/example_authoritative_mararc.txt \
${worksrcpath}/doc/en/examples/example_full_mararc \
${worksrcpath}/doc/en/examples/example_mararc \
${worksrcpath}/doc/en/examples/example_recursive_mararc.txt \
${worksrcpath}/doc/en/man/duende.8 \
${worksrcpath}/doc/en/man/maradns.8 \
${worksrcpath}/doc/en/man/zoneserver.8 \
${worksrcpath}/doc/en/man/mararc.5
build.args CPPFLAGS=${configure.cppflags} \
CFLAGS=${configure.cflags} \
LDFLAGS=${configure.ldflags}
destroot.env PREFIX=${destroot}${prefix}
# Keep chroot directory for duende (monitors and logs maradns instances)