mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Travis: use our own Qt binaries for AppImage build
This is no longer based on the upstream Qt binaries but completely on binaries built by ourselves, trying to remove some of the features that we don't need and trying to avoid some of the issues with certain libraries (like different OpenSSL dependencies). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
38b2fea30f
commit
b425d5641d
2 changed files with 17 additions and 27 deletions
|
@ -2,22 +2,15 @@
|
|||
|
||||
# prep things so we can build for Linux
|
||||
# we have a custom built Qt some gives us just what we need, including QtWebKit
|
||||
#
|
||||
# this is built from the latest version as of 2017-11-09 in the 5.9 branch and
|
||||
# therefore calls itself Qt-5.9.3
|
||||
|
||||
export QT_ROOT=$PWD/Qt/5.9.3
|
||||
rm -rf Qt
|
||||
mkdir -p Qt/5.9.1
|
||||
wget http://subsurface-divelog.org/downloads/Qt-5.9.1.tar.xz
|
||||
tar -xJ -C Qt/5.9.1 -f Qt-5.9.1.tar.xz
|
||||
cd Qt/5.9.1
|
||||
|
||||
# this should all be handled in the packaged tar file, for now we hack it here
|
||||
|
||||
ln -s . gcc_64
|
||||
cd ..
|
||||
ln -s 5.9.1/* .
|
||||
cd ..
|
||||
|
||||
# terrifying hack to fix the OpenSSL dependency issue
|
||||
sed -i -e 's|1.0.1e|1.0.0\x00|g' Qt/lib/libQt5Network.so.5
|
||||
mkdir -p $QT_ROOT
|
||||
wget http://subsurface-divelog.org/downloads/Qt-5.9.3-trusty.tar.xz
|
||||
tar -xJ -C $QT_ROOT -f Qt-5.9.3-trusty.tar.xz
|
||||
|
||||
# TestPreferences uses gui calls, so run a xvfb so it has something to talk to
|
||||
export DISPLAY=:99.0
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
# this gets executed by Travis when building an AppImage for Linux
|
||||
# it gets started from inside the subsurface directory
|
||||
|
||||
export QT_ROOT=$PWD/Qt
|
||||
export PATH=$QT_ROOT/5.9.1/bin:$PATH # Make sure correct qmake is found on the $PATH for linuxdeployqt
|
||||
export CMAKE_PREFIX_PATH=$QT_ROOT/5.9.1/lib/cmake
|
||||
export PATH=$QT_ROOT/bin:$PATH # Make sure correct qmake is found on the $PATH for linuxdeployqt
|
||||
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
|
||||
|
||||
# the global build script expects to be called from the directory ABOVE subsurface
|
||||
cd ..
|
||||
bash -e ./subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit # we need to build 'both' and need to build without BT and other variations that we want to exercise
|
||||
cd ..
|
||||
bash -e -x ./subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit # we need to build 'both' and need to build without BT and other variations that we want to exercise
|
||||
|
||||
export QT_PLUGIN_PATH=$QT_ROOT/5.9.1/plugins
|
||||
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/5.9.1/plugins
|
||||
export QT_PLUGIN_PATH=$QT_ROOT/plugins
|
||||
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
|
||||
export QT_DEBUG_PLUGINS=1
|
||||
|
||||
# for debugging: find $QT_ROOT/5.9.1/plugins
|
||||
# for debugging: find $QT_ROOT/plugins
|
||||
|
||||
env CTEST_OUTPUT_ON_FAILURE=1 make -C subsurface/build check
|
||||
|
||||
# set up the appdir
|
||||
mkdir -p appdir/usr/plugins/
|
||||
mv appdir/usr/home/travis/build/*/subsurface/Qt/5.9.1/plugins/* appdir/usr/plugins/
|
||||
mv appdir/usr/home/travis/build/*/subsurface/Qt/*/plugins/* appdir/usr/plugins/
|
||||
mv appdir/usr/lib/grantlee/ appdir/usr/plugins/
|
||||
sudo mv appdir/usr/lib/* /usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
|
||||
rm -rf appdir/usr/home/ appdir/usr/include/ appdir/usr/share/man/ # No need to ship developer and man files as part of the AppImage
|
||||
|
@ -36,9 +36,6 @@ unset LD_LIBRARY_PATH
|
|||
export LD_LIBRARY_PATH=/usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
|
||||
./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -qmldir=./subsurface/map-widget/ -verbose=2
|
||||
|
||||
# hack around the gstreamer plugins - this should be fixed with better Qt package
|
||||
sed -i -e 's|/usr/lib/x86_64-linux-gnu|/usr/lib/x86_64-linux-xxx|g' ./appdir/usr/lib/libgstreamer-1.0.so.0
|
||||
|
||||
# create the AppImage
|
||||
export VERSION=$(cd subsurface/ ; git rev-parse --short HEAD) # linuxdeployqt uses this for naming the file
|
||||
./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage -qmldir=./subsurface/map-widget/ -verbose=2
|
||||
|
|
Loading…
Reference in a new issue