<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6c4e49d0fdf4580c66644af2c92ea3e1f73e64ff">https://github.com/macports/macports-ports/commit/6c4e49d0fdf4580c66644af2c92ea3e1f73e64ff</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6c4e49d0fdf4580c66644af2c92ea3e1f73e64ff
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Thu Jun 22 18:50:51 2023 -0400
<span style='display:block; white-space:pre;color:#404040;'> ffmpeg{,-devel}: add ccache support; reconcile cleanup with ffmpeg6
</span><span style='display:block; white-space:pre;color:#404040;'> - Critical for diff purposes
</span>---
multimedia/ffmpeg-devel/Portfile | 363 +++++++++++++++++++++++----------------
multimedia/ffmpeg/Portfile | 363 +++++++++++++++++++++++----------------
2 files changed, 430 insertions(+), 296 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/ffmpeg-devel/Portfile b/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4aa488fce18..e3519137dca 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,6 @@ maintainers {mascguy @mascguy} openmaintainer
</span>
description FFmpeg is a complete solution to play, record, convert and \
stream audio and video.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> long_description FFmpeg is a complete solution to record, convert and \
stream audio and video. It includes libavcodec, the \
leading audio/video codec library. \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,8 +55,8 @@ long_description FFmpeg is a complete solution to record, convert and \
</span> \
libavformat is a library containing parsers and \
generators for all common audio/video formats.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> homepage https://ffmpeg.org/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> master_sites ${homepage}releases/
distname ${my_name}-${version}
dist_subdir ${my_name}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,37 +67,37 @@ checksums rmd160 ac9916e0915cfe3952993644d0a26d9e7c70e1b7 \
</span> size 9565584
depends_build-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:gmake \
</span> port:cctools \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig \
</span> port:texinfo
depends_lib-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:dav1d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:fontconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:freetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:fribidi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/gnutls.pc:gnutls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
</span> port:lame \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libass \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libbluray \
</span> port:libiconv \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libvorbis \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libopus \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libmodplug \
</span> port:libogg \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libopus \
</span> path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
port:libtheora \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libmodplug \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libass \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libvorbis \
</span> path:lib/pkgconfig/vpx.pc:libvpx \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/pkgconfig/gnutls.pc:gnutls \
</span> port:openjpeg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zvbi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:freetype \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:fribidi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/libspeex.dylib:speex \
</span> port:soxr \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:dav1d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/libspeex.dylib:speex \
</span> port:xz \
port:zimg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zvbi
</span>
patchfiles-append patch-libavcodec-audiotoolboxenc.c.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -137,153 +136,178 @@ compiler.blacklist-append {clang < 800}
</span> # Also, -gpl2 causes other ports to fail to build due to the missing libpostproc (#35473)
default_variants-append +gpl2
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[tbool configure.ccache]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ccache_path ${prefix}/bin/ccache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cc-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${ccache_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${ccache_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.cflags-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DHAVE_LRINTF ${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DHAVE_LRINTF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-deprecated-declarations \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_sharedir ${prefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_docdir ${port_sharedir}/doc
</span>
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-swscale \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-avfilter \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-avresample \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libmp3lame \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvorbis \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libopus \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-librsvg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libtheora \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libopenjpeg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libmodplug \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsoxr \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libspeex \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libass \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libzimg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libzvbi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-lzma \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-gnutls \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfreetype \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfribidi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libdav1d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --cc="${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=jack \
</span> --disable-libjack \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \
--disable-libxcb \
--disable-libxcb-shm \
--disable-libxcb-xfixes \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-indev=jack \
</span> --disable-opencl \
--disable-outdev=xv \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-videotoolbox \
</span> --disable-sdl2 \
--disable-securetransport \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --mandir=${prefix}/share/man \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-videotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-avfilter \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-avresample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fontconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gnutls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libass \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libdav1d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfreetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfribidi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libmodplug \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libmp3lame \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libopenjpeg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libopus \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librsvg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsoxr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libspeex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libtheora \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvorbis \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libzimg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libzvbi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-lzma \
</span> --enable-pthreads \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --cc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-swscale \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --mandir=${prefix}/share/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # fix file perms; tarball contents deny group and world read
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "find ${worksrcpath} -type d -print0 | xargs -0 chmod a+rx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "find ${worksrcpath} -type f -print0 | xargs -0 chmod a+r"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s:,-compatibility_version,$\(LIBMAJOR\)::" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
platform darwin {
# disable asm on Tiger
# libblueray doesn't build on Tiger so disable for now (#39442)
if {${os.major} < 9} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete port:libbluray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --enable-libbluray --disable-libbluray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libbluray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libbluray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-asm
</span> }
# as of 1.6.0 libvpx only supports darwin 10 or later
if {${os.major} < 10} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete path:lib/pkgconfig/vpx.pc:libvpx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --enable-libvpx --disable-libvpx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/vpx.pc:libvpx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libvpx
</span> }
# filters coreimage and coreimagesrc don't build on 10.6
# and earlier due to use of bridged casts in Objective C (#51823)
if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-filter=coreimage \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-filter=coreimagesrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-filter=coreimage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-filter=coreimagesrc
</span> }
# AudioToolbox support requires CoreMedia Framework available on 10.7+
if {${os.major} > 10} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-audiotoolbox --enable-audiotoolbox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-audiotoolbox
</span> }
if {${os.major} > 9 && ${build_arch} ni [list ppc ppc64]} {
# libsdl2 requires minimum Xcode 10.7 SDK to build successfully
# but builds on Snow Leopard x86. Exclude ppc until fixed.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-sdl2 --enable-sdl2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libsdl2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-sdl2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-sdl2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libsdl2
</span> }
# VideoToolbox, a new hardware acceleration framework, is supported on 10.8+ and "here to stay".
# It provides support for H265, H264, H263, MPEG1, MPEG2 and MPEG4.
if {${os.major} > 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-videotoolbox --enable-videotoolbox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-videotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-videotoolbox
</span> }
# OpenCL support requires version 1.2 available 10.8+
if {${os.major} > 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-opencl --enable-opencl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-opencl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-opencl
</span> }
# Apple GCC has problems with SIMD intrinsics and -Werror=no-missing-prototypes.
if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append patch-configure-no-error-on-missing-prototypes.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-configure-no-error-on-missing-prototypes.diff
</span> }
# avfoundation is only available on 10.7+
# as of ffmpeg 3.4.1 build fails on 10.7 as well
# libavdevice/avfoundation.m:207:14: error: expected method to read dictionary element not found on object of type 'NSDictionary *'
if {${os.major} < 12} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-indev=avfoundation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=avfoundation
</span> }
# av1 codecs, available on 10.5+
if {${os.major} >= 9} {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libaom \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsvtav1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libaom \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsvtav1
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:aom \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:svt-av1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:aom \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:svt-av1
</span> }
# Available on 10.6+
if {(${os.major} >= 10) && (${configure.build_arch} ne "ppc")} {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-librav1e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librav1e
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:rav1e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env-append V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.env-append V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # fix file perms; tarball contents deny group and world read
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "find ${worksrcpath} -type d -print0 | xargs -0 chmod a+rx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "find ${worksrcpath} -type f -print0 | xargs -0 chmod a+r"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy ${worksrcpath}/doc/APIchanges ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach f [glob ${worksrcpath}/doc/*.txt] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy $f ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:rav1e
</span> }
}
platform powerpc {
# absence of altivec is not automatically detected
if {[catch {sysctl hw.vectorunit} result] || $result == 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-altivec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-altivec
</span>
# as this machine is a G3, force a local build so we don't download a buildbot-built
# version possibly built on a G4+ or cross-compiled from an Intel system
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -294,46 +318,70 @@ platform powerpc {
</span> #Undefined symbols:
# "___atomic_fetch_sub_8", referenced from:
# _fifo_thread_dispatch_message.part.4 in fifo.o
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ldflags-append -latomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s:,-compatibility_version,$\(LIBMAJOR\)::" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -latomic
</span> }
# configure isn't autoconf and they do use a dep cache
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.universal_args-delete --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-dependency-tracking
</span>
if {${universal_possible} && [variant_isset universal]} {
foreach arch ${configure.universal_archs} {
set merger_host($arch) ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args($arch) --arch=${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_env($arch) "ASFLAGS=-arch ${arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args($arch) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --arch=${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_env($arch) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "ASFLAGS=-arch ${arch}"
</span> }
if {[string match "*86*" ${configure.universal_archs}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:nasm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:nasm
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args(i386) --enable-x86asm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args(x86_64) --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args(i386) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args(x86_64) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --arch=${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.env-append ASFLAGS=[get_canonical_archflags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --arch=${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASFLAGS=[get_canonical_archflags]
</span> if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:nasm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:nasm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.env-append V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Copy docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${destroot}${port_docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy ${worksrcpath}/doc/APIchanges ${destroot}${port_docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [glob ${worksrcpath}/doc/*.txt] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy $f ${destroot}${port_docdir}
</span> }
}
variant x11 {
# enable x11grab_xcb input device
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:xorg-libxcb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:xorg-libXext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:xorg-libXfixes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --disable-libxcb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libxcb-shm \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libxcb-xfixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libxcb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libXext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libXfixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-xlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb-shm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb-xfixes
</span> }
if {[variant_isset x11]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -343,8 +391,10 @@ if {[variant_isset x11]} {
</span> }
variant libdc1394 description {Enable IIDC-1394 frame grabbing using libdc1394 (experimental)} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libdc1394
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-libdc1394
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libdc1394
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libdc1394
</span> }
# Allow use of librtmp instead of ffmpeg's internal rtmp implementation
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -352,56 +402,73 @@ variant libdc1394 description {Enable IIDC-1394 frame grabbing using libdc1394 (
</span> # https://trac.macports.org/ticket/32219
# https://groups.google.com/forum/#!topic/c-rtmp-server/ywQPjvciPgc
# https://trac.ffmpeg.org/ticket/1700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant librtmp description {Use librtmp (from rtmpdump) as rtmp[t][es]:// protocol handler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-librtmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:rtmpdump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librtmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:rtmpdump
</span> }
variant jack description {Enable jack library and indev support} {
# jack will autoconfigure if not disabled
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:jack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-libjack --enable-libjack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-indev=jack --enable-indev=jack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:jack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libjack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libjack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=jack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-indev=jack
</span> }
variant darwinssl description {Enable https support using Apple built-in TLS library instead of GNU TLS} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --disable-securetransport
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --enable-gnutls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete path:lib/pkgconfig/gnutls.pc:gnutls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-securetransport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gnutls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/gnutls.pc:gnutls
</span> }
variant gpl2 description {Enable GPL code, license will be GPL-2+} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-gpl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-postproc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libx264 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libx265 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libxvid \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvidstab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:XviD \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:x264 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:x265 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libvidstab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gpl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvidstab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libx264 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libx265 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libxvid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-postproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libvidstab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:x264 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:x265 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:XviD
</span> }
variant gpl3 requires gpl2 description {Enable GPL code, license will be GPL-3+} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-version3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsmbclient \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libaribb24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append path:lib/pkgconfig/smbclient.pc:samba3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libaribb24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libaribb24 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsmbclient \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-version3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libaribb24 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/smbclient.pc:samba3
</span> }
# the build server uses the default variants, and we want distributable binaries
# nonfree code is disabled by default but can be enabled using the +nonfree variant
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant nonfree description {enable nonfree code, libraries and binaries will not be redistributable} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-nonfree \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfdk-aac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libfdk-aac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license Restrictive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license Restrictive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfdk-aac \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-nonfree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libfdk-aac
</span> }
if {[variant_isset nonfree]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/ffmpeg/Portfile b/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9a31f817df3..f193f695695 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,6 @@ maintainers {mascguy @mascguy} {devans @dbevans} {jeremyhu @jeremyhu} op
</span>
description FFmpeg is a complete solution to play, record, convert and \
stream audio and video.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> long_description FFmpeg is a complete solution to record, convert and \
stream audio and video. It includes libavcodec, the \
leading audio/video codec library. \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,8 +55,8 @@ long_description FFmpeg is a complete solution to record, convert and \
</span> \
libavformat is a library containing parsers and \
generators for all common audio/video formats.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> homepage https://ffmpeg.org/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> master_sites ${homepage}releases/
distname ${my_name}-${version}
dist_subdir ${my_name}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,37 +67,37 @@ checksums rmd160 ac9916e0915cfe3952993644d0a26d9e7c70e1b7 \
</span> size 9565584
depends_build-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:gmake \
</span> port:cctools \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig \
</span> port:texinfo
depends_lib-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:dav1d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:fontconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:freetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:fribidi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/gnutls.pc:gnutls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
</span> port:lame \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libass \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libbluray \
</span> port:libiconv \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libvorbis \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libopus \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libmodplug \
</span> port:libogg \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libopus \
</span> path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
port:libtheora \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libmodplug \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libass \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libvorbis \
</span> path:lib/pkgconfig/vpx.pc:libvpx \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/pkgconfig/gnutls.pc:gnutls \
</span> port:openjpeg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zvbi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:freetype \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:fribidi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/libspeex.dylib:speex \
</span> port:soxr \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:dav1d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/libspeex.dylib:speex \
</span> port:xz \
port:zimg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zvbi
</span>
patchfiles-append patch-libavcodec-audiotoolboxenc.c.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -137,153 +136,178 @@ compiler.blacklist-append {clang < 800}
</span> # Also, -gpl2 causes other ports to fail to build due to the missing libpostproc (#35473)
default_variants-append +gpl2
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[tbool configure.ccache]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ccache_path ${prefix}/bin/ccache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cc-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${ccache_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${ccache_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.cflags-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DHAVE_LRINTF ${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DHAVE_LRINTF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-deprecated-declarations \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_sharedir ${prefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_docdir ${port_sharedir}/doc
</span>
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-swscale \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-avfilter \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-avresample \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libmp3lame \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvorbis \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libopus \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-librsvg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libtheora \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libopenjpeg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libmodplug \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsoxr \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libspeex \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libass \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libzimg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libzvbi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-lzma \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-gnutls \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfreetype \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfribidi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libdav1d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --cc="${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=jack \
</span> --disable-libjack \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \
--disable-libxcb \
--disable-libxcb-shm \
--disable-libxcb-xfixes \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-indev=jack \
</span> --disable-opencl \
--disable-outdev=xv \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-videotoolbox \
</span> --disable-sdl2 \
--disable-securetransport \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --mandir=${prefix}/share/man \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-videotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-avfilter \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-avresample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fontconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gnutls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libass \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libdav1d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfreetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfribidi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libmodplug \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libmp3lame \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libopenjpeg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libopus \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librsvg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsoxr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libspeex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libtheora \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvorbis \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libzimg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libzvbi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-lzma \
</span> --enable-pthreads \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --cc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-swscale \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --mandir=${prefix}/share/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # fix file perms; tarball contents deny group and world read
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "find ${worksrcpath} -type d -print0 | xargs -0 chmod a+rx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "find ${worksrcpath} -type f -print0 | xargs -0 chmod a+r"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s:,-compatibility_version,$\(LIBMAJOR\)::" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
platform darwin {
# disable asm on Tiger
# libblueray doesn't build on Tiger so disable for now (#39442)
if {${os.major} < 9} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete port:libbluray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --enable-libbluray --disable-libbluray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libbluray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libbluray \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libbluray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-asm
</span> }
# as of 1.6.0 libvpx only supports darwin 10 or later
if {${os.major} < 10} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete path:lib/pkgconfig/vpx.pc:libvpx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --enable-libvpx --disable-libvpx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/vpx.pc:libvpx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvpx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libvpx
</span> }
# filters coreimage and coreimagesrc don't build on 10.6
# and earlier due to use of bridged casts in Objective C (#51823)
if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-filter=coreimage \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-filter=coreimagesrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-filter=coreimage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-filter=coreimagesrc
</span> }
# AudioToolbox support requires CoreMedia Framework available on 10.7+
if {${os.major} > 10} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-audiotoolbox --enable-audiotoolbox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-audiotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-audiotoolbox
</span> }
if {${os.major} > 9 && ${build_arch} ni [list ppc ppc64]} {
# libsdl2 requires minimum Xcode 10.7 SDK to build successfully
# but builds on Snow Leopard x86. Exclude ppc until fixed.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-sdl2 --enable-sdl2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libsdl2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-sdl2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-sdl2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libsdl2
</span> }
# VideoToolbox, a new hardware acceleration framework, is supported on 10.8+ and "here to stay".
# It provides support for H265, H264, H263, MPEG1, MPEG2 and MPEG4.
if {${os.major} > 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-videotoolbox --enable-videotoolbox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-videotoolbox \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-videotoolbox
</span> }
# OpenCL support requires version 1.2 available 10.8+
if {${os.major} > 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-opencl --enable-opencl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-opencl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-opencl
</span> }
# Apple GCC has problems with SIMD intrinsics and -Werror=no-missing-prototypes.
if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append patch-configure-no-error-on-missing-prototypes.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-configure-no-error-on-missing-prototypes.diff
</span> }
# avfoundation is only available on 10.7+
# as of ffmpeg 3.4.1 build fails on 10.7 as well
# libavdevice/avfoundation.m:207:14: error: expected method to read dictionary element not found on object of type 'NSDictionary *'
if {${os.major} < 12} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-indev=avfoundation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=avfoundation
</span> }
# av1 codecs, available on 10.5+
if {${os.major} >= 9} {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libaom \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsvtav1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libaom \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsvtav1
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:aom \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:svt-av1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:aom \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:svt-av1
</span> }
# Available on 10.6+
if {(${os.major} >= 10) && (${configure.build_arch} ne "ppc")} {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-librav1e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librav1e
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:rav1e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env-append V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.env-append V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # fix file perms; tarball contents deny group and world read
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "find ${worksrcpath} -type d -print0 | xargs -0 chmod a+rx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "find ${worksrcpath} -type f -print0 | xargs -0 chmod a+r"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy ${worksrcpath}/doc/APIchanges ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach f [glob ${worksrcpath}/doc/*.txt] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy $f ${destroot}${prefix}/share/doc/ffmpeg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:rav1e
</span> }
}
platform powerpc {
# absence of altivec is not automatically detected
if {[catch {sysctl hw.vectorunit} result] || $result == 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --disable-altivec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-altivec
</span>
# as this machine is a G3, force a local build so we don't download a buildbot-built
# version possibly built on a G4+ or cross-compiled from an Intel system
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -294,46 +318,70 @@ platform powerpc {
</span> #Undefined symbols:
# "___atomic_fetch_sub_8", referenced from:
# _fifo_thread_dispatch_message.part.4 in fifo.o
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ldflags-append -latomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s:,-compatibility_version,$\(LIBMAJOR\)::" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -latomic
</span> }
# configure isn't autoconf and they do use a dep cache
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.universal_args-delete --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-dependency-tracking
</span>
if {${universal_possible} && [variant_isset universal]} {
foreach arch ${configure.universal_archs} {
set merger_host($arch) ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args($arch) --arch=${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_env($arch) "ASFLAGS=-arch ${arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args($arch) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --arch=${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_env($arch) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "ASFLAGS=-arch ${arch}"
</span> }
if {[string match "*86*" ${configure.universal_archs}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:nasm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:nasm
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args(i386) --enable-x86asm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend merger_configure_args(x86_64) --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args(i386) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend merger_configure_args(x86_64) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --arch=${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.env-append ASFLAGS=[get_canonical_archflags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --arch=${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASFLAGS=[get_canonical_archflags]
</span> if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:nasm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:nasm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x86asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.env-append V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Copy docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${destroot}${port_docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy ${worksrcpath}/doc/APIchanges ${destroot}${port_docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [glob ${worksrcpath}/doc/*.txt] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy $f ${destroot}${port_docdir}
</span> }
}
variant x11 {
# enable x11grab_xcb input device
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:xorg-libxcb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:xorg-libXext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:xorg-libXfixes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --disable-libxcb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libxcb-shm \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libxcb-xfixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libxcb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libXext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libXfixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-xlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb-shm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libxcb-xfixes
</span> }
if {[variant_isset x11]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -343,8 +391,10 @@ if {[variant_isset x11]} {
</span> }
variant libdc1394 description {Enable IIDC-1394 frame grabbing using libdc1394 (experimental)} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libdc1394
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-libdc1394
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libdc1394
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libdc1394
</span> }
# Allow use of librtmp instead of ffmpeg's internal rtmp implementation
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -352,56 +402,73 @@ variant libdc1394 description {Enable IIDC-1394 frame grabbing using libdc1394 (
</span> # https://trac.macports.org/ticket/32219
# https://groups.google.com/forum/#!topic/c-rtmp-server/ywQPjvciPgc
# https://trac.ffmpeg.org/ticket/1700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant librtmp description {Use librtmp (from rtmpdump) as rtmp[t][es]:// protocol handler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-librtmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:rtmpdump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-librtmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:rtmpdump
</span> }
variant jack description {Enable jack library and indev support} {
# jack will autoconfigure if not disabled
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:jack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-libjack --enable-libjack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace --disable-indev=jack --enable-indev=jack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:jack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libjack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libjack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-indev=jack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-indev=jack
</span> }
variant darwinssl description {Enable https support using Apple built-in TLS library instead of GNU TLS} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --disable-securetransport
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete --enable-gnutls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-delete path:lib/pkgconfig/gnutls.pc:gnutls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-securetransport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gnutls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/gnutls.pc:gnutls
</span> }
variant gpl2 description {Enable GPL code, license will be GPL-2+} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-gpl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-postproc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libx264 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libx265 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libxvid \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libvidstab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:XviD \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:x264 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:x265 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libvidstab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gpl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libvidstab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libx264 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libx265 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libxvid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-postproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libvidstab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:x264 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:x265 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:XviD
</span> }
variant gpl3 requires gpl2 description {Enable GPL code, license will be GPL-3+} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-version3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libsmbclient \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libaribb24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append path:lib/pkgconfig/smbclient.pc:samba3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libaribb24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libaribb24 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libsmbclient \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-version3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libaribb24 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/smbclient.pc:samba3
</span> }
# the build server uses the default variants, and we want distributable binaries
# nonfree code is disabled by default but can be enabled using the +nonfree variant
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant nonfree description {enable nonfree code, libraries and binaries will not be redistributable} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-nonfree \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-libfdk-aac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libfdk-aac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- license Restrictive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ license Restrictive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libfdk-aac \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-nonfree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libfdk-aac
</span> }
if {[variant_isset nonfree]} {
</pre><pre style='margin:0'>
</pre>