File:
[cvs.NetBSD.org] /
pkgsrc /
multimedia /
ffmpeg5 /
options.mk
Revision
1.7:
download - view:
text,
annotated -
select for diffs
Thu Nov 9 16:31:18 2023 UTC (14 months, 2 weeks ago) by
nia
Branches:
MAIN
CVS tags:
pkgsrc-2024Q4-base,
pkgsrc-2024Q4,
pkgsrc-2024Q3-base,
pkgsrc-2024Q3,
pkgsrc-2024Q2-base,
pkgsrc-2024Q2,
pkgsrc-2024Q1-base,
pkgsrc-2024Q1,
pkgsrc-2023Q4-base,
pkgsrc-2023Q4,
HEAD
ffmpeg[2-6]: Fixes for Darwin/powerpc.
- Do not universally --enable-rpath (it might not be supported)
- Limit nasm dependency to x86.
- Do not enable X11 as a default option.
This isn't technically a fix, just a sensemaking improvement.
X11 support in ffmpeg is used to capture video from an X display,
Darwin users are unlikely to be running an X server as their primary
display.
# $NetBSD: options.mk,v 1.7 2023/11/09 16:31:18 nia Exp $
# Global and legacy options
PKG_OPTIONS_VAR= PKG_OPTIONS.ffmpeg5
PKG_OPTIONS_OPTIONAL_GROUPS= ssl
PKG_OPTIONS_GROUP.ssl= gnutls mbedtls openssl
PKG_SUPPORTED_OPTIONS= ass aom bluray doc fdk-aac fontconfig freetype jack \
lame libvpx libwebp opencore-amr opus pulseaudio rav1e rpi rtmp \
speex tesseract theora vorbis x11 x264 x265 xvid
PKG_SUGGESTED_OPTIONS= ass aom bluray freetype fontconfig gnutls lame \
libvpx libwebp opus speex theora vorbis x264 x265 xvid
PKG_OPTIONS_LEGACY_OPTS= av1:aom
PLIST_VARS+= doc
# Add VDPAU if it is available
.include "../../multimedia/libvdpau/available.mk"
.if ${VDPAU_AVAILABLE} == "yes"
PKG_SUPPORTED_OPTIONS+= vdpau
PKG_SUGGESTED_OPTIONS+= vdpau
.endif
# Add VAAPI if it is available
.include "../../multimedia/libva/available.mk"
.if ${VAAPI_AVAILABLE} == "yes"
PKG_SUPPORTED_OPTIONS+= vaapi
PKG_SUGGESTED_OPTIONS+= vaapi
.endif
.if ${OPSYS} != "Darwin"
PKG_SUGGESTED_OPTIONS+= x11
.endif
.include "../../mk/bsd.options.mk"
# Fontconfig
.if !empty(PKG_OPTIONS:Mfontconfig)
CONFIGURE_ARGS+= --enable-fontconfig
.include "../../fonts/fontconfig/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-fontconfig
.endif
# freetype option
.if !empty(PKG_OPTIONS:Mfreetype)
CONFIGURE_ARGS+= --enable-libfreetype
.include "../../graphics/freetype2/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libfreetype
.endif
# ass option
.if !empty(PKG_OPTIONS:Mass)
CONFIGURE_ARGS+= --enable-libass
.include "../../multimedia/libass/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libass
.endif
# av1 option with libaom
.if !empty(PKG_OPTIONS:Maom)
CONFIGURE_ARGS+= --enable-libaom
BUILDLINK_API_DEPENDS.libaom+= libaom>=1.0.0nb1
.include "../../multimedia/libaom/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libaom
.endif
# av1 option with rav1e
.if !empty(PKG_OPTIONS:Mrav1e)
CONFIGURE_ARGS+= --enable-librav1e
.include "../../multimedia/rav1e/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-librav1e
.endif
.if !empty(PKG_OPTIONS:Maom) || !empty(PKG_OPTIONS:Mrav1e)
CONFIGURE_ARGS+= --enable-libdav1d
.include "../../multimedia/dav1d/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libdav1d
.endif
# doc option
.if !empty(PKG_OPTIONS:Mdoc)
PLIST.doc= yes
USE_TOOLS+= texi2html
CONFIGURE_ARGS+= --enable-htmlpages
.else
CONFIGURE_ARGS+= --disable-htmlpages
.endif
# Fraunhofer FDK AAC codec support
.if !empty(PKG_OPTIONS:Mfdk-aac)
RESTRICTED= ffmpeg built with fdk-aac combines GPL and GPL-incompatible code
NO_BIN_ON_CDROM= ${RESTRICTED}
NO_BIN_ON_FTP= ${RESTRICTED}
CONFIGURE_ARGS+= --enable-libfdk_aac
CONFIGURE_ARGS+= --enable-nonfree
.include "../../audio/fdk-aac/buildlink3.mk"
.endif
# GnuTLS support
.if !empty(PKG_OPTIONS:Mgnutls)
CONFIGURE_ARGS+= --enable-gnutls
.include "../../security/gnutls/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-gnutls
.endif
# mbedTLS support
.if !empty(PKG_OPTIONS:Mmbedtls)
CONFIGURE_ARGS+= --enable-mbedtls
# Apache License 2.0 is incompatible with (L)GPL versions before 3
CONFIGURE_ARGS+= --enable-version3
ADDITIONAL_LICENSE+= AND gnu-lgpl-v3
.include "../../security/mbedtls/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-mbedtls
.endif
# opencore-amr option
.if !empty(PKG_OPTIONS:Mopencore-amr)
CONFIGURE_ARGS+= --enable-libopencore-amrnb
CONFIGURE_ARGS+= --enable-libopencore-amrwb
# Apache License 2.0 is incompatible with (L)GPL versions before 3
CONFIGURE_ARGS+= --enable-version3
ADDITIONAL_LICENSE+= AND gnu-lgpl-v3
.include "../../audio/opencore-amr/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libopencore-amrnb
CONFIGURE_ARGS+= --disable-libopencore-amrwb
.endif
# OpenSSL support
.if !empty(PKG_OPTIONS:Mopenssl)
CONFIGURE_ARGS+= --enable-nonfree
CONFIGURE_ARGS+= --enable-openssl
.include "../../security/openssl/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-openssl
.endif
# jack option
.if !empty(PKG_OPTIONS:Mjack)
CONFIGURE_ARGS+= --enable-libjack
.include "../../audio/jack/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libjack
.endif
# pulseaudio option
.if !empty(PKG_OPTIONS:Mpulseaudio)
CONFIGURE_ARGS+= --enable-libpulse
.include "../../audio/pulseaudio/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libpulse
.endif
# RTMP support via librtmp
.if !empty(PKG_OPTIONS:Mrtmp)
CONFIGURE_ARGS+= --enable-librtmp
.include "../../net/rtmpdump/buildlink3.mk"
.endif
# OCR filter using Tesseract
.if !empty(PKG_OPTIONS:Mtesseract)
CONFIGURE_ARGS+= --enable-libtesseract
.include "../../graphics/tesseract/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libtesseract
.endif
# OGG Theora support
.if !empty(PKG_OPTIONS:Mtheora)
CONFIGURE_ARGS+= --enable-libtheora
.include "../../multimedia/libtheora/buildlink3.mk"
.endif
# OGG Vorbis support
.if !empty(PKG_OPTIONS:Mvorbis)
CONFIGURE_ARGS+= --enable-libvorbis
.include "../../audio/libvorbis/buildlink3.mk"
.endif
# LAME MP3 encoder
.if !empty(PKG_OPTIONS:Mlame)
# "lame-3.98" isn't compatible with "ffmpeg" which breaks audio encoding.
BUILDLINK_API_DEPENDS.lame+= lame>=3.98.2nb1
CONFIGURE_ARGS+= --enable-libmp3lame
.include "../../audio/lame/buildlink3.mk"
.endif
# OPUS support
.if !empty(PKG_OPTIONS:Mopus)
CONFIGURE_ARGS+= --enable-libopus
.include "../../audio/libopus/buildlink3.mk"
.endif
# Speex support
.if !empty(PKG_OPTIONS:Mspeex)
CONFIGURE_ARGS+= --enable-libspeex
.include "../../audio/speex/buildlink3.mk"
.endif
# Raspberry Pi support
.if !empty(PKG_OPTIONS:Mrpi)
CONFIGURE_ARGS+= --enable-omx-rpi
CONFIGURE_ARGS+= --enable-mmal
SUBST_CLASSES+= vc
SUBST_STAGE.vc= pre-configure
SUBST_MESSAGE.vc= Fixing path to VideoCore libraries.
SUBST_FILES.vc= configure
SUBST_SED.vc+= -e 's;-isystem/opt/vc;-I${PREFIX};g'
SUBST_SED.vc+= -e 's;/opt/vc;${PREFIX};g'
.include "../../misc/raspberrypi-userland/buildlink3.mk"
.endif
# XviD support
.if !empty(PKG_OPTIONS:Mxvid)
CONFIGURE_ARGS+= --enable-libxvid
.include "../../multimedia/xvidcore/buildlink3.mk"
.endif
# x264 support
.if !empty(PKG_OPTIONS:Mx264)
BUILDLINK_API_DEPENDS.x264+= x264>=20220601
CONFIGURE_ARGS+= --enable-libx264
.include "../../multimedia/x264/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libx264
.endif
# x265 support
.if !empty(PKG_OPTIONS:Mx265)
CONFIGURE_ARGS+= --enable-libx265
.include "../../multimedia/x265/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libx265
.endif
# VDPAU support
.if !empty(PKG_OPTIONS:Mvdpau) && !empty(PKG_OPTIONS:Mx11)
CONFIGURE_ARGS+= --enable-vdpau
.include "../../multimedia/libvdpau/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-vdpau
.endif
# VAAPI support
.if !empty(PKG_OPTIONS:Mvaapi) && !empty(PKG_OPTIONS:Mx11)
CONFIGURE_ARGS+= --enable-vaapi
.include "../../multimedia/libva/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-vaapi
.endif
# VPX support
.if !empty(PKG_OPTIONS:Mlibvpx)
CONFIGURE_ARGS+= --enable-libvpx
.include "../../multimedia/libvpx/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libvpx
.endif
# WEBP support
.if !empty(PKG_OPTIONS:Mlibwebp)
CONFIGURE_ARGS+= --enable-libwebp
.include "../../graphics/libwebp/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libwebp
.endif
# X11 screen capture support using libxcb
.if !empty(PKG_OPTIONS:Mx11)
CONFIGURE_ARGS+= --enable-libxcb
CONFIGURE_ARGS+= --enable-libxcb-shape
CONFIGURE_ARGS+= --enable-libxcb-shm
CONFIGURE_ARGS+= --enable-libxcb-xfixes
.include "../../x11/libxcb/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libxcb
.endif
# Bluray support
.if !empty(PKG_OPTIONS:Mbluray)
CONFIGURE_ARGS+= --enable-libbluray
.include "../../multimedia/libbluray/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libbluray
.endif
CVSweb <webmaster@jp.NetBSD.org>