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

# Used for wrappers:
legacysupport.newest_darwin_requires_legacy 0
legacysupport.redirect_bins melt

github.setup        mltframework mlt 7.24.0 v
revision            3
epoch               4
categories          multimedia
maintainers         {dennedy.org:dan @ddennedy} {gmail.com:rjvbertin @RJVB} openmaintainer
license             GPL-2+
conflicts           mlt-legacy
description         Open source multimedia framework – core libraries
long_description    MLT is an open source multimedia framework, designed and developed for \
                    television broadcasting. It provides a toolkit for broadcasters, video \
                    editors, media players, transcoders, web streamers and many more types of \
                    applications. The functionality of the system is provided via an assortment \
                    of ready to use tools, xml authoring components and an extendible plug-in-based API. \
                    \
                    This package contains the files necessary for running applications that use \
                    the MLT multimedia framework.
homepage            https://www.mltframework.org

checksums           rmd160  6efa1a3daf2ae3c2aa3a3714c43df49901f23895 \
                    sha256  8cde7c22a1a5395abe913976c2edafb498f81ed81a5f49dd0e6e2d86d68bcec0 \
                    size    1662552
github.tarball_from releases

compiler.c_standard        2011
compiler.cxx_standard      2014
# fatal error: 'stdatomic.h' file not found
compiler.blacklist-append  {clang < 700}

depends_build-append \
                    path:bin/doxygen:doxygen \
                    path:bin/pkg-config:pkgconfig

set ffmpeg_ver      6

depends_lib-append  port:ffmpeg${ffmpeg_ver} \
                    port:fftw-3 \
                    port:fontconfig \
                    port:frei0r-plugins \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    port:libebur128 \
                    port:libexif \
                    port:libmovit \
                    port:libsamplerate \
                    port:libsdl2 \
                    port:libvidstab \
                    port:libvorbis \
                    port:libxml2 \
                    path:lib/pkgconfig/pango.pc:pango \
                    port:rtaudio \
                    port:rubberband \
                    port:sox \
                    port:xine-lib

configure.pkg_config_path-append \
                    ${prefix}/libexec/ffmpeg${ffmpeg_ver}/lib/pkgconfig

configure.args-append \
                    -DBUILD_DOCS=ON \
                    -DBUILD_TESTING=OFF \
                    -DCLANG_FORMAT=OFF \
                    -DGPL=ON \
                    -DGPL3=OFF \
                    -DMOD_JACKRACK=OFF \
                    -DMOD_KDENLIVE=OFF \
                    -DMOD_OPENCV=OFF \
                    -DMOD_QT=OFF \
                    -DMOD_QT6=OFF \
                    -DMOD_SDL1=OFF \
                    -DMOD_SPATIALAUDIO=OFF \
                    -DRELOCATABLE=OFF

# ___atomic_load_8, ___atomic_store_8
if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} {
    configure.ldflags-append -latomic
}

if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} ne ""} {
    configure.ldflags-append -stdlib=${configure.cxx_stdlib}
}

variant gpl3 description {enable GPLv3 components} {
    configure.args-replace  -DGPL3=OFF -DGPL3=ON
    license                 GPL-3+
}
