1
1
# You can find more information here: https://github.com/overcat/ledger-devcontainer
2
2
FROM ubuntu:24.04
3
3
4
+ ARG ARM_TOOLCHAIN_VERSION=10.3-2021.10
5
+ ARG ARM_TOOLCHAIN_AMD64_MD5=2383e4eb4ea23f248d33adc70dc3227e
6
+ ARG ARM_TOOLCHAIN_ARM64_MD5=3fe3d8bb693bd0a6e4615b6569443d0d
7
+ ARG NANOS_SDK_VERSION=v2.1.0-19
8
+ ARG NANOX_SDK_VERSION=v5.11.1
9
+ ARG NANOSP_SDK_VERSION=v5.11.1
10
+ ARG STAX_SDK_VERSION=v15.4.0
11
+ ARG FLEX_SDK_VERSION=v18.3.0
12
+ ARG SPECULOS_VERSION=0.9.0
13
+
4
14
# Avoid warnings by switching to noninteractive
5
15
ENV DEBIAN_FRONTEND=noninteractive
6
16
@@ -36,10 +46,6 @@ RUN apt-get update && apt-get upgrade -qy && apt-get install -qy \
36
46
apt-get autoremove -y && \
37
47
apt-get clean
38
48
39
- ARG ARM_TOOLCHAIN_VERSION=10.3-2021.10
40
- ARG ARM_TOOLCHAIN_AMD64_MD5=2383e4eb4ea23f248d33adc70dc3227e
41
- ARG ARM_TOOLCHAIN_ARM64_MD5=3fe3d8bb693bd0a6e4615b6569443d0d
42
-
43
49
# ARM Embedded Toolchain
44
50
# Integrity is checked using the MD5 checksum provided by ARM at https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
45
51
RUN case $(uname -m) in \
@@ -64,36 +70,36 @@ ARG GIT_SERVER=https://github.com/LedgerHQ
64
70
# Latest Nano S SDK
65
71
# Will switch to the unified SDK for next OS release.
66
72
ENV NANOS_SDK=/opt/nanos-secure-sdk
67
- RUN git clone --branch v2.1.0-19 --depth 1 "$GIT_SERVER/nanos-secure-sdk.git" "$NANOS_SDK"
73
+ RUN git clone --branch ${NANOS_SDK_VERSION} --depth 1 "$GIT_SERVER/nanos-secure-sdk.git" "$NANOS_SDK"
68
74
69
75
# Unified SDK
70
76
ENV LEDGER_SECURE_SDK=/opt/ledger-secure-sdk
71
77
RUN git clone "$GIT_SERVER/ledger-secure-sdk.git" "$LEDGER_SECURE_SDK"
72
78
73
79
# Latest Nano X SDK (OS nanox_2.2.3 => based on API_LEVEL 5)
74
80
ENV NANOX_SDK=/opt/nanox-secure-sdk
75
- RUN git -C "$LEDGER_SECURE_SDK" worktree add "$NANOX_SDK" v5.11.1
81
+ RUN git -C "$LEDGER_SECURE_SDK" worktree add "$NANOX_SDK" ${NANOX_SDK_VERSION}
76
82
RUN echo nanox > $NANOX_SDK/.target
77
83
78
84
# Latest Nano S+ SDK (OS nanos+_1.1.1 => based on API_LEVEL 5)
79
85
ENV NANOSP_SDK=/opt/nanosplus-secure-sdk
80
- RUN git -C "$LEDGER_SECURE_SDK" worktree add "$NANOSP_SDK" v5.11.1
86
+ RUN git -C "$LEDGER_SECURE_SDK" worktree add "$NANOSP_SDK" ${NANOSP_SDK_VERSION}
81
87
RUN echo nanos2 > $NANOSP_SDK/.target
82
88
83
89
# Latest Stax SDK (OS stax_1.4.0-rc2 => based on API_LEVEL 15)
84
90
ENV STAX_SDK=/opt/stax-secure-sdk
85
- RUN git -C "$LEDGER_SECURE_SDK" worktree add "$STAX_SDK" v15.4.0
91
+ RUN git -C "$LEDGER_SECURE_SDK" worktree add "$STAX_SDK" ${STAX_SDK_VERSION}
86
92
RUN echo stax > $STAX_SDK/.target
87
93
88
94
# Latest Flex SDK (OS flex_0.2.0-rc2 => based on API_LEVEL 18)
89
95
ENV FLEX_SDK=/opt/flex-secure-sdk
90
- RUN git -C "$LEDGER_SECURE_SDK" worktree add "$FLEX_SDK" v18.3.0
96
+ RUN git -C "$LEDGER_SECURE_SDK" worktree add "$FLEX_SDK" ${FLEX_SDK_VERSION}
91
97
RUN echo flex > $FLEX_SDK/.target
92
98
93
99
# Default SDK
94
100
ENV BOLOS_SDK=$NANOS_SDK
95
101
96
- RUN pip3 install --no-cache-dir --break-system-packages ledgerblue speculos==0.8.6
102
+ RUN pip3 install --no-cache-dir --break-system-packages ledgerblue speculos==${SPECULOS_VERSION}
97
103
98
104
# Switch back to dialog for any ad-hoc use of apt-get
99
105
ENV DEBIAN_FRONTEND=
0 commit comments