# -*- 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           cmake 1.1
PortGroup           github 1.0
PortGroup           wxWidgets 1.0

categories          science comms
platforms           darwin macosx
license             LGPL-2.1
maintainers         {ra1nb0w @ra1nb0w} openmaintainer
description         GUI Application for FreeDV - an open source digital \
    voice protocol that integrates the modems, codecs, and FEC
long_description    {*}${description}

github.setup        drowe67 freedv-gui 1.8.12 v
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
checksums           rmd160  48c2d37179a1feccf285642bc68ddfaa0bd1ba85 \
                    sha256  600a966210a6fc34a7b4381105474c451cf4e11cce4aeedf99faf4aed6ee5f35 \
                    size    11291831
revision            0

# move from commit to version
epoch               2

depends_build-append \
    port:pkgconfig

wxWidgets.use \
    wxWidgets-3.2

depends_lib-append \
    port:${wxWidgets.port} \
    port:portaudio \
    path:lib/libhamlib.dylib:hamlib \
    port:libsndfile \
    port:libsamplerate \
    port:libao \
    port:codec2 \
    port:lpcnetfreedv \
    port:speexdsp

compiler.cxx_standard 2011

configure.args-append \
    -DUSE_INTERNAL_CODEC2=FALSE \
    -DWXCONFIG=${wxWidgets.wxconfig} \
    -DWXRC=${wxWidgets.wxrc} \
    -DPORTAUDIO_LIBRARIES=${prefix}/lib/libportaudio.dylib \
    -DPORTAUDIO_INCLUDE_DIRS=${prefix}/include

# avoid dmg and use app portgroup
patchfiles-append \
    patch-src_cmakelists.txt.diff

# on macOS =< 10.14 we don't need camera/mic permissions
if {${os.platform} eq "darwin" && ${os.major} < 18} {
    configure.cxxflags-append -DAPPLE_OLD_XCODE
}

destroot {
    xinstall -d -m 0755 ${destroot}${applications_dir}/FreeDV.app/Contents
    xinstall -d -m 0755 ${destroot}${applications_dir}/FreeDV.app/Contents/MacOS
    xinstall -d -m 0755 ${destroot}${applications_dir}/FreeDV.app/Contents/Resources
    xinstall -m 0644 ${workpath}/build/src/FreeDV.app/Contents/Resources/freedv.icns \
        ${destroot}${applications_dir}/FreeDV.app/Contents/Resources/FreeDV.icns
    xinstall -m 0755 ${workpath}/build/src/FreeDV.app/Contents/MacOS/FreeDV \
        ${destroot}${applications_dir}/FreeDV.app/Contents/MacOS/FreeDV
    xinstall -m 0644 ${filespath}/info.plist \
        ${destroot}${applications_dir}/FreeDV.app/Contents/Info.plist
    reinplace "s|_VERSION_|${version}|g" \
        ${destroot}${applications_dir}/FreeDV.app/Contents/Info.plist
    ln -s ${applications_dir}/FreeDV.app/Contents/MacOS/FreeDV \
        ${destroot}${prefix}/bin/freedv
    xinstall -d -m 0755 ${destroot}${prefix}/share/doc/freedv-gui
    xinstall -m 0644 ${worksrcpath}/USER_MANUAL.pdf \
        ${destroot}${prefix}/share/doc/freedv-gui
}
