diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2017-11-09 12:38:04 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-11-09 16:21:46 -0800 |
commit | b425d5641d77e934d74b29a4e1abf2a83922fb93 (patch) | |
tree | 366f7adb8835eb3759a72ba3f6e9a37c732044df /scripts/linux | |
parent | 38b2fea30fe09de061fa0090dda4d6b2e57ca603 (diff) | |
download | subsurface-b425d5641d77e934d74b29a4e1abf2a83922fb93.tar.gz |
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>
Diffstat (limited to 'scripts/linux')
-rw-r--r-- | scripts/linux/before_install.sh | 21 | ||||
-rw-r--r-- | scripts/linux/travisbuild.sh | 23 |
2 files changed, 17 insertions, 27 deletions
diff --git a/scripts/linux/before_install.sh b/scripts/linux/before_install.sh index 95c8527c8..593e1c128 100644 --- a/scripts/linux/before_install.sh +++ b/scripts/linux/before_install.sh @@ -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 diff --git a/scripts/linux/travisbuild.sh b/scripts/linux/travisbuild.sh index 7303897ff..d764d625e 100644 --- a/scripts/linux/travisbuild.sh +++ b/scripts/linux/travisbuild.sh @@ -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 |