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):
ASS=yes|no (default: no), requires libass
BLURAY=yes|no (default: no), requires libbluray
BS2B=yes|no (default: no), requires libbs2b
CELT=yes|no (default: no), requires celt
CHROMAPRINT=yes|no (default: no), requires chromaprint
DC1394=yes|no (default: no), requires libdc1394
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)
FLITE=yes|no (default: no), requires flite
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
LAME=yes|no (default: no), requires lame
MODPLUG=yes|no (default: no), requires libmodplug
NETCDF=yes|no (default: no), requires netcdf
OPENAL=yes|no (default: no), requires OpenAL
OPENCORE=yes|no (default: no), requires opencore-amr
OPENCV=yes|no (default: no), requires opencv
OPENSSL=yes|no (default: no), creates non-redistributable binary
OPUS=yes|no (default: no), requires opus
QUVI=yes|no (default: no), requires libquvi
RTMP=yes|no (default: no), requires rtmpdump
RUBBERBAND=yes|no (default: no), requires rubberband
SCHROEDINGER=yes|no (default: no), requires schroedinger
SNAPPY=yes|no (default: no), requires snappy
SPEEX=yes|no (default: no), requires speex
TESSERACT=yes|no (default: no), requires tesseract
TWOLAME=yes|no (default: no), requires twolame
VIDSTAB=yes|no (default: no), requires vid.stab
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
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
have either tetex or texlive installed.
All of the mentioned requirements are available from SlackBuilds.org
Further, there are some more features with dependencies already available
in core Slackware. These are enabled by default, but can be disabled similar
to the other switches above:
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
# 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.
#
# Redistribution and use of this script, with or without modification, is
@ -26,7 +27,7 @@
# Modified by Robby Workman <rworkman@slackbuilds.org>
PRGNAM=ffmpeg
VERSION=${VERSION:-2.8.7}
VERSION=${VERSION:-3.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -57,23 +58,19 @@ else
LIBDIRSUFFIX=""
fi
# environment sanity checks
TEXI2HTML=$(which texi2html 2>/dev/null)
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
# You can enable a lot of optional (not-autodetected) features by
# passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild).
# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
# 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"
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"
ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa"
libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite"
libquvi="" ; [ "${QUVI:-no}" != "no" ] && libquvi="--enable-libquvi"
libvidstab="" ; [ "${VIDSTAB:-no}" != "no" ] && libvidstab="--enable-libvidstab"
libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265"
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"
libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy"
libwebp="" ; [ "${WEBP:-no}" != "no" ] && libwebp="--enable-libwebp"
#opencl=""; [ "${OPENCL:-no}" != "no" ] && opencl="--enable-opencl"
opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \
libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq"
libbs2b="" ; [ "${BS2B:-no}" != "no" ] && libbs2b="--enable-libbs2b"
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"
libfaac="" ; [ "${FAAC:-no}" != "no" ] && \
{ libfaac="--enable-libfaac" ; non_free="--enable-nonfree" ; }
fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \
{ fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; }
ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
@ -117,8 +116,28 @@ decklink="" ; [ "${DECKLINK:-no}" != "no" ] && \
{ decklink="--enable-decklink" ; \
SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; }
# zeromq support requires zeromq > 3.x
libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq"
# Default enabled features:
#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
@ -135,12 +154,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Fix linking with flite
# Fix linking with flite:
sed -i "s| -lflite\"| -lflite -lm -lasound\"|" \
./configure
CFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \
CXXFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@ -150,65 +169,67 @@ CXXFLAGS="$SLKCFLAGS -I/usr/include/openmj2-2.1" \
--disable-debug \
--enable-shared \
--disable-static \
--enable-pthreads \
--enable-libtheora \
--enable-libvorbis \
--enable-gpl \
--enable-version3 \
--enable-postproc \
--enable-swscale \
--enable-x11grab \
--enable-avfilter \
--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 \
$libdc1394 \
$mp3lame \
$libfaac \
$libxvid \
$libx264 \
$libspeex \
$dirac_fast \
$non_free \
$libgsm \
$librtmp \
$opencore_amr \
$libfrei0r \
$libcelt \
$libbluray \
$aac \
$chromaprint \
$decklink \
$dirac_fast \
$fdk \
$fontconfig \
$freetype \
$fribidi \
$gnutls \
$ladspa \
$libass \
$libopenal \
$libbluray \
$libbs2b \
$libcaca \
$libcdio \
$libcelt \
$libdc1394 \
$libebur128 \
$libflite \
$libfrei0r \
$libgme \
$libgsm \
$libiec61883 \
$libilbc \
$libmodplug \
$libopus \
$libtwolame \
$ladspa \
$fdk \
$libflite \
$libquvi \
$libvidstab \
$libx265 \
$libzvbi \
$libopenal \
$libopencv \
$decklink \
$libgme \
$libopus \
$librtmp \
$libsnappy \
$libspeex \
$libssh \
$libtheora \
$libtwolame \
$libv4l2 \
$libvidstab \
$libvorbis \
$libvpx \
$libwebp \
$libx264 \
$libx265 \
$libxvid \
$libzmq \
$libzvbi \
$mp3lame \
$netcdf \
$opencore_amr \
$opengl \
$openjpeg \
$pulse \
$rubberband \
$samba \
$ssl \
$libzmq
$tesseract \
$wavpack \
$x11grab
make
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 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/txt
cp -a Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* RELEASE \
VERSION $PKG/usr/doc/$PRGNAM-$VERSION
cp -a Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* \
RELEASE VERSION \
$PKG/usr/doc/$PRGNAM-$VERSION
cp -a doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION/txt/
find . -name "RELEASE_NOTES" -exec cp -a {} $PKG/usr/doc/$PRGNAM-$VERSION/ \;
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
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"
VERSION="2.8.7"
VERSION="3.2.4"
HOMEPAGE="http://www.ffmpeg.org"
DOWNLOAD="http://www.ffmpeg.org/releases/ffmpeg-2.8.7.tar.xz"
MD5SUM="7e5b1c98eedfc3a364fa8c4095deeae5"
DOWNLOAD="http://www.ffmpeg.org/releases/ffmpeg-3.2.4.tar.xz"
MD5SUM="39fd71024ac76ba35f04397021af5606"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="%README%"