#!/bin/sh # Slackware build script for ffmpeg # Written by core (eroc@linuxmail.org) # Modified by Robby Workman # Modified by Heinz Wiesinger PRGNAM=ffmpeg VERSION=${VERSION:-0.6.1} BUILD=${BUILD:-2} 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 # --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 # 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-1.4" 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 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 make make install DESTDIR=$PKG make install-man 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 find $PKG/usr/man -type f -exec gzip -9 {} \; mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a Changelog* COPYING* CREDITS* INSTALL* MAINTAINERS* \ README* doc/TODO* doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION cp -a doc/*.html $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}