#!/bin/bash # Packager : Jean-Philippe Guillemin NAME='ffmpeg' tarball=$(ls ${NAME}*tar*);VERSION=${tarball%.*};VERSION=${VERSION%.*}; VERSION=${VERSION##*-} ARCH=${ARCH:-x86_64} case "$ARCH" in i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKLDFLAGS="" LIBDIRSUFFIX="" ARCHOPTS="" ;; x86_64) SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64" LIBDIRSUFFIX="64" ARCHOPTS="--arch=x86_64 --enable-pic" ;; esac export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" export LDFLAGS="$SLKLDFLAGS" BUILD='1' PKGBUILD=$(pwd) package="$NAME-$VERSION-$ARCH-$BUILD" PKG="/tmp/$package" rm -rf $PKG rm -f $PKG.tgz mkdir -p $PKG TMP="$PKGBUILD/tmp" cd $PKGBUILD sources="$NAME" for source in $sources ; do echo -n "Checking $source : " cd $PKGBUILD tarball="$(ls ${source}*tar* 2>/dev/null)" if [ "$tarball" == "" ] ; then echo "not found :(" exit 1 else echo "found $tarball :)" fi done for source in $sources ; do cd $PKGBUILD tarball="$(ls ${source}*tar* )" rm -rf $TMP mkdir -p $TMP if [ "$(echo $tarball | grep ".tar.bz2" )" ]; then tar jxvf $tarball -C $TMP elif [ "$(echo $tarball | grep ".tar.gz" )" ]; then tar zxvf $tarball -C $TMP fi SRC=$(ls -d $TMP/*/) cd $SRC #EXTRACONFIG="--enable-libmp3lame" chown -R root.root . find . -perm 777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 666 -exec chmod 644 {} \; find . -perm 664 -exec chmod 644 {} \; ./configure --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --shlibdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ --disable-static \ --enable-shared \ --enable-runtime-cpudetect \ --enable-gpl \ --enable-pthreads \ --enable-x11grab \ --enable-libspeex \ --enable-libtheora \ --enable-libvorbis \ --enable-libx264 \ --enable-libxvid \ --enable-libschroedinger \ --enable-postproc \ --disable-indev=jack \ --disable-outdev=jack \ $ARCHOPTS \ $EXTRACONFIG \ --disable-libmp3lame make -j6 || exit 1 # make install make install DESTDIR=$PKG mkdir -p $PKG/usr/doc/$(basename $SRC) cp -f AUTHORS INSTALL README TODO NEWS ChangeLog $PKG/usr/doc/$(basename $SRC) # Striptease ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null for mandir in $(find ./usr/share/man -name man* -type d) ; do mkdir -p ./usr/man/$(basename $mandir) mv $mandir/*.? ./usr/man/$(basename $mandir) done rm -rf ./usr/share/man for mandir in $(find . -name man -type d) ; do if [ -d $mandir ]; then ( cd $mandir find . -type f -name "*.?" -exec gzip -9 {} \; ) fi done ) done cd $PKGBUILD # redundant , if any rm -rf $PKG/usr/share/doc # slack-desc mkdir -p $PKG/install cat > $PKG/install/slack-desc << END $NAME: $NAME - multimedia player, server and encoder $NAME: $NAME: $NAME is a complete solution to record, convert and $NAME: stream audio and video. It includes libavcodec, the leading $NAME: audio/video codec library. $NAME: $NAME: $NAME: $NAME: $NAME: $NAME: END mkdir -p $PKG/usr/src/$NAME-$VERSION cat $PKGBUILD/$NAME.SlackBuild > $PKG/usr/src/$NAME-$VERSION/$NAME.SlackBuild cd $PKG makepkg -l y -c n $PKG.txz # Cleanup cd $PKGBUILD rm -rf $PKG rm -rf $TMP