# -*- 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           cmake                       1.1
PortGroup           github                      1.0
PortGroup           active_variants             1.1
PortGroup           boost                       1.0

github.setup        pgRouting osm2pgrouting 2.3.8 v
github.tarball_from archive
revision            2

categories          gis
maintainers         {vince @Veence} openmaintainer
description         osm2pgrouting is an OSM data injector for PGrouting
long_description    osm2pgrouting is a command line tool to import\
                    Open Street Map (a.k.a OSM) data\
                    into a PostGreSQL/PgRouting spatial database \
                    in order to solve graph problems (shortest path, TSP…)

license             GPL-2+

homepage            https://pgrouting.org

checksums           rmd160  23e84043453e05df87fbac45673c6cf39beb0ed6 \
                    sha256  59f871c4b43080eba440b87a2a0331d84fd45666f2ead8ef8cf627623bb7c83f \
                    size    187064

compiler.cxx_standard 2017

depends_lib-append  port:expat\
                    port:libpqxx

# Database variants (from the GDAL port)
set postgresql_suffixes {12 13 14 15 16 17}

set postgresql_variants {}
foreach suffix ${postgresql_suffixes} {
    lappend postgresql_variants postgresql${suffix}
}

foreach suffix ${postgresql_suffixes} {
    set vrt     postgresql${suffix}
    set index   [lsearch -exact ${postgresql_variants} ${vrt}]
    set conf    [lreplace ${postgresql_variants} ${index} ${index}]

    variant ${vrt} description "Use ${vrt}" conflicts {*}${conf} "
        depends_lib-append      port:${vrt} \
                                port:pg${suffix}-postgis3
        configure.args-append   -DPOSTGRESQL_PG_CONFIG=${prefix}/lib/${vrt}/bin/pg_config
        configure.args-append   -DPOSTGRESQL_LIBRARIES=${prefix}/lib/${vrt}/libpq.dylib
    "
}

# postgresql default
set pgdefault "if {"

foreach suffix ${postgresql_suffixes} {
    set pgdefault "${pgdefault}!\[variant_isset postgresql${suffix}\] && "
}

set pgdefault [string range ${pgdefault} 0 end-4]
set pgdefault "${pgdefault}} { default_variants +postgresql${suffix} }"

eval ${pgdefault}
