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

PortSystem          1.0

name                dart-sdk
version             3.10.0
categories          lang
license             BSD
maintainers         {amake @amake} openmaintainer
description         The Dart SDK
long_description    Dart is an open-source, scalable programming language, \
                    with robust libraries and runtimes, for building web, \
                    server, and mobile apps.

platforms           {darwin any}
supported_archs     x86_64 arm64

homepage            https://dart.dev/
master_sites        https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/

distname            dartsdk-macos-x64-release
use_zip             yes
dist_subdir         ${name}/${version}
worksrcdir          ${name}

if {${configure.build_arch} eq "x86_64"} {
    distname     dartsdk-macos-x64-release
    checksums    rmd160  2b3db851fe92957adc210441260c1f4c81758942 \
                 sha256  5616af41c8356f9d739cc1bc93c1a6dd4a3830fb0879d5508b1493de24e9a317 \
                 size    209733767
} elseif {${configure.build_arch} eq "arm64"} {
    distname     dartsdk-macos-arm64-release
    checksums    rmd160  c5b89a9eb901c62453fe2ab3cd5e37e7cc9f6a73 \
                 sha256  d09fc933505c36f72a92254a5796028a1c5eafdeb8b9ebfac62000a178798a0a \
                 size    207309327
}

use_configure       no
build               {}

destroot {
    set libexecdir ${prefix}/libexec/${name}
    copy ${worksrcpath} ${destroot}${libexecdir}
    ln -s ${libexecdir}/bin/dart ${destroot}${prefix}/bin
    foreach bin [glob -tails -directory ${destroot}${libexecdir}/bin pub dart?*] {
        xinstall -m 0755 ${filespath}/shim.in ${destroot}${prefix}/bin/${bin}
        reinplace "s|@@BIN@@|${libexecdir}/bin/${bin}|g" ${destroot}${prefix}/bin/${bin}
    }
}

livecheck.type      regex
livecheck.url       https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION
livecheck.regex     "\"version\": \"(\[0-9.\]+)\""
