slackbuilds_ponce/multimedia/ffmpeg/ffmpeg.SlackBuild
David Somero 16c2d53a90 multimedia/ffmpeg: Misc automated cleanups.
Signed-off-by: David Somero <xgizzmo@slackbuilds.org>
2010-06-04 01:11:33 -04:00

211 lines
4.2 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.5.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) 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 [ "${AMRNB:-no}" = "no" ]; then
amr_nb=""
else
non_free="--enable-nonfree"
amr_nb="--enable-libamr-nb"
fi
if [ "${AMRWB:-no}" = "no" ]; then
amr_wb=""
else
non_free="--enable-nonfree"
amr_wb="--enable-libamr-wb"
fi
if [ "${OPENCORE:-no}" = "no" ]; then
opencore_amr=""
else
opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
fi
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:-yes}" = "yes" ]; then
libfaac="--enable-libfaac"
non_free="--enable-nonfree"
else
libfaac=""
fi
if [ "${FAAD:-yes}" = "yes" ]; then
libfaad="--enable-libfaad"
else
libfaad=""
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 [ "${SCHROEDINGER:-no}" = "no" ]; then
dirac_fast=""
else
dirac_fast="--enable-libschroedinger"
fi
if [ "${SPEEX:-no}" = "no" ]; then
libspeex=""
else
libspeex="--enable-libspeex"
fi
if [ "${VDPAU:-no}" = "no" ]; then
vdpau_opt="--disable-vdpau"
else
vdpau_opt="--enable-vdpau"
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-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 \
$vdpau_opt \
$non_free \
$amr_nb \
$amr_wb \
$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}