slackbuilds_ponce/multimedia/ffmpeg/ffmpeg.SlackBuild
Heinz Wiesinger 788d7634a9 multimedia/ffmpeg: Updated for version 0.6.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
2010-06-29 00:36:36 -05:00

208 lines
4 KiB
Bash

#!/bin/sh
# Slackware build script for ffmpeg
# Written by core (eroc@linuxmail.org)
# Modified by Robby Workman <rworkman@slackbuilds.org>
# Modified by Heinz Wiesinger <pprkut@liwjatan.org>
PRGNAM=ffmpeg
VERSION=${VERSION:-0.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
# Configure ffmpeg features not autodetected by default
# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
# syntax, so we have to do it the complicated way :/
if [ "${DC1394:-no}" = "no" ]; then
libdc1394=""
else
libdc1394="--enable-libdc1394"
fi
if [ "${DIRAC:-no}" = "no" ]; then
dirac_slow=""
else
dirac_slow="--enable-libdirac"
fi
if [ "${FAAC:-no}" = "no" ]; then
libfaac=""
else
libfaac="--enable-libfaac"
non_free="--enable-nonfree"
fi
if [ "${FAAD:-no}" = "no" ]; then
libfaad=""
else
libfaad="--enable-libfaad"
fi
if [ "${GSM:-no}" = "no" ]; then
libgsm=""
else
libgsm="--enable-libgsm"
fi
if [ "${LAME:-yes}" = "yes" ]; then
mp3lame="--enable-libmp3lame"
else
mp3lame=""
fi
if [ "${JP2:-no}" = "no" ]; then
openjpeg=""
else
openjpeg="--enable-libopenjpeg"
SLKCFLAGS="$SLKCFLAGS -I/usr/include/openjpeg"
fi
if [ "${OPENCORE:-no}" = "no" ]; then
opencore_amr=""
else
opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
fi
if [ "${RTMP:-no}" = "no" ]; then
librtmp=""
else
librtmp="--enable-librtmp"
fi
if [ "${SCHROEDINGER:-no}" = "no" ]; then
dirac_fast=""
else
dirac_fast="--enable-libschroedinger"
fi
if [ "${SPEEX:-no}" = "no" ]; then
libspeex=""
else
libspeex="--enable-libspeex"
fi
if [ "${VPX:-no}" = "no" ]; then
libvpx=""
else
libvpx="--enable-libvpx"
fi
if [ "${X264:-yes}" = "yes" ]; then
libx264="--enable-libx264"
else
libx264=""
fi
if [ "${XVID:-no}" = "no" ]; then
libxvid=""
else
libxvid="--enable-libxvid"
fi
if [ "${RUNTIME:-yes}" = "yes" ]; then
doruntime="--enable-runtime-cpudetect"
PKGARCH=$ARCH
else
doruntime=""
PKGARCH="custom"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--shlibdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--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-avfilter-lavf \
--arch=$ARCH \
$openjpeg \
$libdc1394 \
$mp3lame \
$libfaac \
$libfaad \
$libxvid \
$libx264 \
$libspeex \
$dirac_slow \
$dirac_fast \
$non_free \
$libgsm \
$libvpx \
$librtmp \
$opencore_amr \
$doruntime
make
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a Changelog* COPYING* CREDITS* INSTALL* MAINTAINERS* \
README* doc/TODO* doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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}