Skip to content

Commit b43a53f

Browse files
Show the new arm/arm64/riscv64 Debian packages. (#6792)
Bug: dart-lang/sdk#26953 --------- Co-authored-by: Parker Lougheed <[email protected]>
1 parent d1b2d22 commit b43a53f

File tree

9 files changed

+244
-179
lines changed

9 files changed

+244
-179
lines changed

src/_includes/get-sdk.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ C:\> choco install dart-sdk
3939
$ echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
4040
```
4141

42+
Substitute `amd64` with `armhf`, `arm64`, or `riscv64` as
43+
needed for your system.
44+
4245
2. Install the Dart SDK:
4346

4447
```console

src/_includes/install/linux.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ You need steps 1 to 3 only for the first install.
3232
| sudo tee /etc/apt/sources.list.d/dart_stable.list
3333
```
3434

35+
Substitute `amd64` with `armhf`, `arm64`, or `riscv64` as
36+
needed for your system.
37+
3538
1. Use the following `sudo apt-get` commands.
3639

3740
```console

src/content/assets/js/get-dart/download_archive.dart2js.js

Lines changed: 191 additions & 158 deletions
Large diffs are not rendered by default.

src/content/assets/js/get-dart/download_archive.mjs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class CompiledApp {
8787
const dart2wasm = {
8888
_4: (o, c) => o instanceof c,
8989
_7: f => finalizeWrapper(f, function(x0) { return dartInstance.exports._7(f,arguments.length,x0) }),
90-
_8: f => finalizeWrapper(f, function(x0) { return dartInstance.exports._8(f,arguments.length,x0) }),
90+
_8: f => finalizeWrapper(f, function(x0,x1) { return dartInstance.exports._8(f,arguments.length,x0,x1) }),
9191
_37: x0 => new Array(x0),
9292
_39: x0 => x0.length,
9393
_41: (x0,x1) => x0[x1],
@@ -192,12 +192,13 @@ class CompiledApp {
192192
_180: Function.prototype.call.bind(DataView.prototype.setFloat64),
193193
_197: (c) =>
194194
queueMicrotask(() => dartInstance.exports.$invokeCallback(c)),
195-
_204: (x0,x1,x2,x3,x4,x5) => ({method: x0,headers: x1,body: x2,credentials: x3,redirect: x4,signal: x5}),
196-
_205: (x0,x1) => globalThis.fetch(x0,x1),
197-
_206: (x0,x1) => x0.get(x1),
198-
_207: f => finalizeWrapper(f, function(x0,x1,x2) { return dartInstance.exports._207(f,arguments.length,x0,x1,x2) }),
199-
_208: (x0,x1) => x0.forEach(x1),
200-
_210: () => new AbortController(),
195+
_204: () => new AbortController(),
196+
_205: x0 => x0.abort(),
197+
_206: (x0,x1,x2,x3,x4,x5) => ({method: x0,headers: x1,body: x2,credentials: x3,redirect: x4,signal: x5}),
198+
_207: (x0,x1) => globalThis.fetch(x0,x1),
199+
_208: (x0,x1) => x0.get(x1),
200+
_209: f => finalizeWrapper(f, function(x0,x1,x2) { return dartInstance.exports._209(f,arguments.length,x0,x1,x2) }),
201+
_210: (x0,x1) => x0.forEach(x1),
201202
_211: x0 => x0.getReader(),
202203
_212: x0 => x0.read(),
203204
_213: x0 => x0.cancel(),
@@ -249,7 +250,7 @@ class CompiledApp {
249250
_292: (o, p, v) => o[p] = v,
250251
_293: (o, m, a) => o[m].apply(o, a),
251252
_295: o => String(o),
252-
_296: (p, s, f) => p.then(s, f),
253+
_296: (p, s, f) => p.then(s, (e) => f(e, e === undefined)),
253254
_297: o => {
254255
if (o === undefined) return 1;
255256
var type = typeof o;
@@ -270,7 +271,12 @@ class CompiledApp {
270271
if (o instanceof DataView) return 15;
271272
}
272273
if (o instanceof ArrayBuffer) return 16;
273-
return 17;
274+
// Feature check for `SharedArrayBuffer` before doing a type-check.
275+
if (globalThis.SharedArrayBuffer !== undefined &&
276+
o instanceof SharedArrayBuffer) {
277+
return 17;
278+
}
279+
return 18;
274280
},
275281
_302: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
276282
const getValue = dartInstance.exports.$wasmI8ArrayGet;
@@ -341,6 +347,7 @@ class CompiledApp {
341347
_7307: x0 => x0.statusText,
342348
_7308: x0 => x0.headers,
343349
_7309: x0 => x0.body,
350+
_10937: x0 => x0.name,
344351
_11657: () => globalThis.console,
345352
_11681: () => globalThis.Element,
346353
_11682: () => globalThis.HTMLInputElement,
Binary file not shown.

src/content/assets/js/get-dart/download_archive.wasm.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tool/get-dart/dart_sdk_archive/lib/src/util.dart

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,22 @@ const Map<String, String> archiveMap = {
5151
'Dart SDK': 'dartsdk',
5252
};
5353

54+
const Map<String, String> debianArchMap = {
55+
'x64': 'amd64',
56+
'ARM64': 'arm64',
57+
'ARMv7': 'armhf',
58+
'ARMv8 (ARM64)': 'arm64',
59+
'RISC-V (RV64GC)': 'riscv64',
60+
};
61+
5462
const Map<String, String> directoryMap = {
5563
'Dart SDK': 'sdk',
5664
'Debian package': 'linux_packages',
5765
};
5866

5967
const Map<String, String> suffixMap = {
6068
'Dart SDK': '-release.zip',
61-
'Debian package': '-1_amd64.deb',
69+
'Debian package': '.deb',
6270
};
6371

6472
const Map<String, List<PlatformVariant>> platforms = {
@@ -70,9 +78,9 @@ const Map<String, List<PlatformVariant>> platforms = {
7078
'Linux': [
7179
PlatformVariant('x64', ['Dart SDK', 'Debian package']),
7280
PlatformVariant('IA32', ['Dart SDK']),
73-
PlatformVariant('ARMv8 (ARM64)', ['Dart SDK']),
74-
PlatformVariant('ARMv7', ['Dart SDK']),
75-
PlatformVariant('RISC-V (RV64GC)', ['Dart SDK']),
81+
PlatformVariant('ARMv8 (ARM64)', ['Dart SDK', 'Debian package']),
82+
PlatformVariant('ARMv7', ['Dart SDK', 'Debian package']),
83+
PlatformVariant('RISC-V (RV64GC)', ['Dart SDK', 'Debian package']),
7684
],
7785
'Windows': [
7886
PlatformVariant('x64', ['Dart SDK']),

tool/get-dart/dart_sdk_archive/lib/src/version_selector.dart

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,23 @@ class VersionSelector with ChangeNotifier {
225225
'${archiveMap[platformVariant.architecture]}';
226226

227227
if (pa == 'Debian package') {
228-
// Debian packages start with 2.0.0
229-
if (versionInfo.version < Version(2, 0, 0)) {
228+
final debianArch = debianArchMap[platformVariant.architecture];
229+
// x64 Debian packages start with 2.0.0.
230+
if (debianArch == 'amd64' &&
231+
versionInfo.version < Version(2, 0, 0)) {
230232
continue;
231-
} else {
232-
baseFileName = 'dart_${_versionString(versionInfo)}';
233233
}
234+
235+
// arm, arm64, riscv64 Debian packages start with 3.9.0.
236+
if ((debianArch == 'armhf' ||
237+
debianArch == 'arm64' ||
238+
debianArch == 'riscv64') &&
239+
versionInfo.version < Version(3, 9, 0)) {
240+
continue;
241+
}
242+
243+
baseFileName =
244+
'dart_${_versionString(versionInfo)}-1_$debianArch';
234245
}
235246

236247
final uri =

tool/get-dart/dart_sdk_archive/test/table_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ const nodesHtmlV400 =
157157
'<tbody><tr data-version="4.0.0" data-os="macos"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>macOS</td><td>x64</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-macos-x64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-macos-x64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
158158
'<tr data-version="4.0.0" data-os="macos"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>macOS</td><td>ARM64</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-macos-arm64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-macos-arm64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
159159
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>x64</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-x64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-x64-release.zip.sha256sum"> (SHA-256)</a><br><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/linux_packages/dart_4.0.0-1_amd64.deb">Debian package</a></td></tr>'
160-
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>ARMv8 (ARM64)</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
161-
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>ARMv7</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
162-
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>RISC-V (RV64GC)</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-riscv64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-riscv64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
160+
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>ARMv8 (ARM64)</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm64-release.zip.sha256sum"> (SHA-256)</a><br><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/linux_packages/dart_4.0.0-1_arm64.deb">Debian package</a></td></tr>'
161+
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>ARMv7</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-arm-release.zip.sha256sum"> (SHA-256)</a><br><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/linux_packages/dart_4.0.0-1_armhf.deb">Debian package</a></td></tr>'
162+
'<tr data-version="4.0.0" data-os="linux"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Linux</td><td>RISC-V (RV64GC)</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-riscv64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-linux-riscv64-release.zip.sha256sum"> (SHA-256)</a><br><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/linux_packages/dart_4.0.0-1_riscv64.deb">Debian package</a></td></tr>'
163163
'<tr data-version="4.0.0" data-os="windows"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Windows</td><td>x64</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-windows-x64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-windows-x64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
164164
'<tr data-version="4.0.0" data-os="windows"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>Windows</td><td>ARM64</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-windows-arm64-release.zip">Dart SDK</a><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/sdk/dartsdk-windows-arm64-release.zip.sha256sum"> (SHA-256)</a></td></tr>'
165165
'<tr data-version="4.0.0" data-os="---"><td>4.0.0<span class="muted"> (ref ae7ca51)</span></td><td>---</td><td>---</td><td>Dec 11, 2024</td><td class="archives"><a href="https://storage.googleapis.com/dart-archive/channels/stable/release/4.0.0/api-docs/dartdocs-gen-api.zip">API Docs</a></td></tr></tbody>';

0 commit comments

Comments
 (0)