# $Id: Portfile 44865 2009-01-03 22:42:05Z mww@macports.org $

PortSystem 1.0

name            bison
version         2.4.1
categories      devel
maintainers     mww
description     general-purpose parser generator
long_description \
    Bison is a general-purpose parser generator that converts a grammar \
    description for an LALR context-free grammar into a C program to    \
    parse that grammar. Once you are proficient with Bison, you can use \
    it to develop a wide range of language parsers, from those used in  \
    simple desk calculators to complex programming languages.

homepage        http://www.gnu.org/software/bison/
platforms       darwin
master_sites    gnu
checksums       md5 84e80a2a192c1a4c02d43fbf2bcc4ca4 \
                sha1 fc96b28ee4a6a914b18cb1eddb68177d94b83361 \
                rmd160 d194a6e0f586cab2aab137d215d0138336be367c
use_bzip2       yes

depends_lib     port:gettext port:m4 port:libiconv

configure.args  --infodir=${prefix}/share/info \
                --mandir=${prefix}/share/man \
                --disable-yacc

test.run        yes
test.target     check

post-destroot {
	set docdir ${prefix}/share/doc/${name}
	xinstall -d ${destroot}${docdir}/examples/calc++
	xinstall -m 0444 -W ${worksrcpath} AUTHORS COPYING ChangeLog NEWS \
		THANKS TODO ${destroot}${docdir}
	xinstall -m 444 -W ${worksrcpath}/examples/calc++  \
		calc++-driver.cc calc++-driver.hh calc++-parser.cc \
		calc++-parser.hh calc++-parser.stamp calc++-parser.yy \
		calc++-scanner.cc calc++-scanner.ll calc++.cc location.hh \
		position.hh stack.hh test \
		${destroot}${docdir}/examples/calc++
	delete ${destroot}${prefix}/lib/charset.alias
	# yacc manpage gets installed even with '--disable-yacc'
	if {! [variant_isset yacc]} {
		delete ${destroot}${prefix}/share/man/man1/yacc.1
	}
}

livecheck.check regex
livecheck.url   http://ftp.gnu.org/gnu/bison/?C=M&O=D
livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)

variant yacc description "enable yacc compatibility" {
    configure.args-delete   --disable-yacc
}


