# -*- 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
PortGroup               select 1.0

name                    helm
categories              sysutils
platforms               darwin
license                 Apache-2
maintainers             {ogsite.net:sirn @sirn} @pedrohdz openmaintainer

subport helm_select {}

# *NOTE* Remember to update `latestVersion` on a version upgrade.
set latestVersion       helm-2.14
subport helm-2.14 {
    set baseVersion     2.14
    set patchNumber     2
    revision            0
    checksums           rmd160  002bdedc70c51fd03ba76fbbe31c3e509ee0c11e \
                        sha256  9469da75bb357bc325c985dead224480bbacc7aa8aecff74089dff97e64655d0 \
                        size    27862805
}

subport helm-2.13 {
    set baseVersion     2.13
    set patchNumber     1
    revision            0
    checksums           rmd160  33f9f56bc0cc1ce4a47f863f8ba278bfa02431ba \
                        sha256  c9564c4133349b98a8c1dda42fdb6545f6e4bfdf0980cdfc38cf76d2f8e5e701 \
                        size    24089303
}

subport helm-2.12 {
    set baseVersion     2.12
    set patchNumber     3
    revision            0
    checksums           rmd160  8676268e53e3d21c1ca3216db8684ea3b68c4ba0 \
                        sha256  564a087915e07333d2335face555eaac63accd669fb63672ae1b66a73144ac50 \
                        size    23867687
}

if {${subport} == ${name}} {
    PortGroup           obsolete 1.0
    replaced_by         ${latestVersion}
    version             2.14.1
    revision            1

} elseif {${subport} == "helm_select"} {
    version             0.0
    revision            0
    supported_archs     noarch

    description         Common files for selecting default Helm version
    long_description    This port installs files that allow 'port select' \
                        to create links to the preferred default version \
                        of Helm/Tiller.
    homepage            https://www.macports.org/

    distfiles
    use_configure       no
    build {}

    destroot {
        select::install helm ${filespath}/base
        select::install helm ${filespath}/none
    }

    livecheck.type     none

} else {
    PortGroup           github 1.0
    supported_archs     x86_64
    depends_run         port:helm_select

    set patchVersion    ${baseVersion}.${patchNumber}
    set baseName        helm${baseVersion}
    github.setup        helm helm ${patchVersion} v

    description         Kubernetes package manager
    long_description    Helps you manage Kubernetes applications — Helm Charts \
                        help you define, install, and upgrade even the most \
                        complex Kubernetes application.

    master_sites        https://get.helm.sh/
    distname            helm-v${version}-darwin-amd64
    worksrcdir          darwin-amd64

    use_configure       no

    select.group        helm
    select.file         ${filespath}/${baseName}

    build {}

    destroot {
        xinstall ${worksrcpath}/helm ${destroot}${prefix}/bin/helm${baseVersion}
        xinstall ${worksrcpath}/tiller ${destroot}${prefix}/bin/tiller${baseVersion}
    }

    # Skip -rc and other pre-release tags
    set regexVersionPart [string map {. {\.}} $baseVersion]
    github.livecheck.regex  (${regexVersionPart}\\.\\d+)

    notes "
    To make this the default Helm/Tiller (i.e., the version run by the 'helm' or\
    'tiller' commands), run:
        sudo port select --set helm ${baseName}
    "
}

