-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
55 lines (45 loc) · 1.46 KB
/
Dockerfile
File metadata and controls
55 lines (45 loc) · 1.46 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
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0
FROM ubuntu:24.04
ARG PEBBLEOS_SDK_VERSION=0.1.0
ENV PEBBLEOS_SDK_VERSION=$PEBBLEOS_SDK_VERSION
# Set default shell during Docker image build to bash
SHELL ["/bin/bash", "-c"]
# Set non-interactive frontend for apt-get to skip any user confirmations
ENV DEBIAN_FRONTEND=noninteractive
# Install system-level dependencies
RUN apt-get -y update && \
apt-get install -y --no-install-recommends \
bison \
clang \
flex \
gcc \
gcc-multilib \
gperf \
git \
gettext \
libfreetype6-dev \
libglib2.0-dev \
libgtk-3-dev \
libncurses-dev \
librsvg2-bin \
make \
nodejs \
python3-dev \
python3-pip \
python3-venv \
xz-utils \
wget \
&& rm -rf /var/lib/apt/lists/*
# Install latest Doxygen
# The version of Doxygen in Ubuntu's repos is old, and generates docs with missing functions
RUN wget -O doxygen.tar.gz "https://www.doxygen.nl/files/doxygen-1.14.0.linux.bin.tar.gz" && \
tar xf doxygen.tar.gz && \
mv doxygen-1.14.0/bin/* /usr/bin/ && \
rm -r doxygen-1.14.0 doxygen.tar.gz
# Install PebbleOS SDK
RUN wget -qO- "https://github.com/coredevices/PebbleOS-SDK/releases/download/v${PEBBLEOS_SDK_VERSION}/pebbleos-sdk-installer.sh" \
| sh -s -- --version "${PEBBLEOS_SDK_VERSION}" --prefix /opt/pebbleos-sdk --defaults
# Create Python virtual environment
RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"