# -*- 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                tracker
version             2.3.6
revision            0
license             GPL-2+ LGPL-2.1+ BSD
set branch          [join [lrange [split ${version} .] 0 1] .]
description         Metadata database, indexer and search tool.
long_description    Tracker is an advanced framework for first class objects \
                    with associated metadata and tags. It provides a one stop \
                    solution for all metadata, tags, shared object databases, \
                    search tools and indexing.

maintainers         {devans @dbevans} openmaintainer
categories          gnome
homepage            https://wiki.gnome.org/Projects/Tracker
master_sites        gnome:sources/${name}/${branch}/

use_xz              yes

checksums           rmd160  b782a88ca78aa76108baffd240712881f890a1e4 \
                    sha256  bd1eb4122135296fa7b57b1c3fa0ed602cf7d06c0b8e534d0bd17ff5f97feef2 \
                    size    1606716

set py_ver          3.13
set py_ver_nodot    [string map {. {}} ${py_ver}]

depends_build       port:pkgconfig \
                    port:gettext \
                    path:bin/vala:vala \
                    port:dbus \
                    port:ossp-uuid \
                    port:python${py_ver_nodot}

depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:sqlite3 \
                    port:libstemmer \
                    port:libxml2 \
                    port:json-glib \
                    port:libsoup-2.4 \
                    port:gettext-runtime \
                    path:lib/pkgconfig/icu-uc.pc:icu

# blacklist compilers that do not support C11 (redefinition of typedef ‘TrackerSparqlBuilder’ at tracker-generated-no-checks.h:27)
compiler.blacklist  *gcc-3.* *gcc-4.* {clang < 300}

post-patch {
    # fatal error: 'tracker-backup.h' file not found
    system "touch ${worksrcpath}/src/tracker-store/tracker-backup.h"
    reinplace "s|#!/usr/bin/env python3|#!${prefix}/bin/python${py_ver}|" \
        ${worksrcpath}/utils/g-ir-merge/g-ir-merge
}

platform darwin {
    post-patch {
        reinplace "s|link_args: vflag|link_args: ''|" \
            ${worksrcpath}/src/libtracker-miner/meson.build \
            ${worksrcpath}/src/libtracker-control/meson.build \
            ${worksrcpath}/src/libtracker-sparql-backend/meson.build
    }
}

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

livecheck.type      none
