summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry Hajali <larryhaja[at]gmail[dot]com>2016-08-22 12:20:23 +0100
committerDavid Spencer <idlemoor@slackbuilds.org>2016-08-28 00:22:59 +0100
commit62e7e99ac9ed2560c8ea614664dc5b9ece29b624 (patch)
treebd7693b0036b13dade489d34cff2f1c39931fbaa
parent01eb0b54657000173c612420cc90c13948b91aa6 (diff)
downloadslackbuilds-62e7e99ac9ed2560c8ea614664dc5b9ece29b624.tar.gz
misc/subsurface: Updated for version 4.5.6.
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
-rw-r--r--misc/subsurface/README7
-rw-r--r--misc/subsurface/subsurface.SlackBuild101
-rw-r--r--misc/subsurface/subsurface.info12
3 files changed, 99 insertions, 21 deletions
diff --git a/misc/subsurface/README b/misc/subsurface/README
index cb9d3618d0..9284110888 100644
--- a/misc/subsurface/README
+++ b/misc/subsurface/README
@@ -8,3 +8,10 @@ With Subsurface the user can track dive locations including GPS coordinates
calculates a wide variety of statistics of the user's diving and calculates and
tracks information like the user's SAC rate, partial pressures of O2, N2 and He,
calculated deco information, and many more.
+
+Optional dependencies: libftdi or libftdi1
+
+Note: To build Subsurface with libftdi support pass FTDI="yes" to the slackbuild.
+libftdi will be used if both libftdi and libftdi1 are installed on the system.
+
+ # FTDI="yes" ./subsurface.SlackBuild
diff --git a/misc/subsurface/subsurface.SlackBuild b/misc/subsurface/subsurface.SlackBuild
index d3c07d9312..d660b833df 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 <larryhaja[at]gmail[dot]com>
+# Copyright 2014-2016 Larry Hajali <larryhaja[at]gmail[dot]com>
# 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 <grantlee_templates.h>|#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 \
diff --git a/misc/subsurface/subsurface.info b/misc/subsurface/subsurface.info
index 64da37213b..e438b109c4 100644
--- a/misc/subsurface/subsurface.info
+++ b/misc/subsurface/subsurface.info
@@ -1,10 +1,14 @@
PRGNAM="subsurface"
-VERSION="4.4.2"
+VERSION="4.5.6"
HOMEPAGE="http://subsurface.hohndel.org/"
-DOWNLOAD="http://subsurface.hohndel.org/downloads/Subsurface-4.4.2.tgz"
-MD5SUM="9700199b0aedc1ad9f9ebe3cff0f8733"
+DOWNLOAD="http://subsurface.hohndel.org/downloads/Subsurface-4.5.6.tgz \
+ http://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-4.5.6.tgz \
+ http://subsurface-divelog.org/downloads/marble-subsurface-branch-4.5.6.tgz"
+MD5SUM="2938e9ef0f50279f021f376c2ea5f0b6 \
+ 1453be70136d525c588e6665c8e007af \
+ 0eed12c9853581b5d9ef150c9f453a36"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libdivecomputer libgit2"
+REQUIRES="libgit2 grantlee-qt5 qt5-webkit"
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"