# -*- 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-sphinx
version             9.1.0
categories-append   textproc devel
license             BSD
maintainers         {jmr @jmroot} openmaintainer
description         Python documentation generator
long_description \
    Sphinx is a tool that makes it easy to create intelligent and beautiful \
    documentation for Python projects (or other documents consisting of \
    multiple reStructuredText sources), written by Georg Brandl. It was \
    originally created to translate the new Python documentation, but has now \
    been cleaned up in the hope that it will be useful to many other projects.

supported_archs     noarch
platforms           {darwin any}

homepage            https://www.sphinx-doc.org/

checksums           md5 0f552d70cc8cee4d473ec4aec90b7d2c \
                    rmd160 ac06426bdcbd79e132c29c8cf4d74044a79aa23c \
                    sha256 7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb

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

if {$subport ne $name} {
    depends_lib     port:py${python.version}-docutils
    depends_run     port:py${python.version}-alabaster \
                    port:py${python.version}-babel \
                    port:py${python.version}-imagesize \
                    port:py${python.version}-jinja2 \
                    port:py${python.version}-packaging \
                    port:py${python.version}-pygments \
                    port:py${python.version}-requests \
                    port:py${python.version}-snowballstemmer \
                    port:sphinx_select

    if {${python.version} >= 311} {
        depends_run-append  port:py${python.version}-roman_numerals
    }
    if {${python.version} >= 312} {
        patchfiles-append   pyproject.toml.patch
    }
    if {${python.version} == 311} {
        version     9.0.4
        revision    0
        checksums   md5 94006d876ec8d62ed757675921636c26 \
                    rmd160 26a48afcdc9a873b752817340f955aeae961f37d \
                    sha256 594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3
        patchfiles  pyproject.toml-9.0.4.patch
    } elseif {${python.version} == 310} {
        version     8.1.3
        revision    0
        checksums   md5 845210d4c36be0dac08ec2ce2411a194 \
                    rmd160 bbe16c58fe5146f706929bf8330f29d3d039a26d \
                    sha256 43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927
        patchfiles  pyproject.toml-8.1.3.patch
        depends_run-append  port:py${python.version}-tomli
    }
    if {${python.version} == 27} {
        version     1.8.5
        revision    0
        python.rootname Sphinx
        checksums   md5 554f7a4e752f48b2601e5ef5ab463346 \
                    rmd160 a7a38523976288c13a8a7e5bf4a81367db9af462 \
                    sha256 c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08

        depends_lib-append  port:py${python.version}-setuptools
        depends_run-append  port:py${python.version}-six \
                            port:py${python.version}-sphinxcontrib-websupport \
                            port:py${python.version}-typing
    } else {
        depends_run-append  port:py${python.version}-sphinxcontrib-applehelp \
                            port:py${python.version}-sphinxcontrib-devhelp \
                            port:py${python.version}-sphinxcontrib-htmlhelp \
                            port:py${python.version}-sphinxcontrib-jsmath \
                            port:py${python.version}-sphinxcontrib-qthelp \
                            port:py${python.version}-sphinxcontrib-serializinghtml
    }

    select.group    sphinx
    select.file     ${filespath}/py${python.version}-sphinx

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

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

    livecheck.type  none
}
