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

github.setup            cisco openh264 2.5.0 v
revision                0
categories              multimedia
license                 BSD
maintainers             nomaintainer

description             Open-source H.264 codec
long_description        OpenH264 is a codec library which supports \
                        H.264 encoding and decoding.

checksums               rmd160  43787b53cb9528ff95ccb1c11959b7e20a6eb720 \
                        sha256  94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 \
                        size    60301431
github.tarball_from     archive

depends_build-append    port:gtest

if {${configure.build_arch} in [list i386 x86_64]} {
    depends_build-append \
                        port:nasm
}

# https://github.com/cisco/openh264/pull/3806
patchfiles-append       0001-meson.build-add-powerpc-arch.patch

# https://github.com/cisco/openh264/issues/3805
patchfiles-append       0002-meson.build-do-not-hardcode-libc-on-darwin.patch

patchfiles-append       no-Werror.patch

# Undefined symbols:
#  "__ZN7testing8internal23MakeAndRegisterTestInfoENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcS8_S8_NS0_12CodeLocationEPKvPFvvESD_PNS0_15TestFactoryBaseE"
# Also required by gtest: https://github.com/cisco/openh264/issues/3807
compiler.cxx_standard   2014
configure.cxxflags-append \
                        -std=c++14

if {[string match *clang* ${configure.compiler}]} {
    configure.cxxflags-append \
                        -Wno-error=deprecated-declarations
}

test.run                yes
