# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 45019 2009-01-06 15:14:36Z jmr@macports.org $

PortSystem 1.0
PortGroup xcode 1.0

name			dnsupdate27
version			2.7
categories		aqua net
maintainers		jmr openmaintainer
description		DNSUpdate 2 is an 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. NOTE: this version is \
					for Mac OS X 10.3 and earlier. For 10.4 and later, use \
					dnsupdate rather than dnsupdate27.
homepage		http://www.dnsupdate.org/
master_sites	http://ju.jalon.free.fr/DNSUpdateProject/
distname		DNSUpdate${version}s
checksums		md5 02edf8eca13cb0d40a9d5f38eb0a35cc
worksrcdir		DNSUpdate2

pre-fetch {
    if {${os.major} > 7} {
        return -code error "This version of DNSUpdate is for Mac OS X 10.3 and earlier. \
            For 10.4 or later, use dnsupdate rather than dnsupdate27."
    }
}

patchfiles		patch-DUInterface.h.diff patch-DNSUpdate2.pbproj-project.pbxproj.diff \
                patch-logmessages.diff
post-patch {
    reinplace "s|/usr/bin/tar.*\[*\]| |" \
        ${worksrcpath}/DNSUpdate2.pbproj/project.pbxproj
	reinplace "s|/usr/local|${prefix}|" \
		${worksrcpath}/DNSUpdate2.pbproj/project.pbxproj \
		${worksrcpath}/DUAppController.m \
		${worksrcpath}/duInstallDaemon \
		${worksrcpath}/duUninstallDaemon \
		${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.sh \
		${worksrcpath}/StartupItem/DNSUpdate
	reinplace "s|/var/log|${prefix}/var/log|" \
		${worksrcpath}/DUAppController.m \
		${worksrcpath}/duInstallDaemon \
		${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.sh \
		${worksrcpath}/StartupItem/DNSUpdate
	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
}

xcode.target		All

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

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

	# Install StartupItem for DNSUpdate
	set itemPath ${destroot}/Library/StartupItems
	xinstall -d -m 0755 ${itemPath}
	file copy ${worksrcpath}/StartupItem/ ${itemPath}/${appName}
	system "chown -R root:wheel ${itemPath}/${appName} \
	        && chmod -R o-w ${itemPath}/${appName}"

	# 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.check         regex
livecheck.url           ${master_sites}
livecheck.regex         "DNSUpdate(2\\.7\[\\.\\w\]*)s${extract.suffix}"
