# $Id: Portfile 65168 2010-03-23 09:27:45Z mww@macports.org $

PortSystem 1.0

name            bison
version         2.4.2
categories      devel
maintainers     mww
license         GPLv3
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     63584004613aaef2d3dca19088eb1654 \
                    sha1    4e2c4b40a248748989b3fe7f0d89022ea11a8d6f \
                    rmd160  bc72359a93ad36ae60e8027d846211cb99634d93
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++
	# yacc manpage gets installed even with '--disable-yacc'
	if {! [variant_isset yacc]} {
		delete ${destroot}${prefix}/share/man/man1/yacc.1
	}
}

livecheck.type  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
}


