# $Id: Portfile 54799 2009-08-02 08:03:35Z mww@macports.org $

PortSystem 1.0

name             mono
version          2.4.2.3
categories       devel lang mono
platforms        darwin
maintainers      mww
description      Implementation of the .NET Development Framework
long_description Mono is an effort to create an open source \
                 implementation of the .NET Development Framework \
                 including a C# compiler.

homepage         http://www.go-mono.com/
master_sites     ${homepage}sources/${name}/
use_bzip2        yes
universal_variant no

checksums           md5     696f25afc8453cd0d1c78de6e905dcf2 \
                    sha1    c0e7c2992ef6c1ea3d1fd48ef581aa1ff6ec29cb \
                    rmd160  f52bf6e281b076b859a567c17917577710522684

depends_build    port:pkgconfig port:gawk
depends_lib      port:gettext port:glib2 port:icu \
                 port:libiconv port:zlib port:libgdiplus port:xorg-libX11

patchfiles       patch-configure.diff \
                 patch-data-config.in.diff

# Do NOT pick up external boehmgc (prefixing CPPFLAGS or CFLAGS does not suffice -- ugly++)
configure.cc-append	"-I${worksrcpath}/libgc/include"

configure.args   --with-gc=included \
                 --with-preview=yes \
                 --without-sigaltstack \
                 --with-libgdiplus=${prefix} \
                 --disable-dtrace

test.run         yes
test.target      check

post-patch {
    reinplace "s/-pthread/-lpthread/g" ${worksrcpath}/configure
    reinplace s|@PREFIX@|$prefix|g $worksrcpath/data/config.in
}

post-destroot {
    set docdir ${prefix}/share/doc/${name}-${version}

    xinstall -d ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} AUTHORS COPYING.LIB ChangeLog NEWS README \
        ${destroot}${docdir}

    xinstall -m 0644 -W ${worksrcpath}/docs assembly-bundle embedded-api exceptions \
        gc-issues jit-thoughts jit-trampolines object-layout stack-alignment unmanaged-calls \
        ${destroot}${docdir}

    move ${destroot}${prefix}/share/jay ${destroot}${docdir}

    set libgc_docdir ${prefix}/share/doc/ligbc-mono-6.6

    eval move ${destroot}${prefix}/share/libgc-mono \
        ${destroot}${libgc_docdir}

    xinstall -d ${destroot}${libgc_docdir}/html

    eval move [glob ${destroot}${libgc_docdir}/*.html] \
        ${destroot}${libgc_docdir}/html
}

platform darwin 9 {
    configure.cflags-append    -D_NONSTD_SOURCE
    configure.cxxflags-append    -D_NONSTD_SOURCE
    patchfiles-append patch-interp.h.diff patch-sys-mman.c.diff \
        patch-mono-mini-mini-x86.h.diff \
        patch-libgc-darwin_stop_world.c.diff
}

livecheck.check    regex
livecheck.url   ${homepage}sources-stable/
livecheck.regex mono/mono-(\\d+(?:\\.\\d+)*)

