# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0

PortGroup           compiler_blacklist_versions 1.0

name                MoarVM
version             2019.07.1
categories          lang devel
platforms           darwin
license             Artistic-2 MIT BSD ISC public-domain
maintainers         {mojca @mojca} openmaintainer
description         A virtual machine for Perl 6
long_description    MoarVM is a virtual machine built especially for \
                    Rakudo Perl 6 and the NQP Compiler Toolchain.
homepage            https://moarvm.org/
master_sites        https://moarvm.org/releases/

checksums           rmd160  cc9e0a35cca0bcc01f6651a1451bca8c25dc99a7 \
                    sha256  253c945ee6b589ede6949b8e77814542befcbc326190e18ef549634db4955988 \
                    size    5189731

# TODO: https://github.com/MoarVM/MoarVM/issues/321
# conflicts         dyncall libtommath libuv
conflicts           libtommath

# configure.cflags-append \
#                   -I${prefix}/include/libtommath
depends_build       port:perl5 \
                    port:pkgconfig

# libatomic_ops:    https://trac.macports.org/ticket/53171
depends_lib         port:dyncall \
                    port:libatomic_ops \
                    port:libuv
#                   port:libtommath

# https://trac.macports.org/ticket/53950
compiler.blacklist  cc gcc-* apple-gcc-* llvm-gcc-*
if {${os.platform} eq "darwin" && ${os.arch} eq "powerpc"} {
    # compiler.blacklist *clang*
    compiler.whitelist \
                    macports-gcc-6 macports-gcc-5 macports-gcc-4.9 macports-gcc-4.8 macports-gcc-4.7
}

configure.cmd       ${prefix}/bin/perl Configure.pl
configure.args      --cc=${configure.cc} \
                    --has-dyncall \
                    --has-libatomic_ops \
                    --has-libuv
#                   --has-libtommath

# https://github.com/MoarVM/MoarVM/issues/414
universal_variant   no
# Unsupported by Configure.pl
# configure.universal_args-delete --disable-dependency-tracking