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

github.setup        PyMySQL mysqlclient-python 2.2.1 v
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
checksums           rmd160  4c4cf2e3c1264caae139d72bf93e4521bbf9deec \
                    sha256  aeceb10e5a056d76a9be2aef5cda4805a05cb5a8a7c039f64d728c3cbbe0f803 \
                    size    93928

name                py-mysqlclient

categories-append   devel databases
platforms           {darwin any}
license             GPL-2
maintainers         nomaintainer

description         Python3 interface to MySQL/MariaDB, fork of MySQL-python
long_description    {*}${description}

python.versions     39 310 311 312

if {${name} ne ${subport}} {
    set mysql_config {}

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

    pre-configure {
        if {![variant_isset mysql57] &&
            ![variant_isset mysql8] &&
            ![variant_isset mariadb10_3] &&
            ![variant_isset mariadb10_4] &&
            ![variant_isset mariadb10_5] &&
            ![variant_isset mariadb10_6] &&
            ![variant_isset mariadb10_7] &&
            ![variant_isset mariadb10_8] &&
            ![variant_isset mariadb10_9] &&
            ![variant_isset mariadb10_10] &&
            ![variant_isset mariadb10_11]} {
            return -code error "you must select either mysql57, mysql8, or mariadb10_3 through mariadb10_11"
        }
    }

    variant mysql57 conflicts mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mysql57} {
        depends_lib-append  port:mysql57
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mysql57/mysql/pkgconfig
    }

    variant mysql8 conflicts mysql57 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mysql8} {
        depends_lib-append  port:mysql8
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mysql8/mysql/pkgconfig
    }

#     variant mariadb55 conflicts mysql57 mysql8 mariadb10_2 mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 description {Access mariadb55} {
#         depends_lib-append  port:mariadb
#         set mysql_config lib/mariadb/bin/mysql_config
#     }

#     variant mariadb10_2 conflicts mysql57 mysql8 \
#         mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
#         mariadb55 description {Access mariadb-10.2} {
#         depends_lib-append  port:mariadb-10.2
#         build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.2/mysql/pkgconfig
#     }

    variant mariadb10_3 conflicts mysql57 mysql8 \
        mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.3} {
        depends_lib-append  port:mariadb-10.3
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.3/mysql/pkgconfig
    }

    variant mariadb10_4 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.4} {
        depends_lib-append  port:mariadb-10.4
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.4/mysql/pkgconfig
    }

    variant mariadb10_5 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.5} {
        depends_lib-append  port:mariadb-10.5
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.5/mysql/pkgconfig
    }

    variant mariadb10_6 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.6} {
        depends_lib-append  port:mariadb-10.6
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.6/mysql/pkgconfig
    }

    variant mariadb10_7 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_8 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.7} {
        depends_lib-append  port:mariadb-10.7
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.7/mysql/pkgconfig
    }

    variant mariadb10_8 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_9 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.8} {
        depends_lib-append  port:mariadb-10.8
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.8/mysql/pkgconfig
    }

    variant mariadb10_9 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_10 mariadb10_11 \
        description {Access mariadb-10.9} {
        depends_lib-append  port:mariadb-10.9
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.9/mysql/pkgconfig
    }

    variant mariadb10_10 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_11 \
        description {Access mariadb-10.10} {
        depends_lib-append  port:mariadb-10.10
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.10/mysql/pkgconfig
    }

    variant mariadb10_11 conflicts mysql57 mysql8 \
        mariadb10_3 mariadb10_4 mariadb10_5 mariadb10_6 mariadb10_7 mariadb10_8 mariadb10_9 mariadb10_10 \
        description {Access mariadb-10.11} {
        depends_lib-append  port:mariadb-10.11
        build.env-append PKG_CONFIG_PATH=${prefix}/lib/mariadb-10.11/mysql/pkgconfig
    }

    if {![variant_isset mysql57] &&
            ![variant_isset mysql8] &&
            ![variant_isset mariadb10_3] &&
            ![variant_isset mariadb10_4] &&
            ![variant_isset mariadb10_5] &&
            ![variant_isset mariadb10_6] &&
            ![variant_isset mariadb10_7] &&
            ![variant_isset mariadb10_8] &&
            ![variant_isset mariadb10_9] &&
            ![variant_isset mariadb10_10] &&
            ![variant_isset mariadb10_11] } {
        default_variants +mariadb10_9
    }
}
