mirror of
https://github.com/python-LimeReport/containers.git
synced 2024-12-24 00:33:05 +03:00
155 lines
3.8 KiB
Docker
155 lines
3.8 KiB
Docker
FROM ubuntu:20.04 as env
|
|
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
zlib1g-dev \
|
|
libncurses5-dev \
|
|
libgdbm-dev \
|
|
libnss3-dev \
|
|
libssl-dev \
|
|
libreadline-dev \
|
|
libffi-dev \
|
|
curl \
|
|
software-properties-common \
|
|
git \
|
|
liblzma-dev \
|
|
libbz2-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ARG PYTHON_VERSION=3.9
|
|
COPY ./scripts/install_python.sh /
|
|
RUN /install_python.sh && rm -f /install_python.sh
|
|
|
|
ARG AQTINSTALL_VERSION=3.1.15
|
|
RUN python3 -m pip install aqtinstall==${AQTINSTALL_VERSION}
|
|
|
|
ENV PATH=/root/.local/bin:$PATH
|
|
|
|
ARG QT_VERSION=6.4.2
|
|
ENV QT_VERSION=${QT_VERSION}
|
|
|
|
COPY ./scripts/install_qt.sh ./aqt.cfg /
|
|
RUN aqt -c /aqt.cfg install-src --outputdir /opt/Qt-src linux ${QT_VERSION}
|
|
COPY ./qt-patches/ /qt-patches
|
|
RUN cd /opt/Qt-src/${QT_VERSION}/Src && /qt-patches/apply-patches.sh
|
|
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
cmake \
|
|
ninja-build \
|
|
git \
|
|
perl \
|
|
libclang-dev \
|
|
libfontconfig1-dev \
|
|
libdbus-1-dev \
|
|
libfreetype6-dev \
|
|
libicu-dev \
|
|
libinput-dev \
|
|
libxkbcommon-dev \
|
|
libxkbcommon-x11-dev \
|
|
libsqlite3-dev \
|
|
libssl-dev \
|
|
libpng-dev \
|
|
libjpeg-dev \
|
|
libglib2.0-dev \
|
|
libpulse-dev \
|
|
libasound2-dev \
|
|
libegl1-mesa-dev \
|
|
libxcb1-dev \
|
|
libx11-dev \
|
|
libx11-xcb-dev \
|
|
libxext-dev \
|
|
libxfixes-dev \
|
|
libxi-dev \
|
|
libxrender-dev \
|
|
libxcb-cursor-dev \
|
|
libxcb-glx0-dev \
|
|
libxcb-keysyms1-dev \
|
|
libxcb-image0-dev \
|
|
libxcb-shm0-dev \
|
|
libxcb-icccm4-dev \
|
|
libxcb-sync-dev \
|
|
libxcb-xfixes0-dev \
|
|
libxcb-shape0-dev \
|
|
libxcb-randr0-dev \
|
|
libxcb-render-util0-dev \
|
|
libxcb-util-dev \
|
|
libxcb-xinerama0-dev \
|
|
libxcb-xkb-dev \
|
|
libdrm-dev \
|
|
libwayland-dev \
|
|
libxcomposite-dev \
|
|
libxcursor-dev \
|
|
libxdamage-dev \
|
|
libxrandr-dev \
|
|
libxtst-dev \
|
|
libxss-dev \
|
|
libglu1-mesa-dev \
|
|
mesa-common-dev \
|
|
libgl1-mesa-dev \
|
|
libgles2-mesa-dev \
|
|
libgl1-mesa-dri \
|
|
libgl-dev \
|
|
libegl-dev \
|
|
p7zip-full \
|
|
libgstreamer1.0-dev \
|
|
libgstreamer-plugins-base1.0-dev \
|
|
libgstreamer-plugins-good1.0-dev \
|
|
libgstreamer-plugins-bad1.0-dev \
|
|
libavcodec-dev \
|
|
libavformat-dev \
|
|
libavdevice-dev \
|
|
libavutil-dev \
|
|
libavfilter-dev \
|
|
libswscale-dev \
|
|
libpostproc-dev \
|
|
libswresample-dev \
|
|
libva-dev \
|
|
libva-drm2 \
|
|
zstd \
|
|
libpcre2-dev \
|
|
libdouble-conversion-dev \
|
|
libsystemd-dev \
|
|
libbrotli-dev \
|
|
libproxy-dev \
|
|
libgssapi-krb5-2 \
|
|
libatspi2.0-dev \
|
|
libgbm-dev \
|
|
libharfbuzz-dev \
|
|
libmd4c-dev \
|
|
libxcb1-dev \
|
|
libgtk-3-dev \
|
|
libcups2-dev \
|
|
default-libmysqlclient-dev \
|
|
libpq-dev \
|
|
libodbc1 \
|
|
firebird-dev \
|
|
lttng-tools \
|
|
libassimp-dev \
|
|
libvulkan-dev \
|
|
libpcsclite-dev \
|
|
libhunspell-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN mkdir -p /opt/Qt/${QT_VERSION} \
|
|
&& cd /opt/Qt-src/${QT_VERSION}/Src \
|
|
&& ./configure -release -opensource -confirm-license -skip qtwebengine -prefix /opt/Qt/${QT_VERSION} \
|
|
&& make -j$(nproc)
|
|
|
|
RUN cmake --build . --parallel $(nproc) || exit 1
|
|
RUN cmake --install . || exit 1
|
|
|
|
# TODO
|
|
# 1. fixes "test -x /opt/python/cp39-cp39/bin/python"
|
|
# 2. fixes UTILITY_PYTHON = "/opt/python/cp38-cp38/bin/python"
|
|
RUN mkdir /opt/python \
|
|
&& ln -s /usr/local /opt/python/cp39-cp39 \
|
|
&& ln -s /usr/local /opt/python/cp38-cp38 \
|
|
&& ln -s /usr/local/bin/python3 /usr/local/bin/python \
|
|
&& ln -s /usr/local/bin/pip3 /usr/local/bin/pip
|
|
|
|
ENV PATH="/opt/Qt/${QT_VERSION}/bin:$PATH"
|
|
ENV LD_LIBRARY_PATH="/opt/Qt/${QT_VERSION}/lib"
|
|
ENV PYTHON_VERSION=${PYTHON_VERSION} |