#!/bin/bash # # mixxx.SlackBuild # code: Vicious (michal@scxd.info); improvements: Zielony (e-pl@o2.pl) set -e # PACKAGE GENERAL INFO [EDIT] # Wymaga: jack, fftw, libsndfile, portaudio. PKGNAME=mixxx VERSION=1.5.0.1 BUILD=1X ARCH=i686 URL=http://switch.dl.sourceforge.net/sourceforge/mixxx/mixxx-$VERSION-src.tar.bz2 CWD=`pwd` TMP=/tmp/$PKGNAME if [ -e $TMP/$PKGNAME-$VERSION/src/'Makefile' ]; then cd $TMP/$PKGNAME-$VERSION/src make else if [ ! -d $TMP/$PKGNAME-$VERSION ]; then rm -rf $TMP/package mkdir -p $TMP/package/install # PACKAGE DESCRIPTION [EDIT] cat << SLACKDESC | fmt -w $(( 80 - `echo $PKGNAME | wc -c` - 3 )) | perl -pe "s/^/$PKGNAME: /" > $TMP/package/install/slack-desc Mixxx (DJ tool) Mixxx is designed for DJ'ing for both professional and semi-professional users. Mixxx was started in early 2001 as one of the first digital DJ systems. Today Mixxx includes many features common to digital DJ solutions. Package prepared by Zielony (e-pl@o2.pl) SLACKDESC cd $TMP # step 1: DOWNLOAD SOURCE PKGFNAME=`ls -t | grep -i $PKGNAME*.t*z* | head -1` if [ -z $PKGFNAME ]; then ( wget -c $URL -P $TMP -O $PKGNAME-$VERSION.${URL//*.} ) # step 2: UNPACK SOURCE AND COMPILE PKGFNAME=`ls -t | grep -i $PKGNAME*.t*z* | head -1` fi EXTENSION=`echo ${PKGFNAME//*.}` if [ $EXTENSION = "bz2" ]; then tar jxvf $PKGFNAME -C $TMP else tar xvfz $PKGFNAME -C $TMP fi DIRNAME=`tar tf $PKGFNAME | head -1` echo $DIRNAME | grep '/' && DIRNAME=${DIRNAME%${DIRNAME#*/}} if [ $DIRNAME != $PKGNAME-$VERSION/ ]; then mv $DIRNAME $PKGNAME-$VERSION; fi chown root:root $TMP -R fi cd $TMP/$PKGNAME-$VERSION/src if [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2;-march=i686;-mtune=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2;-march=i486;-mtune=i686" elif [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2;-march=i386;-mcpu=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi if [ -s 'configure' ]; then ./configure \ --prefix=/usr \ --cflags=$SLKCFLAGS \ --cxxflags=$SLKCFLAGS \ --enable-alsa \ --enable-jack \ --enable-python \ --disable-debug fi sed -i '17a#define BITS_PER_LONG 32' joysticklinux.cpp sed -i '68a#define BITS_PER_LONG 32' mixxx.cpp sed -i '33a#define BITS_PER_LONG 32' dlgprefmidi.cpp sed -i 's@INCPATH =@INCPATH = -I/usr/include/python2.5@' Makefile sed -i 's@LIBS =@LIBS = -lpython2.5@' Makefile # Oh, I've thought it out by myself. Maybe I'm good at making packages? Fucken errors # has made me to think!!! Have I become a man? make fi make install INSTALL_ROOT="$TMP/package" ( mv $TMP/package/doc $TMP/package/usr/share/ ) # step 3: STRIP BINARIES & GZIP MANUALS ( cd $TMP/package 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 ) ( gzip $TMP/package/usr/man/man?/* ) # step 4: CREATE PACKAGE & CLEAN TMP cd $TMP/package if [ `ls | wc -m` -le 8 ]; then echo "Brak plików pakietu!" else ( requiredbuilder -y -s $TMP/package/install $TMP/$PKGNAME-$VERSION ) makepkg -l y -c n $CWD/$PKGNAME-$VERSION-$ARCH-$BUILD.tgz rm -rf $TMP fi