# -*- 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

PortSystem          1.0
PortGroup           github 1.0

# This port is for the stable version of ragel, currently 6.x. It had
# previously been updated to the development version, 7.x, but it is
# either buggy and/or not fully backward-compatible with 6.x which has
# caused problems for some ports that depend on ragel, so that version
# is now available in the separate ragel-devel port. Before considering
# updating this port to 7.x whenever it becomes stable, confirm that
# previously-reported problems with 7.x are fixed with the new version.

# Please keep the ragel and ragel-devel ports as similar as possible.

epoch               1
github.setup        adrian-thurston ragel 6.10 ragel-
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
revision            1
checksums           rmd160  e37a0f83d3acbb77c7d7ea115f2faf0f2478724b \
                    sha256  5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f \
                    size    1232993

conflicts           ragel-devel
categories          lang devel
# From the Ragel web site:
# Note: Part of the Ragel output is copied from Ragel source, covered
# by the [...] GPL v2 [...] license. As an exception, you may use the
# parts of Ragel output copied from Ragel source without restriction.
# The remainder of Ragel output is derived from the input and inherits
# the copyright and license of the input file. Use of Ragel makes
# absolutely no requirement about the license of generated code.
license             GPL-2
maintainers         nomaintainer

description         Ragel is a state machine compiler.

long_description    Ragel compiles executable finite state machines from \
                    regular languages. Ragel targets C, C++ and ASM. Ragel \
                    state machines can not only recognize byte sequences \
                    as regular expression machines do, but can also execute \
                    code at arbitrary points in the recognition of a regular \
                    language.

homepage            http://www.colm.net/open-source/ragel/
master_sites        http://www.colm.net/files/ragel/

installs_libs       no

# The ragel 6.x test suite depends on TxL which is not open-source.
test.run            no

post-destroot {
    set docdir ${prefix}/share/doc/${name}
    xinstall -d -m 0755 ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} COPYING TODO \
        ${destroot}${docdir}
}

platform darwin 10 powerpc {
    # Rosetta gets it wrong otherwise
    configure.args-append \
                    --build=powerpc-apple-darwin${os.major}
}

livecheck.type      regexm
livecheck.url       ${homepage}
livecheck.regex     <h3>Stable</h3>.*?>${name}-\(\[0-9.\]+\)[quotemeta ${extract.suffix}]<
