multimedia/ffmpeg: Updated for version 3.2.4.

Synced with the SlackBuild available in -current.

Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
This commit is contained in:
Heinz Wiesinger 2017-03-03 20:55:21 +01:00 committed by Willy Sudiarto Raharjo
parent 795fde2080
commit 74cd759629
3 changed files with 130 additions and 87 deletions

View file

@ -8,10 +8,12 @@ You can enable a lot of optional (not-autodetected) features by
passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild): passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild):
ASS=yes|no (default: no), requires libass ASS=yes|no (default: no), requires libass
BLURAY=yes|no (default: no), requires libbluray BLURAY=yes|no (default: no), requires libbluray
BS2B=yes|no (default: no), requires libbs2b
CELT=yes|no (default: no), requires celt CELT=yes|no (default: no), requires celt
CHROMAPRINT=yes|no (default: no), requires chromaprint
DC1394=yes|no (default: no), requires libdc1394 DC1394=yes|no (default: no), requires libdc1394
DECKLINK=yes|no (default: no), requires decklink-sdk DECKLINK=yes|no (default: no), requires decklink-sdk
FAAC=yes|no (default: no), requires faac (creates non-redistributable binary) EBUR128=yes|no (default: no), requires libebur128
FDK_AAC=yes|no (default: no), requires libfdk-aac (creates non-redistributable binary) FDK_AAC=yes|no (default: no), requires libfdk-aac (creates non-redistributable binary)
FLITE=yes|no (default: no), requires flite FLITE=yes|no (default: no), requires flite
FREI0R=yes|no (default: no), requires frei0r FREI0R=yes|no (default: no), requires frei0r
@ -22,16 +24,18 @@ ILBC=yes|no (default: no), requires libilbc
LADSPA=yes|no (default: no), requires ladspa_sdk LADSPA=yes|no (default: no), requires ladspa_sdk
LAME=yes|no (default: no), requires lame LAME=yes|no (default: no), requires lame
MODPLUG=yes|no (default: no), requires libmodplug MODPLUG=yes|no (default: no), requires libmodplug
NETCDF=yes|no (default: no), requires netcdf
OPENAL=yes|no (default: no), requires OpenAL OPENAL=yes|no (default: no), requires OpenAL
OPENCORE=yes|no (default: no), requires opencore-amr OPENCORE=yes|no (default: no), requires opencore-amr
OPENCV=yes|no (default: no), requires opencv OPENCV=yes|no (default: no), requires opencv
OPENSSL=yes|no (default: no), creates non-redistributable binary OPENSSL=yes|no (default: no), creates non-redistributable binary
OPUS=yes|no (default: no), requires opus OPUS=yes|no (default: no), requires opus
QUVI=yes|no (default: no), requires libquvi
RTMP=yes|no (default: no), requires rtmpdump RTMP=yes|no (default: no), requires rtmpdump
RUBBERBAND=yes|no (default: no), requires rubberband
SCHROEDINGER=yes|no (default: no), requires schroedinger SCHROEDINGER=yes|no (default: no), requires schroedinger
SNAPPY=yes|no (default: no), requires snappy SNAPPY=yes|no (default: no), requires snappy
SPEEX=yes|no (default: no), requires speex SPEEX=yes|no (default: no), requires speex
TESSERACT=yes|no (default: no), requires tesseract
TWOLAME=yes|no (default: no), requires twolame TWOLAME=yes|no (default: no), requires twolame
VIDSTAB=yes|no (default: no), requires vid.stab VIDSTAB=yes|no (default: no), requires vid.stab
WEBP=yes|no (default: no), requires libwebp WEBP=yes|no (default: no), requires libwebp
@ -41,9 +45,26 @@ XVID=yes|no (default: no), requires xvidcore
ZMQ=yes|no (default: no), requires zeromq ZMQ=yes|no (default: no), requires zeromq
ZVBI=yes|no (default: no), requires zvbi ZVBI=yes|no (default: no), requires zvbi
An additional optional (autodetected) dependency is jack-audio-connection-kit. Additional optional (autodetected) dependencies are jack-audio-connection-kit and
SDL2. The latter is needed for building ffplay.
Make sure to run this script in a real root shell ("su -") and that you Further, there are some more features with dependencies already available
have either tetex or texlive installed. in core Slackware. These are enabled by default, but can be disabled similar
to the other switches above:
All of the mentioned requirements are available from SlackBuilds.org CACA=yes|no (default: yes)
FONTCONFIG=yes|no (default: yes)
FREETYPE=yes|no (default: yes)
FRIBIDI=yes|no (default: yes)
GNUTLS=yes|no (default: yes)
JP2=yes|no (default: yes)
LIBCDIO=yes|no (default: yes)
LIBSSH=yes|no (default: yes)
OPENGL=yes|no (default: yes)
PULSEAUDIO=yes|no (default: yes)
SAMBA=yes|no (default: yes)
THEORA=yes|no (default: yes)
V4L2=yes|no (default: yes)
VORBIS=yes|no (default: yes)
VPX=yes|no (default: yes)
WAVPACK=yes|no (default: yes)
X11GRAB=yes|no (default: yes)

View file

@ -2,7 +2,8 @@
# Slackware build script for ffmpeg # Slackware build script for ffmpeg
# Copyright 2010-2016 Heinz Wiesinger, Amsterdam, The Netherlands # Copyright 2010-2017 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2017 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -26,7 +27,7 @@
# Modified by Robby Workman <rworkman@slackbuilds.org> # Modified by Robby Workman <rworkman@slackbuilds.org>
PRGNAM=ffmpeg PRGNAM=ffmpeg
VERSION=${VERSION:-2.8.7} VERSION=${VERSION:-3.2.4}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
@ -57,23 +58,19 @@ else
LIBDIRSUFFIX="" LIBDIRSUFFIX=""
fi fi
# environment sanity checks # You can enable a lot of optional (not-autodetected) features by
TEXI2HTML=$(which texi2html 2>/dev/null) # passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild).
if [ "$TEXI2HTML" = "" ]; then
echo "Could not find texi2html! Please make sure to have tetex or texlive installed"
echo "and that texi2html is in PATH."
exit 1
fi
# --enable-runtime-cpu is meant for libswscale only and
# has no influence on the other parts of ffmpeg so there's
# not really a point in bothering
PKGARCH=$(uname -m)_custom
# Configure ffmpeg features not autodetected by default
# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes # Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
# syntax, so we have to do it the complicated way :/ # syntax, so we have to do it the complicated way :/
# Additional optional (autodetected) dependencies are:
# - jack-audio-connection-kit
# - libva
# - libvdpau
# - libX11
# - libxcb
# - sdl2
# - xz
# - zlib
mp3lame="" ; [ "${LAME:-no}" != "no" ] && mp3lame="--enable-libmp3lame" mp3lame="" ; [ "${LAME:-no}" != "no" ] && mp3lame="--enable-libmp3lame"
libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264" libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264"
@ -95,7 +92,6 @@ libopus="" ; [ "${OPUS:-no}" != "no" ] && libopus="--enable-libopus"
libtwolame="" ; [ "${TWOLAME:-no}" != "no" ] && libtwolame="--enable-libtwolame" libtwolame="" ; [ "${TWOLAME:-no}" != "no" ] && libtwolame="--enable-libtwolame"
ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa" ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa"
libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite" libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite"
libquvi="" ; [ "${QUVI:-no}" != "no" ] && libquvi="--enable-libquvi"
libvidstab="" ; [ "${VIDSTAB:-no}" != "no" ] && libvidstab="--enable-libvidstab" libvidstab="" ; [ "${VIDSTAB:-no}" != "no" ] && libvidstab="--enable-libvidstab"
libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265" libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265"
libzvbi="" ; [ "${ZVBI:-no}" != "no" ] && libzvbi="--enable-libzvbi" libzvbi="" ; [ "${ZVBI:-no}" != "no" ] && libzvbi="--enable-libzvbi"
@ -103,12 +99,15 @@ libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopen
libgme="" ; [ "${GME:-no}" != "no" ] && libgme="--enable-libgme" libgme="" ; [ "${GME:-no}" != "no" ] && libgme="--enable-libgme"
libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy" libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy"
libwebp="" ; [ "${WEBP:-no}" != "no" ] && libwebp="--enable-libwebp" libwebp="" ; [ "${WEBP:-no}" != "no" ] && libwebp="--enable-libwebp"
#opencl=""; [ "${OPENCL:-no}" != "no" ] && opencl="--enable-opencl" libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq"
libbs2b="" ; [ "${BS2B:-no}" != "no" ] && libbs2b="--enable-libbs2b"
opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \ libebur128="" ; [ "${EBUR128:-no}" != "no" ] && libebur128="--enable-libebur128"
rubberband="" ; [ "${RUBBERBAND:-no}" != "no" ] && rubberband="--enable-librubberband"
tesseract="" ; [ "${TESSERACT:-no}" != "no" ] && tesseract="--enable-libtesseract"
netcdf="" ; [ "${NETCDF:-no}" != "no" ] && netcdf="--enable-netcdf"
chromaprint="" ; [ "${CHROMAPRINT:-no}" != "no" ] && chromaprint="--enable-chromaprint"
opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \
opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb" opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
libfaac="" ; [ "${FAAC:-no}" != "no" ] && \
{ libfaac="--enable-libfaac" ; non_free="--enable-nonfree" ; }
fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \ fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \
{ fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; } { fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; }
ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \ ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
@ -117,8 +116,28 @@ decklink="" ; [ "${DECKLINK:-no}" != "no" ] && \
{ decklink="--enable-decklink" ; \ { decklink="--enable-decklink" ; \
SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; } SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; }
# zeromq support requires zeromq > 3.x # Default enabled features:
libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq" #opencl="" ; [ "${OPENCL:-yes}" != "no" ] && opencl="--enable-opencl"
fontconfig="" ; [ "${FONTCONFIG:-yes}" != "no" ] && fontconfig="--enable-libfontconfig"
freetype="" ; [ "${FREETYPE:-yes}" != "no" ] && freetype="--enable-libfreetype"
fribidi="" ; [ "${FRIBIDI:-yes}" != "no" ] && fribidi="--enable-libfribidi"
gnutls="" ; [ "${GNUTLS:-yes}" != "no" ] && gnutls="--enable-gnutls"
libcaca="" ; [ "${CACA:-yes}" != "no" ] && libcaca="--enable-libcaca"
libcdio="" ; [ "${LIBCDIO:-yes}" != "no" ] && libcdio="--enable-libcdio"
libssh="" ; [ "${LIBSSH:-yes}" != "no" ] && libssh="--enable-libssh"
libtheora="" ; [ "${THEORA:-yes}" != "no" ] && libtheora="--enable-libtheora"
libv4l2="" ; [ "${V4L2:-yes}" != "no" ] && libv4l2="--enable-libv4l2"
libvorbis="" ; [ "${VORBIS:-yes}" != "no" ] && libvorbis="--enable-libvorbis"
libvpx="" ; [ "${VPX:-yes}" != "no" ] && libvpx="--enable-libvpx"
opengl="" ; [ "${OPENGL:-yes}" != "no" ] && opengl="--enable-opengl"
openjpeg="" ; [ "${JP2:-yes}" != "no" ] && openjpeg="--enable-libopenjpeg"
pulse="" ; [ "${PULSEAUDIO:-yes}" != "no" ] && pulse="--enable-libpulse"
samba="" ; [ "${SAMBA:-yes}" != "no" ] && samba="--enable-libsmbclient"
wavpack="" ; [ "${WAVPACK:-yes}" != "no" ] && wavpack="--enable-libwavpack"
x11grab="" ; [ "${X11GRAB:-yes}" != "no" ] && x11grab="--enable-x11grab"
# Disable patent encumbered features:
aac="" ; [ "${AAC:-yes}" != "yes" ] && aac="--disable-encoder=aac"
set -e set -e
@ -135,12 +154,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Fix linking with flite # Fix linking with flite:
sed -i "s| -lflite\"| -lflite -lm -lasound\"|" \ sed -i "s| -lflite\"| -lflite -lm -lasound\"|" \
./configure ./configure
CFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \ CXXFLAGS="$SLKCFLAGS" \
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \ --libdir=/usr/lib${LIBDIRSUFFIX} \
@ -150,65 +169,67 @@ CXXFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \
--disable-debug \ --disable-debug \
--enable-shared \ --enable-shared \
--disable-static \ --disable-static \
--enable-pthreads \
--enable-libtheora \
--enable-libvorbis \
--enable-gpl \ --enable-gpl \
--enable-version3 \ --enable-version3 \
--enable-postproc \
--enable-swscale \
--enable-x11grab \
--enable-avfilter \
--enable-avresample \ --enable-avresample \
--enable-gnutls \
--enable-libcdio \
--enable-libssh \
--enable-libcaca \
--enable-libsmbclient \
--enable-opengl \
--enable-libvpx \
--enable-libpulse \
--enable-libopenjpeg \
--enable-libwavpack \
--enable-libfreetype \
--enable-libfribidi \
--enable-fontconfig \
--arch=$ARCH \ --arch=$ARCH \
$libdc1394 \
$mp3lame \
$libfaac \
$libxvid \
$libx264 \
$libspeex \
$dirac_fast \
$non_free \ $non_free \
$libgsm \ $aac \
$librtmp \ $chromaprint \
$opencore_amr \ $decklink \
$libfrei0r \ $dirac_fast \
$libcelt \ $fdk \
$libbluray \ $fontconfig \
$freetype \
$fribidi \
$gnutls \
$ladspa \
$libass \ $libass \
$libopenal \ $libbluray \
$libbs2b \
$libcaca \
$libcdio \
$libcelt \
$libdc1394 \
$libebur128 \
$libflite \
$libfrei0r \
$libgme \
$libgsm \
$libiec61883 \ $libiec61883 \
$libilbc \ $libilbc \
$libmodplug \ $libmodplug \
$libopus \ $libopenal \
$libtwolame \
$ladspa \
$fdk \
$libflite \
$libquvi \
$libvidstab \
$libx265 \
$libzvbi \
$libopencv \ $libopencv \
$decklink \ $libopus \
$libgme \ $librtmp \
$libsnappy \ $libsnappy \
$libspeex \
$libssh \
$libtheora \
$libtwolame \
$libv4l2 \
$libvidstab \
$libvorbis \
$libvpx \
$libwebp \ $libwebp \
$libx264 \
$libx265 \
$libxvid \
$libzmq \
$libzvbi \
$mp3lame \
$netcdf \
$opencore_amr \
$opengl \
$openjpeg \
$pulse \
$rubberband \
$samba \
$ssl \ $ssl \
$libzmq $tesseract \
$wavpack \
$x11grab
make make
make install DESTDIR=$PKG make install DESTDIR=$PKG
@ -220,8 +241,9 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
find $PKG/usr/man -type f -exec gzip -9 {} \; find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/txt mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/txt
cp -a Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* RELEASE \ cp -a Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* \
VERSION $PKG/usr/doc/$PRGNAM-$VERSION RELEASE VERSION \
$PKG/usr/doc/$PRGNAM-$VERSION
cp -a doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION/txt/ cp -a doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION/txt/
find . -name "RELEASE_NOTES" -exec cp -a {} $PKG/usr/doc/$PRGNAM-$VERSION/ \; find . -name "RELEASE_NOTES" -exec cp -a {} $PKG/usr/doc/$PRGNAM-$VERSION/ \;
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
@ -230,4 +252,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$PKGARCH-$BUILD$TAG.${PKGTYPE:-tgz} /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -1,8 +1,8 @@
PRGNAM="ffmpeg" PRGNAM="ffmpeg"
VERSION="2.8.7" VERSION="3.2.4"
HOMEPAGE="http://www.ffmpeg.org" HOMEPAGE="http://www.ffmpeg.org"
DOWNLOAD="http://www.ffmpeg.org/releases/ffmpeg-2.8.7.tar.xz" DOWNLOAD="http://www.ffmpeg.org/releases/ffmpeg-3.2.4.tar.xz"
MD5SUM="7e5b1c98eedfc3a364fa8c4095deeae5" MD5SUM="39fd71024ac76ba35f04397021af5606"
DOWNLOAD_x86_64="" DOWNLOAD_x86_64=""
MD5SUM_x86_64="" MD5SUM_x86_64=""
REQUIRES="%README%" REQUIRES="%README%"