forked from BelledonneCommunications/linphone-desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbc-dev-debian9-appimage
60 lines (46 loc) · 3.12 KB
/
bc-dev-debian9-appimage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 <[email protected]>
#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