# $Id$

PortSystem        1.0

name                ocaml
epoch               1
version             4.02.2
revision            1
# When updating ocaml, also update ocaml-camlp4 and camlp5 to compatible versions
# (c.f. #26769, #20219, #18292) or increase their revisions to rebuild them.
set major_vers      [join [lrange [split ${version} .] 0 1] .]
platforms           darwin
maintainers         mww openmaintainer
categories          lang ml
description         Objective Caml is an implementation of the ML language
license             {QPL LGPL}
homepage            http://www.ocaml.org/
master_sites        http://caml.inria.fr/pub/distrib/ocaml-${major_vers}/
checksums           rmd160  f00ac72bd5a96b28a2ba6dca6b0f9c8c971d9497 \
                    sha256  60f923988ab7ae023a0799f9699d7d7a476bf8207ee2c900f92c8288ea363085

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.

use_xz              yes

depends_lib         port:ncurses

use_parallel_build  no
universal_variant   no

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

# Configure.
configure.pre_args  -prefix ${prefix}
configure.args      -cc ${configure.cc} -as \"${configure.cc} -c\" -aspp \"${configure.cc} -c\" \ -no-graph

# 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}/bin \
                    LIBDIR=${destroot}${prefix}/lib/ocaml \
                    MANDIR=${destroot}${prefix}/share/man

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

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

livecheck.type      regex
livecheck.url       http://caml.inria.fr/download.en.html
livecheck.regex     "ocaml-\[0-9\.]+/ocaml-(\[0-9\.\]+).tar"