Imported Upstream version 1.25.0
[platform/core/ml/nnfw.git] / infra / docker / focal / Dockerfile.aarch64
1 # Copyright (c) 2023 Samsung Electronics Co., Ltd. All Rights Reserved
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 FROM ubuntu:20.04
16
17 ARG UBUNTU_MIRROR
18
19 # Install 'add-apt-repository'
20 RUN apt-get update && apt-get -qqy install software-properties-common
21
22 # Build tool
23 RUN apt-get update && apt-get -qqy install build-essential cmake scons git lcov g++-arm-linux-gnueabihf
24
25 # Debian build tool
26 RUN apt-get update && apt-get -qqy install fakeroot devscripts debhelper python3-all dh-python
27
28 # Install extra dependencies (Caffe, nnkit)
29 RUN apt-get update && apt-get -qqy install libboost-all-dev libgflags-dev libgoogle-glog-dev libatlas-base-dev libhdf5-dev
30
31 # Install protocol buffer
32 RUN apt-get update && apt-get -qqy install libprotobuf-dev protobuf-compiler
33
34 # Additonal tools
35 RUN apt-get update && \
36     DEBIAN_FRONTEND=noninteractive \
37     apt-get -qqy install doxygen graphviz wget zip unzip clang-format-8 python3 python3-pip python3-venv python3-dev hdf5-tools pylint curl
38 RUN python3 -m pip install --upgrade pip
39 RUN python3 -m pip install yapf==0.22.0 numpy flatbuffers
40
41 # Install google test (source)
42 RUN apt-get update && apt-get -qqy install libgtest-dev
43
44 # Install gbs & sdb
45 RUN echo 'deb [trusted=yes] http://download.tizen.org/tools/latest-release/Ubuntu_20.04/ /' | cat >> /etc/apt/sources.list
46 RUN apt-get update && apt-get -qqy install gbs
47 RUN wget http://download.tizen.org/sdk/tizenstudio/official/binary/sdb_4.2.19_ubuntu-64.zip -O sdb.zip
48 RUN unzip -d tmp sdb.zip && rm sdb.zip
49 RUN cp tmp/data/tools/sdb /usr/bin/. && rm -rf tmp/*
50
51 # Setup user to match host user, and give superuser permissions
52 ARG USER_ID=1000
53 ARG GROUP_ID=${USER_ID}
54 RUN addgroup --gid ${GROUP_ID} ubuntu && adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} ubuntu && usermod -aG sudo ubuntu
55 RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
56 RUN echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
57
58 # Clean archives (to reduce image size)
59 RUN apt-get clean -y
60
61 # Set user to the one we just created
62 USER ${USER_ID}