# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           meson 1.0

name                folks
version             0.14.0
epoch               1
license             LGPL-2.1
set branch          [join [lrange [split ${version} .] 0 1] .]
categories          gnome comms
maintainers         {devans @dbevans} openmaintainer
description         A library that aggregates people from multiple sources to create metacontacts.

long_description    Folks provides a library (libfolks) that aggregates people from multiple \
                    sources (e.g. Telepathy connection managers for IM contacts, Evolution Data Server \
                    for local contacts, libsocialweb for web service contacts, etc.) to create metacontacts. \
                    It's written in Vala, which generates C code when compiled.

homepage            https://wiki.gnome.org/Projects/Folks
master_sites        gnome:sources/${name}/${branch}/

use_xz              yes

checksums           rmd160  3c62587c6d0240459353bb5f5d18de04427e86e5 \
                    sha256  d6e778da637d3b33fd9a6b45115e8157d8868211dc08b943d1075b5eb7282bb9 \
                    size    520924

depends_build-append \
                    path:bin/pkg-config:pkgconfig \
                    port:gtk-doc \
                    port:python38 \
                    path:bin/vala:vala

depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:dbus-glib \
                    port:libgee \
                    port:libxml2 \
                    port:ncurses \
                    port:readline

post-patch {
    reinplace -W ${worksrcpath} "s|^#!.*|#!${prefix}/bin/python3.8|" \
        meson_post_install.py \
        tests/tools/manager-file.py
}

configure.args      -Dbluez_backend=false \
                    -Deds_backend=false \
                    -Dofono_backend=false \
                    -Dtelepathy_backend=false \
                    -Dzeitgeist=false \
                    -Ddocs=true

variant eds description {Enable evolution data server backend} {
    depends_lib-append  port:evolution-data-server
    configure.args-replace -Deds_backend=false -Deds_backend=true
}

variant telepathy description (Enable telepathy backend} {
    depends_lib-append  port:telepathy-glib \
                        port:zeitgeist
    depends_run-append  port:telepathy-mission-control
    configure.args-replace  -Dtelepathy_backend=false -Dtelepathy_backend=true \
                            -Dzeitgeist=false -Dzeitgeist=true
}

default_variants    +telepathy

# folks expects backend modules with .so extensions
# change extension to .so for each backend module built as .dylib
post-destroot {
    set backenddir lib/folks/46/backends

    lappend backendlibs \
        dummy/dummy \
        key-file/key-file \
        telepathy/telepathy

    foreach backendlib ${backendlibs} {
        move ${destroot}${prefix}/${backenddir}/${backendlib}.dylib ${destroot}${prefix}/${backenddir}/${backendlib}.so
    }
}

post-activate {
    system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
}

livecheck.type      gnome
