# -*- 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
# $Id: Portfile 57459 2009-09-11 10:08:00Z jmr@macports.org $

PortSystem 1.0
PortGroup xcode 1.0

name			dnsupdate
version			2.8
categories		aqua net
license			Restrictive/Distributable
maintainers		jmr 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		http://www.dnsupdate.org/
master_sites	http://ju.jalon.free.fr/DNSUpdateProject/
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 {
	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}

	# Install LaunchDaemon for DNSUpdate
	set itemName org.macports.dnsupdate.plist
	set itemAliasPath ${destroot}/Library/LaunchDaemons
	set itemPath ${prefix}/etc/LaunchDaemons
	xinstall -d -m 0755 ${destroot}${itemPath}
	xinstall -d -m 0755 ${itemAliasPath}
	xinstall -m 0755 ${worksrcpath}/org.dnsupdate.daemon.plist ${destroot}${itemPath}/${itemName}
	system "ln -s ${itemPath}/${itemName} ${itemAliasPath}/${itemName}"

	# 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}
}

livecheck.type		regex
livecheck.url		${master_sites}
livecheck.regex		"DNSUpdate(\[0-9\]+(\\.\\w+)+)s${extract.suffix}"
