# -*- 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$ PortSystem 1.0 name dnsmasq version 2.73 categories net license GPL maintainers snc openmaintainer description lightweight DNS forwarder and DHCP server long_description Dnsmasq is lightweight, easy to configure DNS \ forwarder and DHCP server. It is designed to provide \ DNS and, optionally, DHCP, to a small network. It can \ serve the names of local machines which are not in the \ global DNS. The DHCP server integrates with the DNS \ server and allows machines with DHCP-allocated \ addresses to appear in the DNS with names configured \ either in each host or in a central configuration \ file. Dnsmasq supports static and dynamic DHCP leases \ and BOOTP for network booting of diskless machines. homepage http://www.thekelleys.org.uk/dnsmasq/doc.html platforms darwin notes "A startup item has been generated that will aid in\ starting ${name} with launchd. You must specify the\ path to resolv.conf. For your protection, this script\ is disabled by default. Execute the following command\ to start it, and to cause it to launch at startup:\ \n\nsudo port load ${name}" master_sites http://www.thekelleys.org.uk/dnsmasq/ use_xz yes checksums rmd160 091bb778b2fffffd05ce368227054e6f2253686b \ sha256 0bff81103e53fcab3a3c4d0fd6df1882f9446dca4fa74ff8270e1d2ab872d8f6 patchfiles patch-src-config.h.diff \ patch-src-network.c.diff post-patch { reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/src/config.h reinplace s|#resolv-file=|resolv-file=/etc/resolv.conf| \ ${worksrcpath}/dnsmasq.conf.example } use_configure no variant universal {} build.env-append CC="${configure.cc} [get_canonical_archflags]" destroot.env-append CC="${configure.cc} [get_canonical_archflags]" destroot.args PREFIX=${prefix} destroot.keepdirs ${destroot}${prefix}/var/run/${name} livecheck.type regex livecheck.url ${master_sites} livecheck.regex LATEST_IS_(\\d\\.\\d+) # TODO: remove no_* variants after 2015-01-09 if { ! [variant_isset no_dhcp] } { default_variants-append +dhcp } if { ! [variant_isset no_tftp] } { default_variants-append +tftp } if { ! [variant_isset no_ipv6] } { default_variants-append +ipv6 } variant no_dhcp conflicts dhcp description { obsolete } {} variant dhcp conflicts no_dhcp description { Provide built-in DHCP server } { build.args-delete -DNO_DHCP } variant no_tftp conflicts tftp description { obsolete } {} variant tftp conflicts no_tftp description { Provide built-in TFTP server } { build.args-delete -DNO_TFTP } variant no_ipv6 conflicts ipv6 description { obsolete } {} variant ipv6 conflicts no_ipv6 description { Provide IPV6 support } { build.args-delete -DNO_IPV6 } set COPTS {} if {![variant_isset dhcp]} { lappend COPTS -DNO_DHCP } if {![variant_isset tftp]} { lappend COPTS -DNO_TFTP } if {![variant_isset ipv6]} { lappend COPTS -DNO_IPV6 } if {[llength $COPTS] > 0} { set mycopts [join $COPTS " "] build.args-append COPTS="$mycopts" } post-destroot { copy ${worksrcpath}/dnsmasq.conf.example ${destroot}${prefix}/etc/dnsmasq.conf.example # Create the directory that dnsmasq likes to store its pid in. xinstall -d -m 777 ${destroot}${prefix}/var/run/${name} # # Set up a launchd item. The daemondo wrapper is not needed. # # Create the plist file. set itemname ${startupitem.name} set uniquename ${startupitem.uniquename} set plistname ${startupitem.plist} set daemondest ${startupitem.location} set itemdir ${prefix}/etc/${daemondest}/${uniquename} file mkdir ${destroot}${itemdir} file attributes ${destroot}${itemdir} -owner root -group wheel set plist [open "${destroot}${itemdir}/${plistname}" w 0644] puts ${plist} "" puts ${plist} "" puts ${plist} "" puts ${plist} " " puts ${plist} " Disabled" puts ${plist} " " puts ${plist} " Label" puts ${plist} " ${uniquename}" puts ${plist} " ProgramArguments" puts ${plist} " " puts ${plist} " ${prefix}/sbin/dnsmasq" puts ${plist} " -k" puts ${plist} " " puts ${plist} " RunAtLoad" puts ${plist} " " puts ${plist} " KeepAlive" puts ${plist} " " puts ${plist} " " puts ${plist} "" close ${plist} # Make a symlink to the plist file. file mkdir "${destroot}/Library/${daemondest}" ln -sf "${itemdir}/${plistname}" "${destroot}/Library/${daemondest}" } post-activate { # copy configuration file if not previously created if {![file exists ${prefix}/etc/dnsmasq.conf]} { copy ${prefix}/etc/dnsmasq.conf.example \ ${prefix}/etc/dnsmasq.conf } }