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

name                py-awscli2
github.setup        aws aws-cli 2.35.21
github.tarball_from archive
revision            0

categories          python devel
platforms           {darwin >= 20}
supported_archs     noarch
license             Apache-2
maintainers         {gmail.com:davidgilman1 @dgilman} openmaintainer

description         Universal Command Line Environment for Amazon Web Services.
long_description    {*}${description}

homepage            https://aws.amazon.com/cli/

checksums           rmd160  3c534805a47374abe47fb5767a5d1cfa1e930302 \
                    sha256  2ccaa0c90e8ab75af3ec75e3ea596ae19d3a577f6aec51f26190c5b143fd04ec \
                    size    18799176

python.versions     310 311 312 313 314
python.pep517_backend \
                    flit

if {${name} ne ${subport}} {
    conflicts           py${python.version}-awscli

    depends_build-append \
                        port:py${python.version}-setuptools

    depends_lib-append \
                        port:py${python.version}-awscrt \
                        port:py${python.version}-colorama \
                        port:py${python.version}-dateutil \
                        port:py${python.version}-distro \
                        port:py${python.version}-docutils \
                        port:py${python.version}-jmespath \
                        port:py${python.version}-prompt_toolkit \
                        port:py${python.version}-ruamel-yaml \
                        port:py${python.version}-ruamel-yaml-clib \
                        port:py${python.version}-urllib3

    depends_run-append  port:awscli_select

    select.group        awscli
    select.file         ${worksrcpath}/py${python.version}-awscli2

    post-extract {
        copy -force ${filespath}/awscli2 ${worksrcpath}/py${python.version}-awscli2
    }

    patch.pre_args-replace  -p0 -p1
    patchfiles          patch-requirements.diff \
                        0001-py-awscli2-Support-empty-PAGER.patch

    post-patch {
        reinplace \
            "s,@PYTHON_BRANCH@,${python.branch},g" \
             ${worksrcpath}/${subport}
    }

    post-destroot {
        delete ${destroot}${prefix}/bin/aws.cmd-${python.branch}

        set bash_compl_path ${prefix}/share/bash-completion/completions
        xinstall -d ${destroot}${bash_compl_path}
        xinstall -m 0644 ${worksrcpath}/bin/aws_bash_completer \
            ${destroot}${bash_compl_path}/aws-${python.branch}

        set zsh_compl_path ${prefix}/share/zsh/site-functions
        xinstall -d ${destroot}${zsh_compl_path}
        xinstall -m 0644 ${worksrcpath}/bin/aws_zsh_completer.sh \
            ${destroot}${zsh_compl_path}/aws_zsh_completer.sh-${python.branch}
        xinstall -m 0644 ${filespath}/_aws \
            ${destroot}${zsh_compl_path}/_aws-${python.branch}
    }

    notes "
To make the Python ${python.branch} version of AWS CLI the one that is run when\
you execute the commands without a version suffix, e.g. 'aws', run:

port select --set ${select.group} [file tail ${select.file}]
"

    livecheck.type      none
}
