0
0
mirror of https://github.com/python-LimeReport/containers.git synced 2024-12-23 16:23:00 +03:00
This commit is contained in:
Maxim Slipenko 2024-03-21 17:38:21 +03:00
parent 6aff051794
commit 9b356ef67a
7 changed files with 106 additions and 28 deletions

17
aqt.cfg Normal file
View File

@ -0,0 +1,17 @@
[aqt]
baseurl: https://qt-mirror.dannhauer.de/
[requests]
max_retries_on_checksum_error: 1
max_retries_to_retrieve_hash: 1
INSECURE_NOT_FOR_PRODUCTION_ignore_hash: True
[mirrors]
fallbacks:
https://mirrors.ocf.berkeley.edu/qt
https://qt.mirror.constant.com/
https://ftp.acc.umu.se/mirror/qt.io/qtproject/
https://qtproject.mirror.liquidtelecom.com/
https://ftp.jaist.ac.jp/pub/qtproject
http://ftp1.nluug.nl/languages/qt
https://mirrors.dotsrc.org/qtproject

View File

@ -1,7 +1,6 @@
FROM quay.io/pypa/manylinux_2_28_x86_64 as env
ARG BUILD_TARGET=x86_64
ARG AQTINSTALL_VERSION=3.1.6
ARG QT_VERSION=6.4.2
FROM quay.io/pypa/manylinux_2_28_${BUILD_TARGET} as env
RUN yum -y update \
&& yum -y groupinstall 'Development Tools' \
@ -16,12 +15,18 @@ RUN yum -y update \
llvm \
llvm-devel \
mesa-libGL-devel \
&& dnf --enablerepo=powertools -y install ninja-build \
pulseaudio-libs-glib2 \
libxkbcommon \
&& yum clean all \
&& rm -rf /var/cache/yum
RUN pipx install aqtinstall==${AQTINSTALL_VERSION} \
&& aqt install-qt --outputdir /opt/Qt linux desktop ${QT_VERSION}
ARG AQTINSTALL_VERSION=3.1.6
ARG QT_VERSION=6.4.2
ENV PATH="/opt/Qt/${QT_VERSION}/gcc_64/bin:$PATH"
RUN pipx install aqtinstall==${AQTINSTALL_VERSION} \
&& aqt install-qt --outputdir /opt/Qt linux desktop ${QT_VERSION} \
&& find /opt/Qt/${QT_VERSION}/gcc_64 -mindepth 1 -maxdepth 1 ! -name '.' ! -name '..' -exec mv {} /opt/Qt/${QT_VERSION}/ \; \
&& rmdir /opt/Qt/${QT_VERSION}/gcc_64 || true
ENV PATH="/opt/Qt/${QT_VERSION}/bin:$PATH"
ENV QT_VERSION=${QT_VERSION}

View File

@ -1,9 +1,5 @@
FROM ubuntu:20.04 as env
ARG PYTHON_VERSION=3.9
ARG AQTINSTALL_VERSION=3.1.6
ARG QT_VERSION=6.4.2
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
@ -17,20 +13,34 @@ RUN apt-get update && \
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
COPY ./scripts/install_pipx.sh /
RUN /install_pipx.sh && rm -f /install_pipx.sh
RUN pipx install aqtinstall==${AQTINSTALL_VERSION}
ARG AQTINSTALL_VERSION=3.1.12
RUN python3 -m pip install aqtinstall==${AQTINSTALL_VERSION}
ENV PATH=/root/.local/bin:$PATH
COPY ./scripts/install_qt.sh /
ARG QT_VERSION=6.4.2
ENV QT_VERSION=${QT_VERSION}
COPY ./scripts/install_qt.sh ./aqt.cfg /
COPY ./qt-patches/ /qt-patches
RUN /install_qt.sh && rm -f /install_qt.sh
ENV PATH="/opt/Qt/${QT_VERSION}/gcc_64/bin:$PATH"
ENV LD_LIBRARY_PATH="/opt/Qt/${QT_VERSION}/gcc_64/lib"
ENV QT_VERSION=${QT_VERSION}
# 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}

View File

@ -27,9 +27,9 @@ ARG AQTINSTALL_VERSION=3.1.7
RUN pipx 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 /
RUN /install_qt.sh && rm -f /install_qt.sh
ENV PATH="/opt/Qt/${QT_VERSION}/gcc_64/bin:$PATH"
ENV QT_VERSION=${QT_VERSION}
ENV PYTHON_VERSION=${PYTHON_VERSION}

11
qt-patches/apply-patches.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
BASE_FOLDER="/qt-patches"
echo "Qt version: $QT_VERSION"
# if qt verion is 6.5.3 apply fix
if [ "$QT_VERSION" = "6.5.3" ]; then
echo "Apply fix-build-vaappi-version-1.9.0.diff"
patch -p1 < "$BASE_FOLDER/fix-build-vaappi-version-1.9.0.diff"
fi

View File

@ -0,0 +1,26 @@
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp b/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
index ec212f5..58bf4dc 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
@@ -37,7 +37,10 @@
return {};
}
-constexpr size_t symbolsCount = 39
+constexpr size_t symbolsCount = 38
+#if VA_CHECK_VERSION(1, 9, 0)
+ + 1
+#endif
#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
+ 1
#endif
@@ -79,7 +82,9 @@
DEFINE_FUNC(vaCreateBuffer, 7, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaMapBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaUnmapBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
+#if VA_CHECK_VERSION(1, 9, 0)
DEFINE_FUNC(vaSyncBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
+#endif
DEFINE_FUNC(vaDestroyBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaCreateSurfaces, 8, VA_STATUS_ERROR_OPERATION_FAILED);

View File

@ -10,7 +10,16 @@ apt-get update && \
p7zip-full \
&& rm -rf /var/lib/apt/lists/*
aqt install-qt --outputdir /opt/Qt linux desktop ${QT_VERSION}
cd /opt/Qt/${QT_VERSION}
mv gcc_64/* .
mv gcc_64/.* .
rmdir gcc_64
else
aqt -c /aqt.cfg install-src --outputdir /opt/Qt-src linux desktop ${QT_VERSION}
cd /opt/Qt-src/${QT_VERSION}/Src
/qt-patches/apply-patches.sh
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
@ -110,12 +119,12 @@ else
libhunspell-dev \
&& rm -rf /var/lib/apt/lists/*
aqt install-src --outputdir /opt/Qt linux desktop ${QT_VERSION}
cd /opt/Qt/${QT_VERSION}/Src
./configure -release -opensource -confirm-license -skip qtwebengine
cmake --build . --parallel $(nproc)
cmake --install .
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)
cmake --build . --parallel $(nproc) || exit 1
cmake --install . || exit 1
rm -rf /opt/Qt-src
fi
# else if arm build from sources