# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id: Portfile 55049 2009-08-06 11:13:40Z snc@macports.org $

PortSystem 1.0

name              avrdude
version           5.8
revision          2
categories        cross devel
maintainers       bdmicro.com:bsd
description       an Atmel AVR MCU programmer
long_description  AVRDUDE: AVR Downloader/UploaDEr - is a program for \
                  updating the flash, eeprom, fuse, and lock bit memories \
                  of Atmel AVR microcontrollers.  It operations with \
                  several popular programmers including the STK500, \
                  JTAGICE MkII, AVRISP, and others.
homepage          http://www.nongnu.org/avrdude/
platforms         darwin
master_sites      http://savannah.nongnu.org/download/avrdude/
checksums         md5 d459dcf47fa7fc2a29a70d68ebff4886 \
                  sha1 77198df91a7176bbdab19ef4a4caf0bdc5862c94 \
                  rmd160 c8eb0675f84477d6b58f0e8dc0438e16ac0714db
depends_lib       port:libusb-compat \
                  port:ncurses \
                  port:readline
configure.args    --mandir=${prefix}/share/man
patchfiles        patch-stk500v2.c.diff

variant serjtag description {Add support for burning a bootloader into an arduino without external programmer (FTDI bitbang mode)} {
        depends_lib-append port:libftd2xx
	patchfiles-append patch-Makefile.in.diff \
                          patch-avr910.c.diff \
                          patch-avrdude.conf.in.diff \
                          patch-config_gram.y.diff \
                          patch-lexer.l.diff \
                          patch-ft245r.c.diff \
                          patch-ft245r.h.diff \
                          patch-serjtag.c.diff \
                          patch-serjtag.h.diff
	configure.cflags-append "-g -O2 -DSUPPORT_FT245R"
	configure.env-append LIBS="-lftd2xx"
}

post-activate {
    if {[variant_isset serjtag]} {
        ui_msg "\n
    Remember to unload FTDI VCP driver before using avrdude with ftdi
    bitbang mode:
    
        sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext\n"
    }
}
