Files
Anthias/webview/Dockerfile
Önder Görmez b0af583fe6 Fix path
2022-09-18 23:29:44 +03:00

196 lines
4.9 KiB
Docker

FROM --platform=linux/arm/v7 balenalib/raspberrypi3:buster as builder
# There are likely a large number of dependencies that can be stripped out here
# depending on your needs (and probably in general). My primary objective was just
# to make things work.
RUN apt-get update && \
apt-get install -y \
apt-utils \
firebird-dev \
freetds-dev \
gstreamer-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
gstreamer1.0-x \
libasound2-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libbz2-dev \
libcap-dev \
libdbus-1-dev \
libdbus-glib-1-dev \
libdrm-dev \
libegl1-mesa-dev \
libevent-dev \
libfontconfig1-dev \
libfreetype6-dev \
libgbm-dev \
libgcrypt20-dev \
libgles2-mesa-dev \
libglib2.0-dev \
libgst-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
libicu-dev \
libinput-dev \
libiodbc2-dev \
libjpeg62-turbo-dev \
libjsoncpp-dev \
libminizip-dev \
libnss3-dev \
libopus-dev \
libpci-dev \
libpng-dev \
libpng16-16 \
libpq-dev \
libpulse-dev \
libraspberrypi-bin \
libraspberrypi0 \
librsvg2-common \
libsnappy-dev \
libsqlite0-dev \
libsqlite3-dev \
libsrtp0-dev \
libsrtp2-dev \
libssl-dev \
libssl1.1 \
libswscale-dev \
libsystemd-dev \
libts-dev \
libudev-dev \
libvpx-dev \
libwayland-dev \
libwebp-dev \
libx11-dev \
libx11-xcb-dev \
libx11-xcb1 \
libxcb-glx0-dev \
libxcb-icccm4 \
libxcb-icccm4-dev \
libxcb-image0 \
libxcb-image0-dev \
libxcb-keysyms1 \
libxcb-keysyms1-dev \
libxcb-randr0-dev \
libxcb-render-util0 \
libxcb-render-util0-dev \
libxcb-shape0-dev \
libxcb-shm0 \
libxcb-shm0-dev \
libxcb-sync-dev \
libxcb-sync1 \
libxcb-xfixes0-dev \
libxcb-xinerama0 \
libxcb-xinerama0-dev \
libxcb1 \
libxcb1-dev \
libxext-dev \
libxi-dev \
libxkbcommon-dev \
libxrender-dev \
libxslt1-dev \
libxss-dev \
libxtst-dev \
nodejs \
ruby \
va-driver-all \
wget
# Really make sure we don't have this package installed
# as it will break the build of QTWebEngine
# https://www.enricozini.org/blog/2020/qt5/build-qt5-cross-builder-with-raspbian-sysroot-compiling-with-the-sysroot-continued/
RUN dpkg --purge libraspberrypi-dev
FROM debian:buster
# This list can most likely be slimmed down *a lot* but that's for another day.
RUN apt-get update && \
apt-get -y install \
bison \
build-essential \
ccache \
cowsay \
flex \
freetds-dev \
g++ \
g++-multilib \
gcc-multilib \
git \
gperf \
gyp \
lib32z1-dev \
libasound2 \
libasound2-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libbz2-dev \
libcap-dev \
libdbus-1-dev \
libdbus-glib-1-dev \
libdrm-dev \
libegl1-mesa-dev \
libevent-dev \
libfontconfig1 \
libfontconfig1-dev \
libfreetype6 \
libgbm-dev \
libgcrypt20-dev \
libgles2-mesa-dev \
libinput-dev \
libjpeg62-turbo-dev \
libjsoncpp-dev \
libminizip-dev \
libnss3 \
libnss3-dev \
libopus-dev \
libpci-dev \
libpng16-16 \
libpulse-dev \
libsecret-1-0 \
libsnappy-dev \
libsrtp2-dev \
libssl-dev \
libssl1.1 \
libtiff5 \
libts-dev \
libudev-dev \
libvpx-dev \
libwebp-dev \
libxss-dev \
libxss1 \
libxtst-dev \
lsb-release \
ninja-build \
nodejs \
python \
rsync \
ruby \
subversion \
wget \
make && \
apt-get clean
WORKDIR /build
RUN wget -q https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py \
-O /usr/local/bin/sysroot-relativelinks.py && \
chmod +x /usr/local/bin/sysroot-relativelinks.py
RUN mkdir -p /sysroot/usr /sysroot/opt /sysroot/lib
COPY --from=builder /lib/ /sysroot/lib/
COPY --from=builder /usr/include/ /sysroot/usr/include/
COPY --from=builder /usr/lib/ /sysroot/usr/lib/
COPY --from=builder /opt/vc/ /sysroot/opt/vc/
ENV BUILD_WEBVIEW 1
ENV CCACHE_MAXSIZE 10G
ENV CCACHE_DIR /src/ccache
ARG GIT_HASH=0
ENV GIT_HASH=$GIT_HASH
COPY build_qt5.sh /usr/local/bin/
CMD /usr/local/bin/build_qt5.sh