diff options
Diffstat (limited to 'academic/QtiPlot/QtiPlot.SlackBuild')
-rwxr-xr-x[-rw-r--r--] | academic/QtiPlot/QtiPlot.SlackBuild | 108 |
1 files changed, 70 insertions, 38 deletions
diff --git a/academic/QtiPlot/QtiPlot.SlackBuild b/academic/QtiPlot/QtiPlot.SlackBuild index 1a331d82381f3..8436f71e7a2b0 100644..100755 --- a/academic/QtiPlot/QtiPlot.SlackBuild +++ b/academic/QtiPlot/QtiPlot.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for QtiPlot -# Copyright 2011 Petar Petrov, ppetrov@paju.oulu.fi +# Copyright 2011-2012 Petar Petrov, ppetrov@paju.oulu.fi # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,11 +24,14 @@ PRGNAM=QtiPlot VERSION=${VERSION:-0.9.8.9} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} SRCNAM=$(echo $PRGNAM | tr A-Z a-z) +QTEXENGINE=QTeXEngine-0.3-opensource +UNOFPLUGIN=importOPJ-20111106 + if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) export ARCH=i486 ;; @@ -56,49 +59,50 @@ else LIBDIRSUFFIX="" fi +# Define these here, as numbers change between Slackware releases. The +# folder names are used for some documentation path fixes, needed to +# generate the html manual later on. +DOCBOOK=dsssl-stylesheets-1.79 +CHUNK=xsl-stylesheets-1.76.1 +DOCBOOKX=xml-dtd-4.5 + set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $SRCNAM-$VERSION +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +cd $PRGNAM-$VERSION tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2 -cd $TMP/$SRCNAM-$VERSION +unzip $CWD/$QTEXENGINE.zip +tar xvf $CWD/$UNOFPLUGIN.tar.gz chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; - -# Build QtiPlot's qwt -cd $TMP/$SRCNAM-$VERSION/3rdparty/qwt -qmake -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -make -# Build QtiPlot's qwtplot3d -cd $TMP/$SRCNAM-$VERSION/3rdparty/qwtplot3d -qmake -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -make - -# Build QTeXEngine -cd $TMP/$SRCNAM-$VERSION/3rdparty -unzip $CWD/QTeXEngine-0.3-opensource.zip -cd QTeXEngine -qmake -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -make +# Copy QTeXEngine and importOPJ to their locations to be built later +cp -a QTeXEngine $SRCNAM-$VERSION/3rdparty +cp -a $UNOFPLUGIN/qtiplot/src/plugins $SRCNAM-$VERSION/qtiplot/src +cp -a $UNOFPLUGIN/qtiplot/importOPJ.pro $SRCNAM-$VERSION/qtiplot +cd $SRCNAM-$VERSION # Use the custom build.conf -cd $TMP/$SRCNAM-$VERSION cp $CWD/build.conf.slack build.conf -# A few path fixes to qtiplot.pro +# Make qtiplot.pro aware of the unofficial importOPJ plugin. Thanks to +# the author of the plugin, Stephan Zevenhuizen. For more info visit +# this site: http://www.staff.science.uu.nl/~zeven101/qtiplot.html +patch -p1 -i $CWD/importOPJ.patch +sed -i "143 a Q_IMPORT_PLUGIN(FreeSoftwareQtiPlotImportOPJ);" qtiplot/src/core/main.cpp + +# Fix qwtplot3d +sed -i "10 a #include <GL/glu.h>" 3rdparty/qwtplot3d/include/qwt3d_openglhelper.h + +# Make a few path fixes to qtiplot.pro sed -i "s:/usr/local:/usr/share:" qtiplot/qtiplot.pro sed -i "s:/share/man:/man:" qtiplot/qtiplot.pro sed -i "s:/share/doc/qtiplot:/doc/$PRGNAM-$VERSION:" qtiplot/qtiplot.pro @@ -112,18 +116,46 @@ sed -i "s:/usr/bin/java:/usr/lib${LIBDIRSUFFIX}/java/bin/java:" qtiplot/src/core sed -i "s:/index.html:/html/index.html:" qtiplot/src/core/ApplicationWindow.cpp sed -i "s:/local/qtiplot/fitPlugins:/lib${LIBDIRSUFFIX}/qtiplot/plugins:" qtiplot/src/core/ApplicationWindow.cpp -# A few path fixes, needed to generate the html manual -sed -i "s:/stylesheet/dsssl/modular:/dsssl-stylesheets-1.79:" manual/qtiplot.dsl -sed -i "s:/stylesheet/nwalsh:/xsl-stylesheets-1.75.2:" manual/qtiplot_html.xsl -sed -i "s:/schema/dtd/4.4:/xml-dtd-4.5:" manual/docbook-en/index.docbook +# Path fixes, needed to generate the html manual +sed -i "s:stylesheet/dsssl/modular:${DOCBOOK}:" manual/qtiplot.dsl +sed -i "s:stylesheet/nwalsh:${CHUNK}:" manual/qtiplot_html.xsl +sed -i "s:schema/dtd/4.4:${DOCBOOKX}:" manual/docbook-en/index.docbook + +# Build QtiPlot's qwt +cd 3rdparty/qwt +qmake +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +make + +# Build QtiPlot's qwtplot3d +cd ../qwtplot3d +qmake +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +make + +# Build QTeXEngine +cd ../QTeXEngine +qmake +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +make + +# Build importOPJ +cd ../../qtiplot +qmake importOPJ.pro +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +make # Make the html manual. If you want to generate the handbook as a PDF, -# change "web" to "en" below and make sure you have installed dblatex -cd $TMP/$SRCNAM-$VERSION/manual +# change "web" to "en" below and make sure you have installed dblatex. +cd ../manual make web # Build QtiPlot -cd $TMP/$SRCNAM-$VERSION/qtiplot +cd ../qtiplot qmake qtiplot.pro CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -140,7 +172,7 @@ mkdir -p $PKG/usr/share/qtiplot/python-examples cp examples/python/* $PKG/usr/share/qtiplot/python-examples # Build fitPlugins -cd $TMP/$SRCNAM-$VERSION/fitPlugins +cd ../fitPlugins qmake CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -154,9 +186,9 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -# Menu item, icon and mime types. The .xml is from Arch. Thank you! +# Menu item, icon and mime types. The .xml is from Arch mkdir -p $PKG/usr/share/{pixmaps,applications,mime/packages} -cp $CWD/qtiplot.png $PKG/usr/share/pixmaps +cp qtiplot_logo.png $PKG/usr/share/pixmaps/qtiplot.png cp $CWD/qtiplot.desktop $PKG/usr/share/applications cp $CWD/qtiplot.xml $PKG/usr/share/mime/packages |