linphone-desktop/docker-files/bc-dev-debian9-appimage
Julien Wadel ea7c02a335 Update docker file to use Maintenance Tool from Qt.
Remove the fuse mandatory for CI.
Update CI to use Qt custom version and update application to Qt 5.15.12.
2023-05-22 10:37:04 +02:00

60 lines
3.1 KiB
Text

FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian9:20230302_newer_clang_cpp17
ARG QT_EMAIL
ARG QT_PASSWORD
ARG QT_VERSION=5.15.2
ARG QT_VERSION_MODULE=qt.qt5.51512
ARG QT_MODULES=qtwebengine qtnetworkauth
MAINTAINER Peio Rigaux <peio.rigaux@belledonne-communications.com>
#Tools for QT buid script
RUN sudo apt-get update && sudo apt-get install -y pigz
#QT Dependencies
#atspi and dbus may be used to enable qt accessibility for screan reader
#xkbcommon is needed for special keyboard features
#flite1-dev, libspeechd-dev speech-dispatcher are needed for text to speech
#libfontconfig1-dev is needed to load correct fonts (support of ideograms, etc..)
#libgstreamer-plugins-base1.0 multimedia module (video playback)
#needed for xcb : libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxkbcommon-x11-dev
RUN sudo apt-get update && sudo apt-get install -y libxkbcommon* flite1-dev libspeechd-dev speech-dispatcher libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libx11-xcb* libxcb* qdbus-qt5 libqt5dbus5 libdbus-1-dev libdbus-glib-1-dev libatspi2.0-0 libatspi2.0-dev libgstreamer-plugins-base1.0
RUN sudo apt-get update && sudo apt-get install -y libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev
#needed fot qt to find dbus
ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
#Appimage deps
RUN sudo apt-get install -y wget fuse libfuse2 gnupg2
#Update certificates
RUN sudo sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf
RUN sudo update-ca-certificates -f
########### QT
# Add Qt and download
#Maintenance tools
#ADD https://download.qt.io/development_releases/online_installers/4.4/qt-unified-linux-x64-4.4.0-beta-online.run /home/bc/qt-unified-linux-x64-4.4.0-beta-online.run
#RUN sudo chmod +x /home/bc/qt-unified-linux-x64-4.4.0-beta-online.run
#RUN sudo /home/bc/qt-unified-linux-x64-4.4.0-beta-online.run install $QT_VERSION_MODULE $QT_VERSION_MODULE.qtpdf $QT_VERSION_MODULE.qtwebengine $QT_VERSION_MODULE.qtnetworkauth --email $QT_EMAIL --pw $QT_PASSWORD --accept-licenses --accept-obligations --auto-answer telemetry-question=No,AssociateCommonFiletypes=Yes --confirm-command --no-default-installations
USER bc
WORKDIR /home/bc
# Manual
RUN sudo pip3 install aqtinstall
RUN sudo python3 -m aqt install $QT_VERSION linux desktop -O /opt/Qt -m $QT_MODULES
## QtCore need libxcb-util.so.1 that need xorg-macros that is in xutils-dev
RUN sudo apt-get install -y xutils-dev
RUN git clone --recursive git://anongit.freedesktop.org/git/xcb/util
## The copy is needed because the appimage doesn't get the dependency in /usr/local/lib (why is unknown)
RUN cd util && ./autogen.sh && make && sudo make install && sudo cp /usr/local/lib/libxcb-util.so.1 /opt/Qt/$QT_VERSION/gcc_64/lib/
RUN sudo chown -R bc:bc /opt/Qt/
ENV Qt5_DIR=/opt/Qt/$QT_VERSION/gcc_64/lib/cmake
ENV PATH=/opt/Qt/$QT_VERSION/gcc_64/bin:$PATH
ENV PS1='\[\e[34m\]\u@bc-dev-centos7>\[\e[0m\] '
CMD bash