-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.base
More file actions
96 lines (91 loc) · 2.58 KB
/
Dockerfile.base
File metadata and controls
96 lines (91 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Build args
ARG BASE_IMAGE_VERSION=13-slim
ARG CI_DOCKER_VERSION
FROM debian:$BASE_IMAGE_VERSION
LABEL org.opencontainers.image.authors="Seth Parker <c.seth.parker@uky.edu>"
LABEL org.opencontainers.image.title="ci-docker (base)"
LABEL org.opencontainers.image.description="Base system packages"
LABEL org.opencontainers.image.source="https://github.com/educelab/ci-docker"
# Set environment variables
ARG BASE_IMAGE_VERSION
ENV CI_DOCKER_TYPE=base
ARG CI_DOCKER_VERSION
ENV CI_DOCKER_VERSION=$CI_DOCKER_VERSION
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
ENV QT_PLUGIN_PATH=/usr/local/Qt-6.10.0/plugins
# Install apt sources
RUN if [ "${BASE_IMAGE_VERSION}" = "12-slim" ]; then \
echo 'deb http://deb.debian.org/debian bookworm-backports main' > /etc/apt/sources.list.d/backports.list; \
export BACKPORTS_TAG="-t bookworm-backports"; \
fi \
&& apt-get clean && apt-get -y update \
&& apt-get install --fix-missing --fix-broken -y \
build-essential \
curl \
git \
libbz2-dev \
libdbus-1-dev \
libexpat1-dev \
libfontconfig1-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libicu-dev \
libncurses-dev \
libopenblas-dev \
libusb-1.0-0-dev \
'^libxcb.*-dev' \
libx11-dev \
libx11-xcb-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 \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxrender-dev \
libxt-dev \
locales \
ninja-build \
perl \
pkg-config \
python3-dev \
python3-pip \
python3-setuptools \
zlib1g-dev \
&& ln -s /usr/bin/python3 /usr/bin/python \
&& sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen \
&& apt-get ${BACKPORTS_TAG} install -y cmake \
&& apt-get purge && rm -rf /var/lib/apt/lists/*
# Install Qt6
RUN curl -O -L https://download.qt.io/archive/qt/6.10/6.10.0/single/qt-everywhere-src-6.10.0.tar.xz \
&& tar -xf qt-everywhere-src-6.10.0.tar.xz \
&& cd qt-everywhere-src-6.10.0/ \
&& ./configure \
-opensource \
-shared \
-submodules qtbase \
-nomake examples \
-nomake tests \
-bundled-xcb-xinput \
-confirm-license \
&& cmake --build . --parallel \
&& cmake --install . \
&& cd ../ \
&& rm -rf qt-*
# Start an interactive shell
CMD ["sh", "-c", "echo ci-docker $CI_DOCKER_TYPE.$CI_DOCKER_VERSION"]