# $Id$

PortSystem        1.0

name                ocaml3
version             3.12.1
revision            1
# When updating ocaml, also update camlp5 to a compatible version (c.f. #26769, #20219, #18292)
set major_vers      [join [lrange [split ${version} .] 0 1] .]
platforms           darwin
categories          lang ml
license             {QPL LGPL}
description         Objective Caml is an implementation of the ML language
maintainers         mww openmaintainer
long_description \
            Objective Caml is an implementation of the ML language, based on \
            the Caml Light dialect extended with a complete class-based object \
            system    and a powerful module system in the style of Standard ML.
homepage            http://www.ocaml.org/
master_sites        http://caml.inria.fr/pub/distrib/ocaml-${major_vers}/ \
                    ftp://ftp.inria.fr/INRIA/Projects/cristal/ocaml/ocaml-${major_vers}
checksums           md5     227a3daaedb150bf5037a3db01f5bf42 \
                    sha1    29b44117b116b1a5bc54a8b4514af483793a769f \
                    rmd160  61d38c0785491c8790ac02ab78fb2f26ea490fc1

distname            ocaml-${version}
use_bzip2           yes

depends_lib         port:ncurses port:xorg-libX11

patchfiles          patch-otherlibs-bigarray.diff patch-configure.diff

use_parallel_build  no
universal_variant   no

set docdir          ${prefix}/share/doc/${name}

# Configure.
configure.pre_args  -prefix ${prefix}
configure.args      -no-tk -cc ${configure.cc} -aspp \"${configure.cc} -c\" \
                    -x11include \"${prefix}/include\" -x11lib \"${prefix}/lib\" \
                    -bindir ${prefix}/libexec/${name} -libdir ${prefix}/lib/${name}

# Building.
build.target        world.opt
build.cmd           "unset LD_PREBIND LD_PREBIND_ALLOW_OVERLAP && ${build.cmd}"

# Install.
destroot.target     install
destroot.destdir    BINDIR=${destroot}${prefix}/libexec/${name} \
                    LIBDIR=${destroot}${prefix}/lib/${name} \
                    MANDIR=${destroot}${prefix}/share/man

post-destroot {
    # Change "ld.conf" to remove ${destroot} in paths.
    reinplace "s:${destroot}::g" ${destroot}${prefix}/lib/${name}/ld.conf
    xinstall -d ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} Changes LICENSE README ${destroot}${docdir}
    delete ${destroot}${prefix}/share/man
}

# Variants.
variant profile description {Enable profiling} {
    configure.env-append CC="gcc -pg"
}

variant labltk description {Include TK bindings and ocamlbrowser} {
    depends_lib-append    port:tcl port:tk
    configure.args-delete     -no-tk
}

livecheck.type      regex
livecheck.url       http://caml.inria.fr/pub/distrib/ocaml-3.12/
livecheck.regex     "ocaml-(3\[0-9\.\]+).tar"