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

go.setup            github.com/lima-vm/lima 1.0.7 v
go.offline_build    no
revision            0

homepage            https://lima-vm.io

description         Linux virtual machines

long_description    {*}{
    Lima launches Linux virtual machines with automatic file sharing
    and port forwarding (similar to WSL2). The original goal of Lima
    was to promote containerd including nerdctl (contaiNERD ctl) to
    Mac users, but Lima can be used for non-container applications as
    well. Lima also supports other container engines, such as Docker,
    Podman, Kubernetes, etc. Lima can also emulate other architectures
    if QEMU is installed.
}

categories          sysutils
installs_libs       no
license             Apache-2
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    {macports.halostatue.ca:austin @halostatue} \
                    openmaintainer

checksums           rmd160  ac93199a0b3d9baa17721ad6e508fff3f5f3fd19 \
                    sha256  90f682e96a370c342c3b16deb1858f37ee28ce88e888e1d6b2634ba24228fdbb \
                    size    7385799

build.cmd           make

patchfiles          patch-Makefile.diff

platform darwin {
    # Lima defaults to VZ with macOS 13.5 and later; drop dependency from 14 onwards
    if {${os.major} < 23} {
        depends_run-append port:qemu
    } else {
        # added January 2025
        notes {
            Please note that the Lima now defaults to native\
            virtualization support and not QEMU. If you rely on it,\
            such as for emulating other architectures, you can install\
            it explicitly:

            port install qemu
        }
    }
}

post-patch {
    reinplace "s|@@VERSION@@|${version}|g" ${worksrcpath}/Makefile
}

post-build {
    set limactl ${worksrcpath}/_output/bin/limactl

    set bash_completions_dir ${worksrcpath}/_output/share/bash-completion/completions
    set fish_completions_dir ${worksrcpath}/_output/share/fish/vendor_completions.d
    set zsh_completions_dir ${worksrcpath}/_output/share/zsh/site-functions

    xinstall -d ${bash_completions_dir} ${fish_completions_dir} ${zsh_completions_dir}

    system "${limactl} completion bash > ${bash_completions_dir}/${name}"
    system "${limactl} completion fish > ${fish_completions_dir}/${name}.fish"
    system "${limactl} completion zsh > ${zsh_completions_dir}/_${name}"
}

destroot {
    system -W ${worksrcpath} "make install DEST=${destroot}${prefix}"
}

github.livecheck.regex {([0-9.]+)}
