# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0
PortGroup xcode 1.0

name			dnsupdate
version			2.8
categories		aqua net
license			Restrictive/Distributable
maintainers		{jmr @jmroot} openmaintainer
description		a Mac OS X client for dynamic DNS services
long_description	DNSUpdate 2 is a client for dynamic DNS services \
					like DynDNS.org and ZoneEdit.com, specific to Mac OS \
					X. It uses the Cocoa framework and is launched at \
					boot time. It comes with a graphic application to \
					configure and monitor the client.
homepage		https://github.com/jonasf73/DNSUpdate
master_sites	macports_distfiles
distname		DNSUpdate${version}s
checksums		md5 e7baab094ee3fa60871eec8f9aa3510e \
				sha1 52367f763368a680ddb85f5abd886a2d7d1d0f35 \
				rmd160 5deeca2a0468c8dceea89dc5109446ccb6acbbf6

extract.suffix	.tgz

# stop spamming the log every minute, and fix spelling errors in log messages
# submitted upstream but no new version released yet
patchfiles      patch-logmessages.diff \
                patch-project.pbxproj.diff \
                patch-HTTPLoader.m.diff

post-patch {
    foreach doc [glob -directory ${worksrcpath} *.lproj/DNSUpdateHelp.rtfd/TXT.rtf] {
        system "iconv -f MACROMAN -t UTF-8 $doc > ${doc}.new && mv ${doc}.new $doc"
    }
	reinplace "s|/usr/local|${prefix}|" \
		${worksrcpath}/DNSUpdate2.xcodeproj/project.pbxproj \
		${worksrcpath}/DUAppController.m \
		${worksrcpath}/duInstallDaemon.py \
		${worksrcpath}/duUninstallDaemon.py \
		${worksrcpath}/English.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/French.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/German.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Italian.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Spanish.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/startDaemon.py \
		${worksrcpath}/org.dnsupdate.daemon.plist
	reinplace "s|/var/log|${prefix}/var/log|" \
		${worksrcpath}/DUAppController.m \
		${worksrcpath}/duInstallDaemon.py \
		${worksrcpath}/English.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/French.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/German.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Italian.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Spanish.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/startDaemon.py \
		${worksrcpath}/org.dnsupdate.daemon.plist
	reinplace "s|/var/run|${prefix}/var/run|" \
		${worksrcpath}/DUProtocols.h \
		${worksrcpath}/English.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/French.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/German.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Italian.lproj/DNSUpdateHelp.rtfd/TXT.rtf \
		${worksrcpath}/Spanish.lproj/DNSUpdateHelp.rtfd/TXT.rtf
	reinplace "s|org.dnsupdate.daemon|org.macports.dnsupdate|" \
        ${worksrcpath}/org.dnsupdate.daemon.plist
}

xcode.target	All

destroot {
	# Install DNSUpdate application
	set appName DNSUpdate
	set appPath ${destroot}${applications_dir}
	xinstall -d -m 0755 ${appPath}
	file copy ${worksrcpath}/build/${xcode.configuration}/${appName}.app ${appPath}/${appName}.app

	# Install DNSUpdate daemon
	xinstall -m 0755 ${worksrcpath}/build/${xcode.configuration}/${appName}.app/Contents/Resources/${name} \
		${destroot}${prefix}/sbin/${name}

	# Create PREFIX/var/log placeholder
	set logPath ${destroot}${prefix}/var/log
	xinstall -d -m 0755 ${logPath}

	# Create PREFIX/var/run placeholder
	set runPath ${destroot}${prefix}/var/run
	destroot.keepdirs ${logPath} ${runPath}
}

# Install LaunchDaemon for DNSUpdate
startupitem.type        launchd
startupitem.custom_file ${worksrcpath}/org.dnsupdate.daemon.plist

livecheck.type		none
