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

PortSystem          1.0
PortGroup           github 1.0

github.setup        dlang dlang.org 2.071.0 v
name                dmd-doc
categories          lang
platforms           darwin
license             DMD
maintainers         takeshi openmaintainer
supported_archs     noarch

description         HTML files for dman of the D programming language compiler
long_description \
    D is a language with C-like syntax and static typing. \
    It pragmatically combines efficiency, control, \
    and modeling power, with safety and programmer productivity. \
    This port provides the html files required to build the dman command of \
    the D programming language compiler.
homepage            http://dlang.org/

checksums           rmd160  0946e754810c59508ab63706bdd7abd7a0c4d2e0 \
                    sha256  17c2c20c53a01447656a2618a0d63d455f72f68b041b908ae0074617c67cd15c

depends_build       port:phobos

use_configure       no

if {${build_arch} eq "x86_64"} {
    set model 64
} else {
    set model 32
}

set dmd ${prefix}/bin/dmd
set dflags "-O -d"
set ddocflags " -c -o- -Df"
set ddoc "macros.ddoc doc.ddoc"
set stddoc "std.ddoc"
set stddocflags "-m${model} -d -c -o- -version=StdDoc"
build {
   file mkdir ${worksrcpath}/dmd
    system "
        cd ${worksrcpath};
        ${dmd} ${ddocflags}dmd/expression.html ${ddoc} spec/expression.dd;
        ${dmd} ${ddocflags}dmd/statement.html ${ddoc} spec/statement.dd
    "
    foreach f [glob ${prefix}/include/phobos/std/*.d] {
        set html std_[file rootname [file tail ${f}]].html
        system "
            cd ${worksrcpath};
            ${dmd} ${stddocflags} ${stddoc} -Dfdmd/${html} ${f}
        "
    }
}

destroot {
    xinstall -d -m 755 ${destroot}${prefix}/share/doc
    file copy ${worksrcpath}/dmd ${destroot}${prefix}/share/doc
}

livecheck.regex     archive/[join ${github.tag_prefix} ""](\[^"-\]+)${extract.suffix}