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

platforms           darwin macosx
categories          audio
license             LGPL-2.1
maintainers         {ra1nb0w @ra1nb0w} openmaintainer

description         Codec 2 is an open source speech codec designed for \
                    communications quality speech between 700 and 3200 bit/s
long_description    {*}${description}. The main application is low-bandwidth \
                    HF/VHF digital radio. It fills a gap in open source \
                    voice codecs beneath 5000 bit/s and is released under \
                    the GNU Lesser General Public License (LGPL). Informal \
                    listening tests indicate that Codec 2 at 700 bits/s \
                    has better speech quality than MELP and is comparable \
                    to TWELP at 600 bit/s. The Codec 2 project also contains \
                    several modems (OFDM, FDMDV, COHPSK and mFSK) carefully \
                    designed for digital voice over HF radio.
homepage            https://www.rowetel.com/codec2.html

github.setup        drowe67 codec2 1.2.0
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
checksums           rmd160  c752e2de46d2dc3c61c133cbdeab5184c19d0284 \
                    sha256  3e43434cd9766cd15fea6ccd307cd82630b1fea280be4d9be1cb58be5ca7e1fa \
                    size    7689464
revision            0
epoch               2

depends_lib-append  port:libsamplerate \
                    port:speex

compiler.c_standard 1999
# error: invalid suffix "b10101010" on integer constant
compiler.blacklist-append \
                    *gcc-4.0 *gcc-4.2

configure.args-append \
    -DCMAKE_BUILD_TYPE="Release"

variant lpcnet description {Enable lpcnet support (FreeDV 2020 codec)} {
    depends_lib-append \
        port:lpcnetfreedv
    configure.args-append \
        -DLPCNET=ON
}

default_variants +lpcnet

# require valgrind for many tests
test.run            no
