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

github.setup    lxde libfm 1.4.1
revision        0
categories      devel
license         GPL-2
maintainers     nomaintainer
description     Core library of PCManFM file manager
long_description \
                {*}${description}

checksums       rmd160  833ff0f47331469988afcd4dee3ca16e358861e8 \
                sha256  1dff59162eb1ca5d1a6b945de4d0bdf2256a5264f54c9225b8599adce45dcb05 \
                size    1307397
github.tarball_from archive

patchfiles      patch-autogen.sh

use_autoreconf  yes
autoreconf.cmd  ./autogen.sh

depends_build-append \
                port:autoconf \
                port:automake \
                port:gettext \
                port:gtk-doc \
                port:intltool \
                port:libtool \
                path:bin/pkg-config:pkgconfig

depends_lib     port:gettext-runtime \
                path:lib/pkgconfig/glib-2.0.pc:glib2

compiler.c_standard 1999

if {${subport} eq ${name}} {
    depends_build-append \
                path:bin/vala:vala
    depends_lib-append \
                port:dbus-glib \
                path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                port:libexif \
                port:libmenu-cache
    depends_run-append \
                port:desktop-file-utils

    configure.args-append \
                --with-gtk=3

    # It is a mess: https://github.com/lxde/libfm/issues/123
    post-destroot {
        foreach hdr {fm-extra.h fm-version.h fm-xml-file.h} {
            if [file exists ${destroot}${prefix}/include/libfm-1.0/${hdr}] {
                delete -f ${destroot}${prefix}/include/libfm-1.0/${hdr}
            }
        }
        foreach lib {libfm-extra.a libfm-extra.dylib libfm-extra.4.dylib libfm-extra.la} {
            if [file exists ${destroot}${prefix}/lib/${lib}] {
                delete -f ${destroot}${prefix}/lib/${lib}
            }
        }
        if [file exists ${destroot}${prefix}/lib/pkgconfig/libfm-extra.pc] {
            delete -f ${destroot}${prefix}/lib/pkgconfig/libfm-extra.pc
        }
        # This is a symlink to include/libfm-1.0, which is already installed by libfm-extra.
        if [file exists ${destroot}${prefix}/include/libfm] {
            delete -f ${destroot}${prefix}/include/libfm
        }
    }

    post-activate {
        system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
    }
}

# Counter-intuitively, this is not a port to install some extras on top of libfm,
# but a prerequisite to building it...
subport ${name}-extra {
    configure.args-append \
                --with-extra-only
}

build.args      V=1
