#!/bin/sh # Heavily based on the Slackware 12.2 SlackBuild # SlackBuild for qtoctave # http://qtoctave.wordpress.com/ # Set variables CWD=`pwd` TMP=/tmp/ NAME=qtoctave VERSION=0.8.2 ARCH=i486 BUILD=1lke SOURCEARCH=$NAME-$VERSION PKG=$TMP/package-$NAME # Print a welcome screen echo "+-----------------+" echo "| $NAME-$VERSION |" echo "+-----------------+" if [ ! -d $TMP ] then mkdir -p $TMP fi if [ -d $PKG ] then echo "Previous package build directory found, please remove it and" echo "restart the SlackBuild script: $PKG" exit 1 else mkdir -p $PKG fi # Decompress cd $TMP tar zxvf $CWD/$SOURCEARCH.tar.gz cd $NAME-$VERSION/$NAME # Build if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i586" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi #build. qt4 required. using slacky.eu's qt4 package. cmake \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DQT_QMAKE_EXECUTABLE:FILEPATH=/opt/qt4/bin/qmake \ -DCMAKE_INSTALL_PREFIX:PATH=/usr || (echo 'Cmake failed!' && exit 1) make|| exit 1 echo ":::::::::::::::::::::::::::::::::::::::::::" echo "Installing..." echo ":::::::::::::::::::::::::::::::::::::::::::" make install DESTDIR=$PKG||(echo 'Installation failed!'&&exit 1) # Documentation mkdir -p $PKG/usr/doc/$NAME-$VERSION for i in leeme.txt readme.txt news.txt do cp -a $i $PKG/usr/doc/$NAME-$VERSION/ done cd $PKG/usr/doc/$NAME-$VERSION ln -s ../../share/qtoctave/octave_doc octave_doc ln -s ../../share/qtoctave/qtoctave_doc qtoctave_doc # Strip binaries 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 # Set permissions chown -R root:root $PKG/usr/doc chmod -R 755 $PKG/usr/doc/* find $PKG/usr/doc -type f -exec chmod 644 {} \; chown -R root:root $PKG/usr/bin/ chmod -R 755 $PKG/usr/bin/* if [ -d $PKG/usr/share ] then chown -R root:root $PKG/usr/share chmod -R 755 $PKG/usr/share/* find $PKG/usr/share -type f -exec chmod 644 {} \; fi # Copy Slackware package files mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc cp $CWD/qtoctave.SlackBuild $PKG/usr/doc/$NAME-$VERSION/qtoctave.SlackBuild # Create package cd $PKG requiredbuilder -v -y -s $CWD $PKG makepkg -l y -c n $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz echo "Package created in $TMP" # Clean up if [ "$1" = "--cleanup" ]; then rm -rf $TMP/$NAME-$VERSION rm -rf $PKG fi # end! echo "Package creation finished!"