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 FROM quay.io/pypa/manylinux_2_28_${BUILD_TARGET} as env
ARG QT_VERSION=6.4.2
RUN yum -y update \ RUN yum -y update \
&& yum -y groupinstall 'Development Tools' \ && yum -y groupinstall 'Development Tools' \
@ -16,12 +15,18 @@ RUN yum -y update \
llvm \ llvm \
llvm-devel \ llvm-devel \
mesa-libGL-devel \ mesa-libGL-devel \
&& dnf --enablerepo=powertools -y install ninja-build \ pulseaudio-libs-glib2 \
libxkbcommon \
&& yum clean all \ && yum clean all \
&& rm -rf /var/cache/yum && rm -rf /var/cache/yum
RUN pipx install aqtinstall==${AQTINSTALL_VERSION} \ ARG AQTINSTALL_VERSION=3.1.6
&& aqt install-qt --outputdir /opt/Qt linux desktop ${QT_VERSION} 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} ENV QT_VERSION=${QT_VERSION}

View File

@ -1,9 +1,5 @@
FROM ubuntu:20.04 as env 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 && \ RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \ build-essential \
@ -17,20 +13,34 @@ RUN apt-get update && \
curl \ curl \
software-properties-common \ software-properties-common \
git \ git \
liblzma-dev \
libbz2-dev \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
ARG PYTHON_VERSION=3.9
COPY ./scripts/install_python.sh / COPY ./scripts/install_python.sh /
RUN /install_python.sh && rm -f /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 ARG AQTINSTALL_VERSION=3.1.12
RUN pipx install aqtinstall==${AQTINSTALL_VERSION} RUN python3 -m pip install aqtinstall==${AQTINSTALL_VERSION}
ENV PATH=/root/.local/bin:$PATH 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 RUN /install_qt.sh && rm -f /install_qt.sh
ENV PATH="/opt/Qt/${QT_VERSION}/gcc_64/bin:$PATH" # TODO
ENV LD_LIBRARY_PATH="/opt/Qt/${QT_VERSION}/gcc_64/lib" # 1. fixes "test -x /opt/python/cp39-cp39/bin/python"
ENV QT_VERSION=${QT_VERSION} # 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} ENV PYTHON_VERSION=${PYTHON_VERSION}

View File

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

@ -5,12 +5,21 @@ source "$HOME/.bashrc"
# check is x86 # check is x86
if [[ "$(uname -m)" == "x86_64" ]]; then if [[ "$(uname -m)" == "x86_64" ]]; then
apt-get update && \ apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
p7zip-full \ p7zip-full \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
aqt install-qt --outputdir /opt/Qt linux desktop ${QT_VERSION} 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 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 && \ apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \ build-essential \
@ -110,12 +119,12 @@ else
libhunspell-dev \ libhunspell-dev \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
aqt install-src --outputdir /opt/Qt linux desktop ${QT_VERSION} mkdir -p /opt/Qt/${QT_VERSION}
cd /opt/Qt-src/${QT_VERSION}/Src
cd /opt/Qt/${QT_VERSION}/Src ./configure -release -opensource -confirm-license -skip qtwebengine -prefix /opt/Qt/${QT_VERSION}
./configure -release -opensource -confirm-license -skip qtwebengine make -j$(nproc)
cmake --build . --parallel $(nproc) cmake --build . --parallel $(nproc) || exit 1
cmake --install . cmake --install . || exit 1
rm -rf /opt/Qt-src
fi fi
# else if arm build from sources