# -*- 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

name            claws-mail
version         4.3.0
revision        0
categories      mail news
license         GPL-3+
maintainers     nomaintainer

description     A lightweight and very featureful GTK+ based e-mail and news client

long_description \
                Currently, many features are supported in Claws Mail \
                including POP3, IMAP, NNTP, multiple accounts, \
                threading, filtering, MIME attachments, APOP, SMTP \
                AUTH, SSL, IPv6, GnuPG, internalization, plugins, \
                a filtering/processing mechanism, extra folder \
                properties and much more.

homepage        https://www.claws-mail.org
master_sites    ${homepage}/releases/

checksums       rmd160  3336dfa0f2b9c7d92363cab1a583b62ba0aaa396 \
                sha256  95dc1d888eb916f028467fa0c3cbf45baff6678793b7bfb35fabba029d581ce1 \
                size    6831980

use_xz          yes

depends_build   path:bin/pkg-config:pkgconfig

depends_lib     path:lib/pkgconfig/gnutls.pc:gnutls \
                path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                port:enchant \
                port:compface \
                port:libetpan \
                path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
                port:libarchive \
                port:gumbo-parser \
                path:lib/pkgconfig/poppler.pc:poppler \
                port:libical \
                port:gpgme \
                port:libnotify \
                port:libcanberra

require_active_variants port:libcanberra gtk3

depends_run     port:bogofilter \
                port:ghostscript

# https://trac.macports.org/ticket/69665
patchfiles      patch-pdf-viewer.diff

if {${os.platform} eq "darwin" && ${os.major} < 12} {
    # the ld on older systems doesn't understand the -export_dynamic flag
    # see https://trac.macports.org/ticket/57673
    patchfiles-append   patch-claws-mail-no-export-dynamic-on-older-ld-versions.diff
}

post-patch {
    # C++ compilers think this is the <version> header
    # ../../../../version:1:1: error: unknown type name 'echo'
    delete ${worksrcpath}/version
    if {[variant_isset quartz]} {
        reinplace "s/HAVE_HOTKEYS=yes/HAVE_HOTKEYS=no/g" ${worksrcpath}/configure
    }
}

# litehtml_viewer plugin requires C++11
compiler.cxx_standard \
                2011

# https://trac.macports.org/wiki/WimplicitFunctionDeclaration#strchr
configure.checks.implicit_function_declaration.whitelist-append strchr

# override faulty check for C++ compiler
configure.env-append \
                REAL_CXX=${configure.cxx}

variant quartz conflicts x11 {
    require_active_variants path:lib/pkgconfig/gtk+-3.0.pc:gtk3 quartz
    configure.args-append   --disable-dillo-plugin
}

variant x11 conflicts quartz {
    require_active_variants path:lib/pkgconfig/gtk+-3.0.pc:gtk3 x11
    depends_lib-append      port:xorg-libsm
}

if {![variant_isset quartz]} {
    default_variants +x11
}
if {![variant_isset x11]} {
    default_variants +quartz
}
if {![variant_isset quartz] && ![variant_isset x11]} {
    pre-configure {
        return -code error "Either +x11 or +quartz is required"
    }
}
