1
+ # must use ubuntu:22.04 for qt 5.15
2
+ FROM --platform=linux/aarch64 ubuntu:22.04
3
+
4
+ ENV DEBIAN_FRONTEND=noninteractive
5
+
6
+ ARG USERNAME=pymeshlab
7
+ ARG USER_UID=1000
8
+ ARG USER_GID=$USER_UID
9
+
10
+ ARG PYTHON_VERSION=3.11
11
+
12
+ ENV LD_LIBRARY_PATH=/workspaces/pymeshlab/pymeshlab/lib/
13
+
14
+ RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
15
+ build-essential \
16
+ fontconfig \
17
+ fuse \
18
+ gdb \
19
+ git \
20
+ kmod \
21
+ libboost-dev \
22
+ libdbus-1-3 \
23
+ libegl-dev \
24
+ libfuse2 \
25
+ libgmp-dev \
26
+ libglu1-mesa-dev \
27
+ libmpfr-dev \
28
+ libpulse-mainloop-glib0 \
29
+ libtbb-dev \
30
+ libxerces-c-dev \
31
+ patchelf \
32
+ qtbase5-dev \
33
+ qt5-qmake \
34
+ rsync \
35
+ # to be removed
36
+ unzip \
37
+ wget
38
+
39
+ # install python
40
+ RUN apt-get -y install software-properties-common && \
41
+ add-apt-repository ppa:deadsnakes/ppa -y && apt-get -y update && \
42
+ apt-get -y install python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-distutils && \
43
+ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && \
44
+ wget https://bootstrap.pypa.io/get-pip.py && \
45
+ python${PYTHON_VERSION} get-pip.py && \
46
+ rm get-pip.py && \
47
+ pip install numpy
48
+
49
+ # install latest cmake and embree
50
+ RUN apt-get -y purge --auto-remove cmake && \
51
+ wget -qO- "https://cmake.org/files/v3.19/cmake-3.19.3-Linux-aarch64.tar.gz" \
52
+ | tar --strip-components=1 -xz -C /usr/local &&\
53
+ # wget -qO- "https://github.com/embree/embree/releases/download/v4.3.2/embree-4.3.2.x86_64.linux.tar.gz" \
54
+ # | tar -xz -C /usr/local && \
55
+ # bash /usr/local/embree-vars.sh && \
56
+ wget -q "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip" && \
57
+ unzip -o ninja-linux-aarch64.zip -d /usr/bin/ && \
58
+ rm ninja-linux-aarch64.zip && \
59
+ chmod +x /usr/bin/ninja && \
60
+ apt-get -y remove wget unzip && \
61
+ apt-get -y autoremove && \
62
+ apt-get -y clean && \
63
+ rm -rf /var/lib/apt/lists/*
64
+
65
+ # Generating a universally unique ID for the Container
66
+ RUN dbus-uuidgen > /etc/machine-id
67
+
68
+ # Create the user
69
+ RUN groupadd --gid $USER_GID $USERNAME \
70
+ && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
71
+ # [Optional] Add sudo support.
72
+ && apt-get update \
73
+ && apt-get install -y sudo \
74
+ && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
75
+ && chmod 0440 /etc/sudoers.d/$USERNAME
76
+
77
+ USER $USERNAME
0 commit comments