# -*- 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           codeberg 1.0
PortGroup           meson 1.0

codeberg.setup      pablos passes 0.10 v
revision            0
categories          sysutils
license             GPL-3
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer
description         Manage your digital passes
long_description    {*}${description}
checksums           rmd160  8979a899ca136d6ee25afae06259717f7216f525 \
                    sha256  9d63aed47415162833b5878b519644c9329a3dbb77be22071a43be2d3cf33ca4 \
                    size    124801

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

set python.prefix   ${frameworks_dir}/Python.framework/Versions/${py_ver}
set python.bin      ${python.prefix}/bin/python${py_ver}

patchfiles-append   patch-find-python.diff

post-patch {
    reinplace "s|@PYTHON@|${python.bin}|" ${worksrcpath}/src/meson.build

    platform darwin {
        # Source hardcodes one extension but actually uses another.
        reinplace "s|libbarcode-content-encoder.so|libbarcode-content-encoder.dylib|" \
                    ${worksrcpath}/src/model/barcode_content_encoder.py.in
    }
}

depends_build-append \
                    port:blueprint-compiler \
                    port:gettext \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/gobject-introspection-1.0.pc:gobject-introspection \
                    path:lib/pkgconfig/gtk4.pc:gtk4 \
                    port:libadwaita \
                    port:libzint \
                    port:py${py_ver_nodot}-gobject3 \
                    port:python${py_ver_nodot}

depends_run-append  port:desktop-file-utils

compiler.c_standard 2011

post-activate {
    system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
    system "${prefix}/bin/gtk4-update-icon-cache -f -t ${prefix}/share/icons/hicolor"
    system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
}

# https://trac.macports.org/ticket/70137
notes "
If you get an error upon launching the app,\
try setting GSK_RENDERER=cairo in the environment.\
You may also add it into a shell config file.
"
