# -*- 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           qmake 1.0

github.setup        d99kris nview 0.28 v
revision            0
categories          graphics sysutils
license             GPL-2
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer
description         ${name} is a minimalistic image viewer
long_description    {*}${description}, implemented in C++/Qt.
checksums           rmd160  df7904d36ea68779b3321ca04d17ddd06c369239 \
                    sha256  44b868b156af204470857c3bd3794909b1e81854e91932f1af93044aa5bdab16 \
                    size    174937
github.tarball_from archive

# https://github.com/d99kris/nview/pull/2
patchfiles          0001-mainwindow.h-improve-compatibility-for-Qt4.patch \
                    0002-mainwindow.cpp-compat-fixes-for-Qt4.patch \
                    0003-nview.pro-fix-for-Qt4-case.patch

# Do not install an app bundle into ${prefix}/bin.
patchfiles-append   patch-install-dir.diff

post-patch {
    reinplace "s|@APPDIR@|${applications_dir}|" ${worksrcpath}/nview.pro
}

depends_lib-append  port:ImageMagick \
                    port:qt4-mimetypes

compiler.cxx_standard   2011

post-destroot {
    set binary ${applications_dir}/nview.app/Contents/MacOS/${name}
    set binwrap ${prefix}/bin/${name}
    # Not breaking, but still rather avoid this:
    # nview(36985,0xa01ba620) malloc: *** error for object 0xa04da754: pointer being freed was not allocated
    if {${configure.cxx_stdlib} ne "libc++"} {
            set  wrapper    [open "${destroot}${binwrap}" w 0755]
            puts ${wrapper} "#!/bin/bash"
            puts ${wrapper} ""
            puts ${wrapper} {if [ -n "$DYLD_LIBRARY_PATH" ]; then}
            puts ${wrapper} "   DYLD_LIBRARY_PATH=${prefix}/lib/libgcc:\${DYLD_LIBRARY_PATH}"
            puts ${wrapper} {else}
            puts ${wrapper} "   DYLD_LIBRARY_PATH=${prefix}/lib/libgcc"
            puts ${wrapper} {fi}
            puts ${wrapper} {export DYLD_LIBRARY_PATH}
            puts ${wrapper} ""
            puts ${wrapper} "   PATH=${prefix}/bin:${prefix}/sbin:\$PATH"
            puts ${wrapper} {export PATH}
            puts ${wrapper} ""
            puts ${wrapper} "exec ${binary} \"\$@\""
            close $wrapper
    } else {
            ln -s ${binary} ${destroot}${binwrap}
    }
}
