#!/bin/sh # Heavily based on the Slackware 12.0 SlackBuild # Requirements: Qt4 >= 4.3.0, gsl >= 1.9, Sip >= 4.2, pyQT >= 4.2 # http://scidavis.sourceforge.net/ # http://www.slacky.it NAME=scidavis VERSION=0.1.0 ARCH=${ARCH:-i686} BUILD=1bj CWD=`pwd` TMP=${TMP:-/tmp/tgz} PKG=$TMP/package/scidavis rm -fr $TMP/$NAME'_'$VERSION rm -rf $PKG mkdir -p $PKG SOURCE0=http://easynews.dl.sourceforge.net/sourceforge/$NAME/SciDAVis_$VERSION.tar.bz2 SOURCE1=http://easynews.dl.sourceforge.net/sourceforge/$NAME/SciDAVis_0.1.0_manual_2007-08-05.tar.bz2 SOURCE2=http://dfn.dl.sourceforge.net/sourceforge/qwt/qwt-5.0.2.tar.bz2 SOURCE3=http://dfn.dl.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-0.2.6.tgz SOURCE4=http://easynews.dl.sourceforge.net/sourceforge/muparser/muparser_v128.tar.gz #export CFLAGS="-O2 -march=i486 -mtune=i686" #export CXXFLAGS="$CFLAGS" if [ ! -e SciDAVis_$VERSION.tar.bz2 ]; then wget -c $SOURCE0 fi tar -xjvf $CWD/SciDAVis_$VERSION.tar.bz2 -C $TMP || exit 1 if [ ! -e SciDAVis_0.1.0_manual_2007-08-05.tar.bz2 ]; then wget -c $SOURCE1 fi tar -xvjf $CWD/SciDAVis_0.1.0_manual_2007-08-05.tar.bz2 -C $TMP || exit 1 if [ ! -e qwt-5.0.2.tar.bz2 ]; then wget -c $SOURCE2 fi tar -xvjf $CWD/qwt-5.0.2.tar.bz2 -C $TMP/$NAME'_'$VERSION/3rdparty || exit 1 if [ ! -e qwtplot3d-0.2.6.tgz ]; then wget -c $SOURCE3 fi tar -xvzf $CWD/qwtplot3d-0.2.6.tgz -C $TMP/$NAME'_'$VERSION/3rdparty || exit 1 if [ ! -e muparser_v128.tar.gz ]; then wget -c $SOURCE4 fi tar -xvzf $CWD/muparser_v128.tar.gz -C $TMP/$NAME'_'$VERSION/3rdparty || exit 1 cd $TMP/$NAME'_'$VERSION zcat $CWD/*.diff.gz | patch -p1 --verbose -b -z .orig || exit 1 chown -R root:root . # build qwt statically (cd 3rdparty ; mv qwt-5.0.2 qwt ; cd qwt echo "CONFIG += staticlib" >> src/src.pro /opt/qt4/bin/qmake -unix -o Makefile qwt.pro && make ) # build qwtplot3d statically (cd 3rdparty/qwtplot3d echo "CONFIG += staticlib" >> qwtplot3d.pro /opt/qt4/bin/qmake -unix -o Makefile qwtplot3d.pro && make ) # build and install scidavis (cd scidavis /opt/qt4/bin/qmake -unix -o Makefile scidavis.pro make && make install INSTALL_ROOT=$PKG || exit 1 mkdir -p $PKG/usr/share/scidavis/translations cp translations/scidavis_*.qm $PKG/usr/share/scidavis/translations ) # mv doc and additional manual to the correct place mv $PKG/usr/share/doc $PKG/usr mv $PKG/usr/doc/$NAME $PKG/usr/doc/$NAME-$VERSION cp -a $TMP/manual $PKG/usr/doc/$NAME-$VERSION (cd $PKG/usr/doc/$NAME-$VERSION/manual find . -type d -name .svn | xargs rm -rf find . -type f | xargs -r chmod 644 find . -type d | xargs -r chmod 755 ) mkdir -p $PKG/usr/share/applications cat > $PKG/usr/share/applications/$NAME.desktop < /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 mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild requiredbuilder -v -y -s $CWD $PKG makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi