# $Id: Portfile 105890 2013-05-09 11:19:19Z mww@macports.org $

PortSystem 1.0

name                bison
version             2.7.1
categories          devel
maintainers         mww
license             GPL-3+
platforms           darwin
installs_libs       no
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/
master_sites        gnu
checksums           rmd160  933257e61c1098160d4fd71063f340b2ee304671 \
                    sha256  b409adcbf245baadb68d2f66accf6fdca5e282cafec1b865f4b5e963ba8ea7fb
use_xz              yes

depends_lib         port:gettext port:m4 port:libiconv

installs_libs       no

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
    }
}

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

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

