diff options
Diffstat (limited to 'academic/scidavis/scidavis.SlackBuild')
-rw-r--r-- | academic/scidavis/scidavis.SlackBuild | 100 |
1 files changed, 56 insertions, 44 deletions
diff --git a/academic/scidavis/scidavis.SlackBuild b/academic/scidavis/scidavis.SlackBuild index 640c46c562..6ebdd91a51 100644 --- a/academic/scidavis/scidavis.SlackBuild +++ b/academic/scidavis/scidavis.SlackBuild @@ -1,9 +1,9 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for SciDAVis -# Based on the Slackware 14.2 SlackBuild +# Based on the Slackware 15.0 SlackBuild # -# Copyright 2017-2019, Fellype do Nascimento, Campinas - Brazil +# Copyright 2017-2022, Fellype do Nascimento, Guaratingueta - Brazil # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,10 +23,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=scidavis -VERSION=${VERSION:-1.25} -BUILD=${BUILD:-2} +VERSION=${VERSION:-2.9.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -36,20 +39,30 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" - SPEC="" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" - SPEC="" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" - SPEC="-spec linux-g++-64" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi rm -rf $PKG @@ -58,6 +71,18 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION + +rmdir 3rdparty/qwt5-qt5/ +rmdir 3rdparty/qwtplot3d/ +rmdir 3rdparty/liborigin/ + +tar xvf $CWD/qwt5-qt5-f7519200f102676fb04fb7bd0be555e0a419d378.tar.gz -C 3rdparty/ +mv 3rdparty/qwt5-qt5-f7519200f102676fb04fb7bd0be555e0a419d378 3rdparty/qwt5-qt5 +tar xvf $CWD/qwtplot3d-b2655743d30ed3185f3c0e2626b33a1d29655216.tar.gz -C 3rdparty/ +mv 3rdparty/qwtplot3d-b2655743d30ed3185f3c0e2626b33a1d29655216 3rdparty/qwtplot3d +tar xvf $CWD/liborigin-a92f26f28e531f64684b66a2731dd617bea3cb45.tar.gz -C 3rdparty/ +mv 3rdparty/liborigin-a92f26f28e531f64684b66a2731dd617bea3cb45 3rdparty/liborigin + chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -65,54 +90,41 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Correct the manpage path -sed -i -e 's#share/man#man#' scidavis/scidavis.pro - -# Since version 1.23 it is possible to build/use SciDAVis with Python 3 - just use -# PYTHON3=yes before execute scidavis.SlackBuild. Default is to use python 2 (PYTHON3=no). -# *** It does not build using Python 3 in Slackware 14.2 or previous because PyQt was not built with -# Python 3 support. I'm adding this here because I know it will be useful in the future and for the -# tests currently done in -current -if [ "${PYTHON3:-no}" = "yes" ]; then - export PYTHON=python3 -else - export PYTHON=python2 -fi - -# Fix for SF bug https://sourceforge.net/p/scidavis/scidavis-bugs/377/ -patch -p1 < $CWD/fix-sf377-all-colors-turn-to-black-after-reload-of-project.patch libscidavis/src/ApplicationWindow.cpp +PYVER=$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])') -# Fix for SF bug https://sourceforge.net/p/scidavis/scidavis-bugs/383/ -patch -p1 < $CWD/fix-sf383-offset-and-spacing-of-bar-graphs.patch libscidavis/src/ApplicationWindow.cpp +# Set the correct python paths - code based on scidavis.spec for Fedora by Alexander Ploumistos +sed -i "s:set(PYTHON_SCRIPTDIR etc:set(PYTHON_SCRIPTDIR lib$LIBDIRSUFFIX/python$PYVER/site-packages/scidavis:" scidavis/CMakeLists.txt +sed -i "s:FILES scidavisrc.py \${CMAKE_CURRENT_BINARY_DIR}/\$<CONFIG>/scidavisrc.pyc DESTINATION:FILES scidavisrc.py DESTINATION:" scidavis/CMakeLists.txt +sed -i "s:FILES scidavisrc.py \${CMAKE_CURRENT_BINARY_DIR}/scidavisrc.pyc DESTINATION:FILES scidavisrc.py DESTINATION:" scidavis/CMakeLists.txt +sed -i "s:FILES scidavisUtil.py DESTINATION share/scidavis:FILES scidavisUtil.py DESTINATION \${PYTHON_SCRIPTDIR}:" scidavis/CMakeLists.txt +sed -i "s:PYTHON_CONFIG_PATH=\"\${CMAKE_INSTALL_PREFIX}/etc\":PYTHON_CONFIG_PATH=\"/usr/lib$LIBDIRSUFFIX/python$PYVER/site-packages/scidavis\":" libscidavis/CMakeLists.txt +sed -i "s:PYTHON_UTIL_PATH=\"\${CMAKE_INSTALL_PREFIX}/share/scidavis\":PYTHON_UTIL_PATH=\"/usr/lib$LIBDIRSUFFIX/python$PYVER/site-packages/scidavis\":" libscidavis/CMakeLists.txt -# Fix for SF bug https://sourceforge.net/p/scidavis/scidavis-bugs/385/ -patch -p1 < $CWD/fix-sf385-crash-using-data-range-selector.patch libscidavis/src/RangeSelectorTool.cpp +export PYTHON=python3 -## For some unknown reason, to build in Slackware we need to run qmake twice in order to get the app icons working properly -## See https://sourceforge.net/p/scidavis/scidavis-bugs/259/ -qmake -qmake \ - CONFIG+="liborigin python" \ - PRESET=linux_package \ - QMAKE_CFLAGS+="$SLKCFLAGS" \ - QMAKE_CXXFLAGS+="$SLKCFLAGS" \ - $SPEC +mkdir build && cd build +cmake .. -DSEARCH_FOR_UPDATES=OFF \ + -DDOWNLOAD_LINKS=OFF \ + -DORIGIN_IMPORT=ON \ + -DSCRIPTING_PYTHON=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + .. make -make install INSTALL_ROOT=$PKG +make install DESTDIR=$PKG find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -## Sometimes 'make install' fails to install the translation files -mkdir -p $PKG/usr/share/scidavis/translations -install -m 0644 scidavis/translations/*.qm $PKG/usr/share/scidavis/translations +# Move manpage to a more appropriated dir +mkdir -p $PKG/usr/man/man1/ +mv $PKG/usr/share/man/man1/scidavis.1 $PKG/usr/man/man1/scidavis.1 +rm -rf $PKG/usr/share/man/ 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 mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a README.md LICENSE $PKG/usr/doc/$PRGNAM-$VERSION cp -a $PKG/usr/share/doc/scidavis/*.* $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild rm -rf $PKG/usr/share/doc @@ -122,4 +134,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |