diff --git a/satellites/ffmpeg.sat b/satellites/ffmpeg.sat index e9873a8..4d52b62 100644 --- a/satellites/ffmpeg.sat +++ b/satellites/ffmpeg.sat @@ -2,25 +2,49 @@ name=ffmpeg version=3.2.4 update_url='https://ffmpeg.org/download.html' +# Use: sed -n '/EXTERNAL_LIBRARY_LIST="/,/"/p' configure | head -n -1 | tail -n +2 | xargs +# Last update: 3.2.4 +# NOTE: Not everything has been tested. +optional_libraries='avisynth bzlib chromaprint crystalhd decklink frei0r gcrypt gmp gnutls iconv jni ladspa libass libbluray libbs2b libcaca libcdio libcelt libdc1394 libebur128 libfdk_aac libflite libfontconfig libfreetype libfribidi libgme libgsm libiec61883 libilbc libkvazaar libmodplug libmp3lame libnut libopencore_amrnb libopencore_amrwb libopencv libopenh264 libopenjpeg libopenmpt libopus libpulse librtmp librubberband libschroedinger libshine libsmbclient libsnappy libsoxr libspeex libssh libtesseract libtheora libtwolame libv4l2 libvidstab libvo_amrwbenc libvorbis libvpx libwavpack libwebp libx264 libx265 libxavs libxcb libxcb_shm libxcb_shape libxcb_xfixes libxvid libzimg libzmq libzvbi lzma mediacodec netcdf openal opencl opengl openssl schannel sdl sdl2 securetransport videotoolbox x11grab xlib zlib' +for opt in $optional_libraries; do + # Rename some options + case "$opt" in + libpulse) opt=pulseaudio ;; + esac + + define_option "!$opt: Enable support for $opt" +done + dlextract "http://ffmpeg.org/releases/$name-$version.tar.bz2" \ 'd3ebaacfa36c6e8145373785824265b4' header_end cd "$name-$version" +optional="" +for opt in $optional_libraries; do + flag="$opt" + + # Rename some options + case "$opt" in + libpulse) opt=pulseaudio ;; + esac + + option $opt && optional="$optional --enable-$flag" +done + # ffmpeg uses it's own configure script with arguably differing options to the # regular GNU autotools configure scripts. # Not using compile_configure due to that. -./configure --disable-static --enable-shared --enable-openssl \ - --enable-libvpx \ - --enable-libvorbis \ +./configure --disable-static --enable-shared \ --prefix="/$dir_prefix" \ --bindir="/$dir_prefix/$dir_bindir" \ --datadir="/$dir_prefix/$dir_datadir/$name" \ --docdir="/$dir_prefix/$dir_docdir/$name" \ --libdir="/$dir_prefix/$dir_libdir" \ --incdir="/$dir_prefix/$dir_includedir" \ - --mandir="/$dir_prefix/$dir_mandir" + --mandir="/$dir_prefix/$dir_mandir" \ + $optional make make DESTDIR="$dir_install" install