# -*- 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.2
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  1acfdf6e22c904823f7f0ea71753b389b16646ad \
                 sha256  69c3a210ab44fba970d1e5f16095f7c8d5f411909cb26366df98fa19d64fc1ee \
                 size    209745401
} elseif {${configure.build_arch} eq "arm64"} {
    distname     dartsdk-macos-arm64-release
    checksums    rmd160  57a24e7ad102a364b067dfcdcee50335e67e5b95 \
                 sha256  8e7c265a671ad3b1138e800c0cd67668390a745c024b8339ede3799e8a60e757 \
                 size    207307722
}

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.\]+)\""
