# -*- 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               active_variants 1.1
PortGroup               legacysupport 1.1
PortGroup               meson 1.0
PortGroup               sourcehut 1.0

# clock_gettime, strndup
legacysupport.newest_darwin_requires_legacy \
                        15

sourcehut.setup         exec64 imv 5.0.1 v
revision                1
categories              graphics wayland x11
license                 MIT
maintainers             {@barracuda156 macos-powerpc.org:barracuda} openmaintainer
description             Image viewer for X11 and Wayland
long_description        {*}${description}

checksums               rmd160  fe3c670a08afbb913f17fc5973a70ca764e7e785 \
                        sha256  8949c1df4b933b1d324e02ce49f1834a4b73dd25fa8103579e0ed105149e080e \
                        size    72953

installs_libs           no

patch.pre_args-replace  -p0 -p1
patchfiles              librsvg-version.patch \
                        imv-macos-timerfd-and-stat-portability.patch \
                        navigator.c.patch

platform darwin {
    # _XOPEN_SOURCE hides needed symbols from macOS headers.
    post-patch {
        reinplace "s|_XOPEN_SOURCE=700|_DARWIN_C_SOURCE|" ${worksrcpath}/meson.build
    }
}

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

configure.python        ${prefix}/bin/python${py_ver}

meson.native.binaries   python3=${configure.python}

depends_build-append    port:asciidoc \
                        path:bin/pkg-config:pkgconfig \
                        port:python${py_ver_nodot} \
                        port:wayland-protocols

depends_lib-append      path:lib/pkgconfig/cairo.pc:cairo \
                        port:epoll-shim \
                        path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                        path:lib/pkgconfig/glib-2.0.pc:glib2 \
                        path:lib/pkgconfig/icu-uc.pc:icu \
                        port:inih \
                        port:lcms2 \
                        port:libheif \
                        path:include/turbojpeg.h:libjpeg-turbo \
                        port:libjxl \
                        port:libpng \
                        path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
                        port:libxkbcommon \
                        port:libxkbcommon-x11 \
                        port:mesa \
                        path:lib/pkgconfig/pango.pc:pango \
                        port:qoi \
                        port:tiff \
                        port:wayland \
                        port:webp \
                        port:xorg-libX11 \
                        port:xorg-libxcb

depends_run-append      port:desktop-file-utils

# May need to be revised if we use angle optionally in wayland.
require_active_variants mesa wayland

# meson.build lies about C standard requirement.
compiler.c_standard     2011

configure.args-append   -Dcontrib-commands=true \
                        -Dlibheif=enabled \
                        -Dlibjpeg=enabled \
                        -Dlibjxl=enabled \
                        -Dlibpng=enabled \
                        -Dlibrsvg=enabled \
                        -Dlibnsbmp=disabled \
                        -Dlibnsgif=disabled \
                        -Dlibtiff=enabled \
                        -Dlibwebp=enabled \
                        -Dman=enabled \
                        -Dqoi=enabled \
                        -Dtest=disabled \
                        -Dunicode=icu \
                        -Dwindows=all

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