# -*- 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           active_variants 1.1
PortGroup           wxWidgets 1.0

name                kitlist
version             2.0.0
revision            0
categories          office pim
maintainers         {@frankdean fdsd.co.uk:frank.dean} openmaintainer
license             GPL-3+

description         A list manager for managing kit
long_description    Kitlist allows you to maintain lists of kit that you may require for \
                    activities such as a vacation, business trip or expedition.  Items can \
                    be associated with one or more categories.  By combining categories, \
                    an initial list for a trip can be quickly created, then refined.

homepage            https://www.fdsd.co.uk/kitlist/
master_sites        ${homepage}source/

checksums           rmd160  cd42e2d2a38454e737301dfdaaefb502590fccb4 \
                    sha256  7fb24154418892b2a2560e2d2be360a79257f8b8e569c8642df76ba5a1b562e1 \
                    size    420450

patchfiles          configure-ac.diff \
                    src-main-cpp.diff

depends_build       port:autoconf-archive \
                    path:bin/pkg-config:pkgconfig

depends_lib         port:pugixml

use_autoreconf      yes
autoreconf.args     --install --force --replace-handwritten

compiler.cxx_standard \
                    2020

if { [string match *clang* ${configure.compiler}] } {
    configure.cxxflags-append \
                    -Wno-writable-strings
} elseif { [string match *gcc* ${configure.compiler}] } {
    configure.cxxflags-append \
                    -Wno-write-strings
}

# Commented out definitions pending wxGTK 3.2 port
#variant wxwidgets32 conflicts wxgtk32 description {Use Cocoa-based wxWidgets 3.2} {
variant wxwidgets32 description {Use Cocoa-based wxWidgets 3.2} {
    wxWidgets.use               wxWidgets-3.2
    configure.args-append       --with-wxdir=${wxWidgets.wxdir}
    depends_lib-append          port:${wxWidgets.port}
}

# variant wxgtk32 conflicts wxwidgets32 description {Use wxWidgets 3.2 with GTK} {
#     wxWidgets.use               wxGTK-3.2
#     configure.args-append       --with-wxdir=${wxWidgets.wxdir}
#     depends_lib-append          port:${wxWidgets.port}
# }

variant ftxui description {Use FTXUI text based front-end} {
    configure.args-append       --with-ftxui
    depends_lib-append          port:FTXUI
    if {![variant_isset wxwidgets32]} {
        configure.args-append   --without-gui
    }
}

#if {![variant_isset wxwidgets32] && ![variant_isset wxgtk32] && ![variant_isset ftxui]} {
if {![variant_isset wxwidgets32] && ![variant_isset ftxui]} {
    # wxWidgets-3.2 does not build on macOS < 10.10
    # https://ports.macports.org/port/wxWidgets-3.2/details/
    if {${os.platform} eq "darwin" && ${os.major} < 14} { # 10.10, Yosemite
        default_variants +ftxui
    } else {
        default_variants +wxwidgets32
    }
}
