first commit
This commit is contained in:
69
Dockerfile
Normal file
69
Dockerfile
Normal file
@@ -0,0 +1,69 @@
|
||||
ARG DOCKER_REGISTRY=harbor.avroid.tech
|
||||
|
||||
# https://hub.docker.com/_/ubuntu
|
||||
FROM ${DOCKER_REGISTRY}/devops/base-build-image:1.0
|
||||
LABEL description="Linux image for Tavro build" \
|
||||
tools.qt.version="5.6.3"
|
||||
|
||||
###QT BUILD###
|
||||
ARG NEXUS_URL="https://nexus.avroid.tech"
|
||||
ARG NEXUS_QT_REPO="qt_repo" \
|
||||
VERSION=5.6.3
|
||||
|
||||
COPY * /patches/
|
||||
|
||||
# Install packages for qt and dependencies
|
||||
RUN apt update && \
|
||||
apt install -y \
|
||||
perl \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libjpeg-dev \
|
||||
libopus-dev \
|
||||
libopenh264-dev \
|
||||
libswscale-dev \
|
||||
libssl-dev \
|
||||
libvpx-dev \
|
||||
gperf \
|
||||
libegl1-mesa-dev \
|
||||
libgles2-mesa-dev \
|
||||
libfontconfig1-dev \
|
||||
libfreetype6-dev \
|
||||
libx11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxext-dev \
|
||||
libxfixes-dev \
|
||||
libxi-dev \
|
||||
libxrender-dev \
|
||||
'^libxcb*' \
|
||||
libxkbcommon-dev \
|
||||
libxkbcommon-x11-dev \
|
||||
libgstreamer1.0-dev \
|
||||
libgstreamer-plugins-base1.0-dev \
|
||||
libharfbuzz-dev && \
|
||||
apt clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
#download, configure and build qt
|
||||
RUN wget ${NEXUS_URL}/repository/${NEXUS_QT_REPO}/v${VERSION}/qt-everywhere-opensource-src-${VERSION}.tar.xz && tar -xJf qt-everywhere-opensource-src-${VERSION}.tar.xz && \
|
||||
ln -sf /usr/bin/python3 /usr/bin/python && \
|
||||
cd qt-everywhere* && for file in /patches/*.patch; do patch -p1 < /patches/0001_fixed_build_with_libxi.patch; done && \
|
||||
./configure -release -opensource -confirm-license -nomake tests -nomake examples -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtdoc -skip qtmacextras -skip qtscript -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebview -skip qtwinextras -skip qtserialbus -system-xcb -system-harfbuzz -system-libjpeg -no-openssl && \
|
||||
make -j$(nproc) && make install -j$(nproc) && cd .. && rm -rf qt-everywhere* patches
|
||||
|
||||
# Personalization
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
ARG UID=1000
|
||||
ARG GID=1000
|
||||
ARG USER=jenkins
|
||||
ARG USER_GROUP=jenkins
|
||||
ARG USER_HOME=/home/${USER}
|
||||
|
||||
RUN (groupadd -g ${GID} ${USER_GROUP} || true) && \
|
||||
useradd -d ${USER_HOME} -g ${GID} -u ${UID} --shell /bin/bash ${USER}
|
||||
|
||||
USER ${USER}
|
||||
WORKDIR ${USER_HOME}
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
Reference in New Issue
Block a user