Install Qt 5.8 inside Docker container

This commit is contained in:
Janek Bevendorff 2017-02-06 19:52:21 +01:00
parent e31638d3dd
commit f7e9f85668
No known key found for this signature in database
GPG Key ID: CFEC2F6850BFFA53
2 changed files with 31 additions and 7 deletions

View File

@ -39,19 +39,27 @@ mkdir -p $APP.AppDir
wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh
LIB_DIR=./usr/lib
if [ -d ./usr/lib/x86_64-linux-gnu ]; then
LIB_DIR=./usr/lib/x86_64-linux-gnu
fi
cd $APP.AppDir
cp -a ../../bin-release/* .
cp -a ./usr/local/* ./usr
rm -R ./usr/local
rmdir ./opt 2> /dev/null
patch_strings_in_file /usr/local ././
patch_strings_in_file /usr ./
# bundle Qt platform plugins and themes
QXCB_PLUGIN="$(find /usr/lib -name 'libqxcb.so' 2> /dev/null)"
if [ "$QXCB_PLUGIN" == "" ]; then
QXCB_PLUGIN="$(find /opt/qt*/plugins -name 'libqxcb.so' 2> /dev/null)"
fi
QT_PLUGIN_PATH="$(dirname $(dirname $QXCB_PLUGIN))"
mkdir -p "./${QT_PLUGIN_PATH}/platforms"
cp "$QXCB_PLUGIN" "./${QT_PLUGIN_PATH}/platforms/"
cp -a "${QT_PLUGIN_PATH}/platformthemes" "./${QT_PLUGIN_PATH}"
mkdir -p ".${QT_PLUGIN_PATH}/platforms"
cp "$QXCB_PLUGIN" ".${QT_PLUGIN_PATH}/platforms/"
get_apprun
copy_deps
@ -66,6 +74,8 @@ get_icon
cat << EOF > ./usr/bin/keepassxc_env
#!/usr/bin/env bash
#export QT_QPA_PLATFORMTHEME=gtk2
export LD_LIBRARY_PATH="../opt/qt58/lib:\${LD_LIBRARY_PATH}"
export QT_PLUGIN_PATH="..${QT_PLUGIN_PATH}"
exec keepassxc "\$@"
EOF
chmod +x ./usr/bin/keepassxc_env

View File

@ -16,17 +16,23 @@
FROM ubuntu:14.04
RUN set -x \
&& apt-get update \
&& apt-get install --yes software-properties-common
RUN set -x \
&& add-apt-repository --yes ppa:beineri/opt-qt58-trusty
RUN set -x \
&& apt-get update \
&& apt-get install --yes \
g++ \
cmake \
libgcrypt20-dev \
qtbase5-dev \
qttools5-dev \
qttools5-dev-tools \
qt58base \
qt58tools \
qt58x11extras \
libmicrohttpd-dev \
libqt5x11extras5-dev \
libxi-dev \
libxtst-dev \
zlib1g-dev \
@ -34,7 +40,15 @@ RUN set -x \
file \
fuse \
python
RUN set -x \
&& apt-get install --yes mesa-common-dev
VOLUME /keepassxc/src
VOLUME /keepassxc/out
WORKDIR /keepassxc
ENV CMAKE_PREFIX_PATH=/opt/qt58/lib/cmake
ENV LD_LIBRARY_PATH=/opt/qt58/lib
RUN set -x \
&& echo /opt/qt58/lib > /etc/ld.so.conf.d/qt58.conf