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

name                py-pip
version             21.3.1
revision            0
categories-append   www
platforms           darwin
license             MIT
supported_archs     noarch

maintainers         {stromnov @stromnov} openmaintainer

description         A tool for installing and managing Python packages.

long_description    pip is a replacement for easy_install. It uses mostly the \
                    same techniques for finding packages, so packages that \
                    were made easy_installable should be pip-installable as \
                    well.

homepage            http://www.pip-installer.org/

checksums           rmd160  6fbc06856640ede9373cc0b44b8e18a6887c6501 \
                    sha256  fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a \
                    size    1731517

# keep older Python versions here, do add the EOL version to the list below
python.versions     26 27 33 34 35 36 37 38 39 310

if {${name} ne ${subport}} {
    # add EOL warnings
    if {${python.version} in "26 33 34"} {
        PortGroup   deprecated 1.0

        deprecated.eol_version  yes
    }

    depends_lib-append  port:py${python.version}-setuptools
    depends_run         port:pip_select

    if {[lsearch {26} ${python.version}] != -1} {
        version             9.0.3
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  9cf0429a7a7e9897339ffc5a141e9b2e1da8086e \
                            sha256  7bf48f9a693be1d58f49f7af7e0ae9fe29fd671cde8a55e6edca3581c4ef5796 \
                            size    1343076
    }

    if {[lsearch {33} ${python.version}] != -1} {
        version             10.0.1
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  008e4a069e4969ee08ad383eb1d0070eeb63b405 \
                            sha256  f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdbd7ee68 \
                            size    1246072
    }

    if {[lsearch {34} ${python.version}] != -1} {
        version             18.1
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  53409af5e0f06b66656d2d0d81c79ff0a7aba29f \
                            sha256  c0a292bd977ef590379a3f05d7b7f65135487b67470f6281289a94e015650ea1 \
                            size    1259370
    }

    if {[lsearch {27 35} ${python.version}] != -1} {
        version             20.3.3
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  44caf2ab9618ad0b91422748af760e6aa94b8608 \
                            sha256  79c1ac8a9dccbec8752761cb5a2df833224263ca661477a2a9ed03ddf4e0e3ba \
                            size    1529320
    }

    post-destroot {
        xinstall -m 644 {*}[glob -types f ${worksrcpath}/docs/*] ${destroot}${prefix}/share/doc/${subport}

        if {[lsearch {26 33} ${python.version}] != -1} {
            xinstall -m 755 -d ${destroot}${prefix}/share/doc/${subport}/reference
            xinstall -m 644 {*}[glob -types f ${worksrcpath}/docs/reference/*] ${destroot}${prefix}/share/doc/${subport}/reference
        }

        delete ${destroot}${prefix}/bin/pip[string index ${python.version} 0]-${python.branch}
        delete ${destroot}${prefix}/bin/pip${python.branch}-${python.branch}
    }

    select.entries \
        [list ${python.rootname} ${python.rootname}${python.version}] \
        [list ${python.rootname}[string index ${python.version} 0] ${python.rootname}${python.version}]

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

    "

    foreach entry ${select.entries} {
        notes-append "sudo port select --set $entry"
    }

    livecheck.type      none
}
