diff --git a/static/Dockerfile b/static/Dockerfile index 20b2c5a..6818b85 100644 --- a/static/Dockerfile +++ b/static/Dockerfile @@ -1,14 +1,38 @@ +FROM ubuntu:22.04 +RUN \ + export DEBIAN_FRONTEND=noninteractive && \ + apt -y update && \ + apt -y upgrade && \ + apt -y install \ + build-essential cmake freeglut3-dev gdb git iputils-ping libgl1-mesa-dev \ + libglu1-mesa-dev libjpeg-dev libmysqlclient-dev libnss3-dev libopus-dev \ + libpng-dev libsqlite3-dev libssl-dev libx11-xcb-dev libxcb-xinerama0-dev \ + libxcb-xkb-dev libxcb1-dev libxcursor-dev libxi-dev libxml2-dev libxrender-dev \ + libxslt-dev lzip mesa-common-dev nano perl python valgrind wget zlib1g-dev \ + '^libxcb.*-dev' libxkbcommon-dev libxkbcommon-x11-dev libgl-dev && \ + apt -y autoremove && \ + apt -y autoclean && \ + apt -y clean && \ + rm -rf /var/lib/apt/lists/* && \ + exit 0 -FROM debian:11 -RUN apt update && apt install -y build-essential libgl1-mesa-dev git cmake libmariadb-dev -RUN git clone https://code.qt.io/qt/qt5.git /root/qt6 -WORKDIR /root/qt6 -RUN git checkout 6.4.1 -RUN perl init-repository --module-subset=qtbase,qtpositioning,qthttpserver -RUN mkdir /root/qt6-build && cd /root/qt6-build && /root/qt6/configure -no-opengl -no-gui -static -WORKDIR /root/qt6-build -RUN cmake --build . --parallel 2 -RUN cmake --install . -ENV QTVERSION=6.4.1 -WORKDIR /usr/local/Qt-${QTVERSION}/bin -RUN rm -rf /root/* \ No newline at end of file +RUN \ + set -eux && \ + cd /opt && \ + wget -q https://download.qt.io/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz && \ + tar xf qt-everywhere-src-6.4.1.tar.xz && \ + rm qt-everywhere-src-6.4.1.tar.xz && \ + exit 0 + +RUN \ + cd /opt/qt-everywhere-src-6.4.1 && \ + ./configure -opensource -confirm-license -release -static -nomake tests -nomake examples -skip qtwebengine \ + -no-gui -qt-zlib -qt-libjpeg -qt-libpng -xcb -qt-freetype -qt-pcre -qt-harfbuzz && \ + make -j $(($(nproc)+4)) && \ + make install && \ + cd /opt && \ + rm -rf qt-everywhere-src-6.4.1 && \ + exit 0 + +ENV PATH="${PATH}:/usr/local/Qt-6.4.1/bin" +ENTRYPOINT ["/bin/bash"] \ No newline at end of file