# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4

PortSystem 1.0

name                    spatialite-tools
version                 5.1.0
revision                1
categories              databases gis
license                 GPL-3
maintainers             {yahoo.com:n_larsson @nilason} openmaintainer
description             Variety of CLI tools for SpatiaLite DB
long_description        These CLI tools allow to interact with a SpatiaLite DB,\
                        import a variety of files (SHP, OSM, GML) and\
                        prepare a virtual network for routing.

homepage                https://www.gaia-gis.it/fossil/${name}/index
master_sites            https://www.gaia-gis.it/gaia-sins/${name}-sources

checksums               rmd160  150db46c29ff33c561876341653e8a7fecaae3d0 \
                        sha256  df3030367c089ca90fa6630897f3f1a280784da29e1ba634f340dba4b08583b5 \
                        size    605724

depends_build           port:pkgconfig
depends_lib             port:spatialite\
                        port:libiconv\
                        port:geos\
                        port:expat \
                        port:readosm \
                        port:freexl

# Readline seem to be unable to handle UTF8 inputs
configure.args-append   --disable-readline \
                        --enable-freexl

variant readline description {Uses readline for input} {
    configure.args-delete   --disable-readline
    configure.args-append   --enable-readline
}

# Set PROJ
set proj_versions {6 7 8 9}
set proj_variants {}
foreach pjver ${proj_versions} {
    lappend proj_variants proj${pjver}
}
foreach proj_ver ${proj_versions} {
    set index [lsearch -exact ${proj_variants} proj${proj_ver}]
    set cflcts [lreplace ${proj_variants} ${index} ${index}]

    variant proj${proj_ver} description "Use Proj${proj_ver}" conflicts {*}${cflcts} "
        depends_lib-append          port:proj${proj_ver}
        configure.cppflags-append   -I${prefix}/lib/proj${proj_ver}/include
        configure.ldflags-append    -L${prefix}/lib/proj${proj_ver}/lib
    "
}
set projdf "if {"
foreach pv ${proj_versions} {
    set projdf "${projdf}!\[variant_isset proj${pv}\] && "
}
set projdf [string range ${projdf} 0 end-4]
set projdf "${projdf}} { default_variants +proj${pv} }"
eval ${projdf}

default_variants        +readline

post-configure {
    reinplace -E "s|^LIBS = (.*)$|LIBS = \\1 -liconv|" \
        ${worksrcpath}/Makefile
}

livecheck.type      regex
livecheck.url       ${homepage}
livecheck.regex     current version is <b>(\[0-9a-z.\]+)</b>
