Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Slackware build script for ffmpeg-compat
- # Written by core (eroc@linuxmail.org)
- # Modified by Robby Workman <rworkman@slackbuilds.org>
- # Modified by Heinz Wiesinger <pprkut@liwjatan.org>
- # Modified by Chris Farrell <timcowchip@gmail.com>
- PRGNAM=ffmpeg-compat
- VERSION=${VERSION:-0.10.8}
- 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
- # 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
- # Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
- # syntax, so we have to do it the complicated way :/
- libcelt="" ; [ "${CELT:-no}" != "no" ] && libcelt="--enable-libcelt"
- libdc1394="" ; [ "${DC1394:-no}" != "no" ] && libdc1394="--enable-libdc1394"
- libfrei0r="" ; [ "${FREI0R:-no}" != "no" ] && libfrei0r="--enable-frei0r"
- libgsm="" ; [ "${GSM:-no}" != "no" ] && libgsm="--enable-libgsm"
- librtmp="" ; [ "${RTMP:-no}" != "no" ] && librtmp="--enable-librtmp"
- dirac_fast="" ; [ "${SCHROEDINGER:-no}" != "no" ] && dirac_fast="--enable-libschroedinger"
- libspeex="" ; [ "${SPEEX:-no}" != "no" ] && libspeex="--enable-libspeex"
- libvpx="" ; [ "${VPX:-no}" != "no" ] && libvpx="--enable-libvpx"
- libxvid="" ; [ "${XVID:-no}" != "no" ] && libxvid="--enable-libxvid"
- libbluray="" ; [ "${BLURAY:-no}" != "no" ] && libbluray="--enable-libbluray"
- libass="" ; [ "${ASS:-no}" != "no" ] && libass="--enable-libass"
- libopenal="" ; [ "${OPENAL:-no}" != "no" ] && libopenal="--enable-openal"
- opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \
- opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
- libfaac="" ; [ "${FAAC:-no}" != "no" ] && \
- { libfaac="--enable-libfaac" ; non_free="--enable-nonfree" ; }
- ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
- { ssl="--enable-openssl" ; non_free="--enable-nonfree" ; }
- openjpeg="" ; [ "${JP2:-no}" != "no" ] && \
- { openjpeg="--enable-libopenjpeg" ; \
- SLKCFLAGS="$SLKCFLAGS -I/usr/include/openjpeg-1.5" ; }
- mp3lame="--enable-libmp3lame" ; [ "${LAME:-yes}" != "yes" ] && mp3lame=""
- libx264="--enable-libx264" ; [ "${X264:-yes}" != "yes" ] && libx264=""
- # opencv support is currently broken: http://code.opencv.org/issues/1925
- #libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopencv"
- set -e
- rm -rf $PKG
- mkdir -p $TMP $PKG $OUTPUT
- cd $TMP
- rm -rf ffmpeg-$VERSION
- tar xvf $CWD/ffmpeg-$VERSION.tar.bz2
- cd ffmpeg-$VERSION
- chown -R root:root .
- chmod -R u+w,go+r-w,a-s .
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- ./configure \
- --prefix=/usr \
- --incdir=/usr/include/$PRGNAM \
- --libdir=/usr/lib${LIBDIRSUFFIX}/$PRGNAM \
- --shlibdir=/usr/lib${LIBDIRSUFFIX}/$PRGNAM \
- --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-gnutls \
- --enable-libcdio \
- --arch=$ARCH \
- $openjpeg \
- $libdc1394 \
- $mp3lame \
- $libfaac \
- $libxvid \
- $libx264 \
- $libspeex \
- $dirac_fast \
- $non_free \
- $libgsm \
- $libvpx \
- $librtmp \
- $opencore_amr \
- $libfrei0r \
- $libcelt \
- $libbluray \
- $libass \
- $libopenal \
- $ssl
- make
- make install DESTDIR=$PKG
- rm -r $PKG/usr/{bin,share}
- find $PKG -print0 | xargs -0 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 LICENSE MAINTAINERS README RELEASE \
- VERSION doc/RELEASE_NOTES 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}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement