# -*- 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-docutils
version             0.22.4
categories-append   textproc
license             public-domain BSD PSF-2.1.1
maintainers         {jmr @jmroot} alexnicksay.com:alex openmaintainer
description         A set of tools for processing plaintext documentation
long_description    Docutils is a set of tools for processing plaintext \
                    documentation into useful formats, such as HTML, XML, \
                    and LaTeX. Includes reStructuredText, the easy to read, \
                    easy to use, what-you-see-is-what-you-get plaintext \
                    markup language.
platforms           {darwin any}
supported_archs     noarch

homepage            https://docutils.sourceforge.io/

checksums           md5 58f718cd60a87725d4dac56ae427c9f8 \
                    rmd160 8e971492808e0d359017952cb217a46be15f1be4 \
                    sha256 4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968

python.versions     27 310 311 312 313 314

if {$subport ne $name} {
    depends_run         port:py${python.version}-roman

    switch ${python.version} {
        27 {
            version     0.18.1
            revision    0
            checksums   md5 ca5827e2432fd58f4c8d74a6591135de \
                        rmd160 a58063172b68280b6c13b7f4829bfceb9fd0e777 \
                        sha256 679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06
            depends_build   port:py${python.version}-setuptools
        }
    }

    if {${python.version} >= 39} {
        python.pep517_backend   flit
        depends_run-append port:docutils_select

        post-extract {
            copy -force ${filespath}/docutils ${workpath}/${subport}
        }

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

        select.group    docutils
        select.file     ${workpath}/${subport}

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

port select --set ${select.group} [file tail ${select.file}]
"
    } else {
        # we want e.g. *-2.7.py not *.py-2.7
        python.link_binaries no
        post-destroot {
            foreach f {rst2html rst2latex rst2man rst2odt rst2odt_prepstyles rst2pseudoxml rst2s5 rst2xml rstpep2html rst2xetex} {
                ln -s ${python.prefix}/bin/${f}.py ${destroot}${prefix}/bin/${f}-${python.branch}.py
            }
        }
    }

    livecheck.type  none
}
