linphone-desktop/docker-files/bc-dev-debian9-appimage
2023-03-16 16:58:09 +01:00

58 lines
3 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..)
#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
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