From 62e7e99ac9ed2560c8ea614664dc5b9ece29b624 Mon Sep 17 00:00:00 2001 From: Larry Hajali Date: Mon, 22 Aug 2016 12:20:23 +0100 Subject: misc/subsurface: Updated for version 4.5.6. Signed-off-by: David Spencer --- misc/subsurface/subsurface.SlackBuild | 101 ++++++++++++++++++++++++++++------ 1 file changed, 84 insertions(+), 17 deletions(-) (limited to 'misc/subsurface/subsurface.SlackBuild') diff --git a/misc/subsurface/subsurface.SlackBuild b/misc/subsurface/subsurface.SlackBuild index d3c07d9312081..d660b833df709 100644 --- a/misc/subsurface/subsurface.SlackBuild +++ b/misc/subsurface/subsurface.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for subsurface -# Copyright 2014-2015 Larry Hajali +# Copyright 2014-2016 Larry Hajali # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,13 +24,13 @@ PRGNAM=subsurface SRCNAM=Subsurface -VERSION=${VERSION:-4.4.2} -BUILD=${BUILD:-2} +VERSION=${VERSION:-4.5.6} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -41,8 +41,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -63,6 +63,8 @@ cd $TMP rm -rf $SRCNAM-$VERSION tar xvf $CWD/$SRCNAM-$VERSION.tgz cd $SRCNAM-$VERSION +tar xvf $CWD/libdivecomputer-$PRGNAM-branch-$VERSION.tgz +tar xvf $CWD/marble-$PRGNAM-branch-$VERSION.tgz chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -70,23 +72,88 @@ 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 {} \; -# Fix man page directory. -sed -i '/MANDIR =/s|=.*|= /usr/man/man1|' $PRGNAM-install.pri -# Build with Qt4. -patch -p1 < packaging/ubuntu/0001-Make-build-with-Qt4.patch -# Build with newer libgit2. -patch -Np1 < $CWD/libgit2-0.23.x.patch - -qmake PREFX="/usr" QMAKE_CFLAGS+="$SLKCFLAGS" QMAKE_CXXFLAGS+="$SLKCFLAGS" \ - V=1 -config release -o Makefile $PRGNAM.pro +# Ugly hack to avoid header collision between grantlee and grantlee-qt5. +# https://mail.kde.org/pipermail/release-team/2015-August/008911.html +sed -i 's|#include |#include "grantlee_templates_local.h"|' templatelayout.h +cat /usr/include/Grantlee5/grantlee_templates.h | \ + sed -e 's|grantlee/|Grantlee5/grantlee/|'\ + > grantlee_templates_local.h + +# We already have packages for libdivecomputer and marble on the system. +# Subsurface requires newer (custom) packages then what is currently available, +# so we're going to compile them into the Subsurface package. +# Similar to packaging/ubuntu/debian/rules. +cd libdivecomputer-$PRGNAM-branch-$VERSION +if [ ! -f configure ]; then + autoreconf -ivf +fi +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-static=yes \ + --enable-shared=no \ + --enable-logging=no \ + --disable-silent-rules make -make install INSTALL_ROOT=$PKG +make install DESTDIR="$PWD/.." +cd - + +mkdir -p marble-$PRGNAM-branch-$VERSION/build +cd marble-$PRGNAM-branch-$VERSION/build + cmake -G "Unix Makefiles" \ + -DCMAKE_INSTALL_PREFIX:PATH="/usr" \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DQT5BUILD:BOOL=ON \ + -DQTONLY:BOOL=TRUE \ + -DBUILD_MARBLE_APPS:BOOL=OFF \ + -DBUILD_MARBLE_EXAMPLES:BOOL=OFF \ + -DBUILD_MARBLE_TESTS:BOOL=OFF \ + -DBUILD_MARBLE_TOOLS:BOOL=OFF \ + -DWITH_DESIGNER_PLUGIN:BOOL=OFF \ + -DBUILD_TESTING:BOOL=OFF \ + -DBUILD_WITH_DBUS:BOOL=OFF \ + -DLIB_SUFFIX:STRING="$LIBDIRSUFFIX" \ + -DCMAKE_BUILD_TYPE=Release .. + + make VERBOSE=1 + make -C src/lib/marble install DESTDIR=$PKG +cd - + +# Build subsurface with libftdi support. Default is no. +if [ "${FTDI:-no}" == "yes" ]; then + FTDISUPPORT="ON" +else + FTDISUPPORT="OFF" +fi + +mkdir build +cd build + cmake -G "Unix Makefiles" \ + -DCMAKE_INSTALL_PREFIX:PATH="/usr" \ + -DUSE_LIBGIT23_API:BOOL=ON \ + -DFTDISUPPORT:BOOL="$FTDISUPPORT" \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \ + -DMARBLE_LIBRARIES="$PKG/usr/lib${LIBDIRSUFFIX}/libssrfmarblewidget.so" \ + -DMARBLE_INCLUDE_DIR="$PKG/usr/include" \ + -DLIBDIVECOMPUTER_INCLUDE_DIR="../usr/include" \ + -DLIBDIVECOMPUTER_LIBRARIES="../usr/lib${LIBDIRSUFFIX}/libdivecomputer.a" \ + -DCMAKE_BUILD_TYPE=Release .. + + make VERBOSE=1 + make install DESTDIR=$PKG +cd - 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 -find $PKG/usr/man -type f -exec gzip -9 {} \; +# Remove unneeded files/directories. +rm -rf $PKG/usr/include/marble +find $PKG -type d -empty -delete mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a gpl-2.0.txt INSTALL README SupportedDivecomputers.* TODO.CCR \ -- cgit v1.2.3