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

github.setup            artemsen swayimg 5.5 v
revision                0
categories              graphics wayland
license                 MIT
maintainers             {@barracuda156 macos-powerpc.org:barracuda} openmaintainer
description             Image viewer for Wayland
long_description        {*}${description}

checksums               rmd160  4248ed46be8785c5c0e2733e62358a5045a3a205 \
                        sha256  f84fec722cd0b4cfd86d0a8a820b15a95bbdb1d2cfcded7f67446a7a0c1d1c09 \
                        size    1004837
github.tarball_from     archive

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

# Backports:
patchfiles              3df572fc37f4febdbe50cf1493da6ae966a5050c.patch \
                        4aa3085288c87398c5c767286e03dba3b93cc890.patch

# https://github.com/artemsen/swayimg/issues/549
patchfiles-append       patch-formats-svg-support-librsvg-2.40.diff
# The build picks arbitrary giflib, but the code requires giflib5.
patchfiles-append       patch-meson-add-a-giflib-option-to-select-the-giflib.diff
# Fix color on correct-endian archs:
patchfiles-append       patch-Use-host-order-pixel-words-on-big-endian-machines.diff
# Fix for Apple:
patchfiles-append       patch-st_mtim.diff \
                        patch-ui-provide-a-pipe2-replacement-for-Darwin.diff

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

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

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

depends_lib-append      port:epoll-shim \
                        port:exiv2 \
                        path:lib/pkgconfig/fontconfig.pc:fontconfig \
                        path:lib/pkgconfig/freetype2.pc:freetype \
                        port:giflib6 \
                        port:libavif \
                        port:libheif \
                        path:include/turbojpeg.h:libjpeg-turbo \
                        port:libjxl \
                        port:libpixman \
                        port:libpng \
                        port:libraw \
                        path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
                        port:libsixel \
                        port:libxkbcommon \
                        port:lua \
                        port:openexr \
                        port:openjpeg \
                        port:tiff \
                        port:wayland \
                        port:webp

depends_run-append      port:desktop-file-utils

# O_CLOEXEC, to_chars for libc++
legacysupport.newest_darwin_requires_legacy \
                        21
legacysupport.use_mp_libcxx yes
legacysupport.redirect_bins ${name}

compiler.cxx_standard   2020

configure.args-append   -Davif=enabled \
                        -Dcompositor=disabled \
                        -Ddesktop=true \
                        -Ddoc=false \
                        -Ddrm=disabled \
                        -Dexif=enabled \
                        -Dexr=enabled \
                        -Dgif=enabled \
                        -Dgiflib=${prefix}/libexec/giflib6 \
                        -Dheif=enabled \
                        -Djp2=enabled \
                        -Djpeg=enabled \
                        -Djxl=enabled \
                        -Dliblua=lua \
                        -Dpng=enabled \
                        -Draw=enabled \
                        -Dsixel=enabled \
                        -Dsvg=enabled \
                        -Dtests=disabled \
                        -Dtiff=enabled \
                        -Dwayland=enabled \
                        -Dwebp=enabled

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