#!/bin/sh # Heavily based on the Slackware 13.0 SlackBuild # http://cmus.sourceforge.net/ # The Italian Slackware Community # http://www.slacky.eu/ # Packager anycolouryoulike # # Required amrnb, amrwb, dirac, faac, faad2, ffmpeg, lame, libgsm, libmodplug,libmpcdec, mp4v2, opencore-amr, openjpeg, schroedinger, speex, tremor, x264, xvidcore CWD=`pwd` TMP=${TMP:-/tmp/txz} NAME=cmus PKG=$TMP/package/$NAME VERSION=2.3.2 ARCHIVE=tar.bz2 ARCH=${ARCH:-i486} BUILD=1slacky SOURCE=http://downloads.sourceforge.net/project/cmus/$NAME-v$VERSION.$ARCHIVE if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" fi download_source() { if [ ! -f $NAME-v$VERSION.$ARCHIVE ]; then wget $SOURCE fi } clean_directories() { if [ ! -d $TMP ]; then mkdir -p $TMP else rm -rf $TMP/* fi if [ ! -d $PKG ]; then mkdir -p $PKG else rm -rf $PKG/* fi } explode_archive() { case $ARCHIVE in tar.gz|tgz) tar xvzf $CWD/$NAME-$VERSION.$ARCHIVE ;; tar.bz2) tar xvjf $CWD/$NAME-v$VERSION.$ARCHIVE ;; esac } set_permissions() { chown -R root:root . find -perm 664 -exec chmod 644 {} \; find -perm 600 -exec chmod 644 {} \; find -perm 444 -exec chmod 644 {} \; find -perm 400 -exec chmod 644 {} \; find -perm 440 -exec chmod 644 {} \; find -perm 777 -exec chmod 755 {} \; find -perm 775 -exec chmod 755 {} \; find -perm 511 -exec chmod 755 {} \; find -perm 711 -exec chmod 755 {} \; find -perm 555 -exec chmod 755 {} \; } copy_docs() { if [ ! -d $PKG/usr/doc/$NAME-$VERSION//SlackBuild ]; then mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild fi cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/$NAME.SlackBuild for FILE in AUTHORS ChangeLog COPYING DOCS HACKING INSTALL LICENSE NEWS README TODO do if [ -s $FILE ]; then cp -a $FILE $PKG/usr/doc/$NAME-$VERSION/ fi done mkdir $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc } strip_files() { 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 find | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null gzip -9 usr/man/man?/*.? 2> /dev/null } download_source clean_directories cd $TMP || exit 1 explode_archive cd $NAME-v$VERSION || exit 1 set_permissions sed -ie '21s/ffmpeg/libavcodec/;22,23s/ffmpeg/libavformat/' ffmpeg.c LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ prefix=/usr \ mandir=/usr/man \ libdir=/usr/lib${LIBDIRSUFFIX} \ exampledir=/usr/doc/$NAME-$VERSION/examples \ CONFIG_FLAC=y \ CONFIG_MAD=y \ CONFIG_MODPLUG=y \ CONFIG_MIKMOD=n \ CONFIG_MPC=y \ CONFIG_VORBIS=y \ CONFIG_TREMOR=y \ CONFIG_WAV=y \ CONFIG_WAVPACK=y \ CONFIG_MP4=y \ CONFIG_AAC=y \ CONFIG_FFMPEG=y \ CONFIG_ALSA=y \ CONFIG_AO=y \ CONFIG_ARTS=n \ CONFIG_OSS=y \ CONFIG_SUN=n \ CONFIG_WAVEOUT=n echo "Press enter to compile" read make || exit 1 make install DESTDIR=$PKG || exit 1 copy_docs cd $PKG || exit 1 strip_files requiredbuilder -v -y -s $CWD $PKG makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz if [ "$1" = "--cleanup" ]; then rm -rf $TMP rm -rf $PKG fi exit 0