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

name                atkmm-1.6
set my_name         atkmm
version             2.28.0
revision            0

categories          gnome devel
license             LGPL-2.1+
maintainers         {devans @dbevans} {mascguy @mascguy} openmaintainer

description         atkmm is the C++ binding for the ATK library.
long_description    ${description} This port is part of the GNOME C++ bindings suite.
homepage            http://www.gtkmm.org/

set branch          [join [lrange [split ${version} .] 0 1] .]
master_sites        gnome:sources/${my_name}/${branch}/
distname            ${my_name}-${version}
dist_subdir         ${my_name}
use_xz              yes

checksums           rmd160  15c97e7e8b61f157ca9360d5475df3b859278ec4 \
                    sha256  4c4cfc917fd42d3879ce997b463428d6982affa0fb660cafcc0bc2d9afcedd3a \
                    size    891904

depends_build-append \
                    path:bin/pkg-config:pkgconfig \
                    port:mm-common

depends_lib-append \
                    port:atk \
                    path:lib/pkgconfig/glibmm-2.68.pc:glibmm

# Teach glibtool about -stdlib=libc++
use_autoreconf      yes
autoreconf.args     -fvi

# atkmm > 2.22.7 requires C++11 or better
compiler.cxx_standard 2011

configure.args-append \
                    --disable-silent-rules

# This port provides legacy bindings, previously provided by 'atkmm'.
# So the latter must be deactivated first, if an older version is installed.
# This logic added 2023-04-30; keep in place for at least 12 months.
pre-activate {
    set port_conflict_name    atkmm
    set port_conflict_ver_max "2.28.0"

    if { ![catch {set port_conflict_ver_info [lindex [registry_active ${port_conflict_name}] 0]}] } {
        set port_conflict_ver [lindex ${port_conflict_ver_info} 1]
        ui_info "${port_conflict_name} active version: ${port_conflict_ver}"
            
        if { [vercmp ${port_conflict_ver} ${port_conflict_ver_max}] <= 0 } {
            ui_info "Deactivating conflicting port: ${port_conflict_name}"
            registry_deactivate_composite ${port_conflict_name} "" [list ports_nodepcheck 1]
        }
    }
}

livecheck.type      none
