summaryrefslogtreecommitdiffstats
path: root/multimedia/ffmpeg/ffmpeg.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/ffmpeg/ffmpeg.SlackBuild')
-rw-r--r--multimedia/ffmpeg/ffmpeg.SlackBuild172
1 files changed, 97 insertions, 75 deletions
diff --git a/multimedia/ffmpeg/ffmpeg.SlackBuild b/multimedia/ffmpeg/ffmpeg.SlackBuild
index 93ff35efd1..f64d5dfb1a 100644
--- a/multimedia/ffmpeg/ffmpeg.SlackBuild
+++ b/multimedia/ffmpeg/ffmpeg.SlackBuild
@@ -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 \
+ $libopenal \
+ $libopencv \
$libopus \
+ $librtmp \
+ $libsnappy \
+ $libspeex \
+ $libssh \
+ $libtheora \
$libtwolame \
- $ladspa \
- $fdk \
- $libflite \
- $libquvi \
+ $libv4l2 \
$libvidstab \
+ $libvorbis \
+ $libvpx \
+ $libwebp \
+ $libx264 \
$libx265 \
+ $libxvid \
+ $libzmq \
$libzvbi \
- $libopencv \
- $decklink \
- $libgme \
- $libsnappy \
- $libwebp \
+ $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}