# -*- 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                mc
version             4.8.22
categories          sysutils
maintainers         nomaintainer
license             GPL-3+

description         GNU Midnight Commander
long_description    \
                    GNU Midnight Commander is a user-friendly yet powerful file \
                    manager and visual shell, useful to novice and guru alike. \
                    It provides a clear, user-friendly, and somewhat protected \
                    interface to a Unix system while making many frequent file \
                    operations more efficient and preserving the full power of \
                    the command prompt. After some practice, you will wonder how \
                    you could ever live without it.
homepage            http://www.midnight-commander.org/
platforms           darwin
master_sites        ${homepage}downloads

use_xz              yes

checksums           rmd160  77d922dde492839dd5144623f17d01326e966c9c \
                    sha256  ee7868d7ba0498cf2cccefe107d7efee7f2571098806bba2aed5a159db801318 \
                    size    2538524

depends_build       port:pkgconfig
depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2

patchfiles          patch-src_subshell_common.c.diff

configure.args      --without-x

if {[vercmp ${macosx_version} 10.13] >= 0} {
    configure.env-append    ac_cv_func_utimensat=no
}

post-destroot {
    set docdir ${destroot}${prefix}/share/doc/${name}
    xinstall -d ${docdir}
    xinstall -m 644 -W ${worksrcpath} \
        AUTHORS \
        COPYING \
        NEWS \
        README \
        ${docdir}
}

variant slang2 conflicts ncurses description {use slang2 screen library} {
    depends_lib-append      port:slang2
    configure.args-append   --with-screen=slang \
                            --with-slang-includes=${prefix} \
                            --with-slang-libs=${prefix}
}

variant ncurses conflicts slang2 description {use ncurses screen library} {
    depends_lib-append      port:ncurses
    configure.args-append   --with-screen=ncurses
}

if { ![variant_isset ncurses] } {
    default_variants        +slang2
}

livecheck.type  regex
livecheck.url   ${homepage}
livecheck.regex {Current version is: ([0-9.]+)}