# -*- 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.7.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  41621336841802068879c578324bf8cbee31e706 \
                 sha256  060886d2b8ae832f89ce7db971eeb6218a507e37071152487dd52eb256a449ae \
                 size    216484427
} elseif {${configure.build_arch} eq "arm64"} {
    distname     dartsdk-macos-arm64-release
    checksums    rmd160  dbb81164fce9394317469c1d777b42695c803f51 \
                 sha256  106e63d9590090993a95ee51e68729de2d09ca2b7b7bd16c0b5fb57a60b3657c \
                 size    214714946
}

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