xbintsc 0.3.14 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/README.md +22 -22
  2. package/README.zh-CN.md +20 -19
  3. package/bin/xbintsc.js +1 -2
  4. package/dist/src/cli/main.js +8 -5
  5. package/dist/src/cli/main.js.map +1 -1
  6. package/dist/src/codegen/generator/state.js +8 -0
  7. package/dist/src/codegen/generator/state.js.map +1 -1
  8. package/dist/src/codegen/generator/tables.d.ts +5 -6
  9. package/dist/src/codegen/generator/tables.js +13 -6
  10. package/dist/src/codegen/generator/tables.js.map +1 -1
  11. package/dist/src/driver/bundler/graph.d.ts +8 -0
  12. package/dist/src/driver/bundler/graph.js +85 -0
  13. package/dist/src/driver/bundler/graph.js.map +1 -0
  14. package/dist/src/driver/bundler/merge.d.ts +11 -0
  15. package/dist/src/driver/bundler/merge.js +288 -0
  16. package/dist/src/driver/bundler/merge.js.map +1 -0
  17. package/dist/src/driver/bundler/resolve.d.ts +12 -0
  18. package/dist/src/driver/bundler/resolve.js +246 -0
  19. package/dist/src/driver/bundler/resolve.js.map +1 -0
  20. package/dist/src/driver/bundler/symbols.d.ts +15 -0
  21. package/dist/src/driver/bundler/symbols.js +51 -0
  22. package/dist/src/driver/bundler/symbols.js.map +1 -0
  23. package/dist/src/driver/bundler/types.d.ts +36 -0
  24. package/dist/src/driver/bundler/types.js +5 -0
  25. package/dist/src/driver/bundler/types.js.map +1 -0
  26. package/dist/src/driver/index.d.ts +1 -2
  27. package/dist/src/driver/index.js +1 -2
  28. package/dist/src/driver/index.js.map +1 -1
  29. package/dist/src/driver/modules.d.ts +9 -16
  30. package/dist/src/driver/modules.js +8 -644
  31. package/dist/src/driver/modules.js.map +1 -1
  32. package/dist/src/driver/paths.d.ts +0 -9
  33. package/dist/src/driver/paths.js +0 -31
  34. package/dist/src/driver/paths.js.map +1 -1
  35. package/dist/src/driver/toolchain-provider.d.ts +10 -10
  36. package/dist/src/driver/toolchain-provider.js +9 -38
  37. package/dist/src/driver/toolchain-provider.js.map +1 -1
  38. package/dist/src/driver/toolchain.js +8 -2
  39. package/dist/src/driver/toolchain.js.map +1 -1
  40. package/dist/src/extensions/catalog.js +2 -1
  41. package/dist/src/extensions/catalog.js.map +1 -1
  42. package/dist/src/extensions/gui/index.d.ts +24 -0
  43. package/dist/src/extensions/gui/index.js +101 -0
  44. package/dist/src/extensions/gui/index.js.map +1 -0
  45. package/dist/src/extensions/native.d.ts +2 -3
  46. package/dist/src/extensions/native.js +2 -3
  47. package/dist/src/extensions/native.js.map +1 -1
  48. package/dist/tests/driver/paths.test.js +1 -9
  49. package/dist/tests/driver/paths.test.js.map +1 -1
  50. package/dist/tests/driver/toolchain-provider.test.js +12 -79
  51. package/dist/tests/driver/toolchain-provider.test.js.map +1 -1
  52. package/dist/tests/e2e/compile-basics.test.d.ts +4 -0
  53. package/dist/tests/e2e/compile-basics.test.js +134 -0
  54. package/dist/tests/e2e/compile-basics.test.js.map +1 -0
  55. package/dist/tests/e2e/compile-builtins.test.d.ts +4 -0
  56. package/dist/tests/e2e/compile-builtins.test.js +191 -0
  57. package/dist/tests/e2e/compile-builtins.test.js.map +1 -0
  58. package/dist/tests/e2e/compile-control-flow.test.d.ts +4 -0
  59. package/dist/tests/e2e/compile-control-flow.test.js +190 -0
  60. package/dist/tests/e2e/compile-control-flow.test.js.map +1 -0
  61. package/dist/tests/e2e/compile-modules.test.d.ts +4 -0
  62. package/dist/tests/e2e/compile-modules.test.js +48 -0
  63. package/dist/tests/e2e/compile-modules.test.js.map +1 -0
  64. package/dist/tests/e2e/compile-objects-classes.test.d.ts +4 -0
  65. package/dist/tests/e2e/compile-objects-classes.test.js +362 -0
  66. package/dist/tests/e2e/compile-objects-classes.test.js.map +1 -0
  67. package/dist/tests/e2e/differential-helpers.d.ts +12 -0
  68. package/dist/tests/e2e/differential-helpers.js +16 -0
  69. package/dist/tests/e2e/differential-helpers.js.map +1 -0
  70. package/dist/tests/e2e/differential-language.test.d.ts +4 -0
  71. package/dist/tests/e2e/{differential.test.js → differential-language.test.js} +5 -287
  72. package/dist/tests/e2e/differential-language.test.js.map +1 -0
  73. package/dist/tests/e2e/differential-symbols.test.d.ts +4 -0
  74. package/dist/tests/e2e/differential-symbols.test.js +92 -0
  75. package/dist/tests/e2e/differential-symbols.test.js.map +1 -0
  76. package/dist/tests/e2e/differential-values.test.d.ts +4 -0
  77. package/dist/tests/e2e/differential-values.test.js +197 -0
  78. package/dist/tests/e2e/differential-values.test.js.map +1 -0
  79. package/dist/tests/e2e/gui.test.d.ts +12 -0
  80. package/dist/tests/e2e/gui.test.js +493 -0
  81. package/dist/tests/e2e/gui.test.js.map +1 -0
  82. package/dist/tests/e2e/native-extensions.test.d.ts +4 -5
  83. package/dist/tests/e2e/native-extensions.test.js +6 -7
  84. package/dist/tests/e2e/native-extensions.test.js.map +1 -1
  85. package/dist/tests/e2e/runtime-coverage-buffer.test.d.ts +4 -0
  86. package/dist/tests/e2e/runtime-coverage-buffer.test.js +97 -0
  87. package/dist/tests/e2e/runtime-coverage-buffer.test.js.map +1 -0
  88. package/dist/tests/e2e/runtime-coverage-globals.test.d.ts +4 -0
  89. package/dist/tests/e2e/runtime-coverage-globals.test.js +149 -0
  90. package/dist/tests/e2e/runtime-coverage-globals.test.js.map +1 -0
  91. package/dist/tests/e2e/runtime-coverage-node-modules.test.d.ts +4 -0
  92. package/dist/tests/e2e/runtime-coverage-node-modules.test.js +177 -0
  93. package/dist/tests/e2e/runtime-coverage-node-modules.test.js.map +1 -0
  94. package/dist/tests/e2e/runtime-coverage-streams.test.d.ts +4 -0
  95. package/dist/tests/e2e/runtime-coverage-streams.test.js +161 -0
  96. package/dist/tests/e2e/runtime-coverage-streams.test.js.map +1 -0
  97. package/dist/tests/e2e/runtime-coverage-system.test.d.ts +4 -0
  98. package/dist/tests/e2e/runtime-coverage-system.test.js +91 -0
  99. package/dist/tests/e2e/runtime-coverage-system.test.js.map +1 -0
  100. package/dist/tests/e2e/timers.test.d.ts +7 -0
  101. package/dist/tests/e2e/timers.test.js +63 -0
  102. package/dist/tests/e2e/timers.test.js.map +1 -0
  103. package/package.json +2 -2
  104. package/runtime/ext_gui/css.cpp +743 -0
  105. package/runtime/ext_gui/css.h +98 -0
  106. package/runtime/ext_gui/document.cpp +264 -0
  107. package/runtime/ext_gui/document.h +89 -0
  108. package/runtime/ext_gui/dom.cpp +472 -0
  109. package/runtime/ext_gui/dom.h +71 -0
  110. package/runtime/ext_gui/gui.cpp +457 -0
  111. package/runtime/ext_gui/gui_engine.h +81 -0
  112. package/runtime/ext_gui/image.cpp +125 -0
  113. package/runtime/ext_gui/image.h +42 -0
  114. package/runtime/ext_gui/layout.cpp +748 -0
  115. package/runtime/ext_gui/layout.h +93 -0
  116. package/runtime/ext_gui/paint.cpp +137 -0
  117. package/runtime/ext_gui/paint.h +75 -0
  118. package/runtime/ext_gui/renderer.cpp +959 -0
  119. package/runtime/ext_gui/renderer.h +68 -0
  120. package/runtime/ext_gui/stb_image.h +7988 -0
  121. package/runtime/ext_gui/style.cpp +771 -0
  122. package/runtime/ext_gui/style.h +117 -0
  123. package/runtime/ext_gui/text.cpp +378 -0
  124. package/runtime/ext_gui/text.h +78 -0
  125. package/runtime/ext_gui/window.cpp +405 -0
  126. package/runtime/ext_node/fs/fs_common.h +13 -527
  127. package/runtime/ext_node/fs/meta_ops.c +3 -3
  128. package/runtime/ext_node/fs/parts/buffer-bridge.inc +6 -0
  129. package/runtime/ext_node/fs/parts/builtins.inc +69 -0
  130. package/runtime/ext_node/fs/parts/dir.inc +47 -0
  131. package/runtime/ext_node/fs/parts/encoding.inc +186 -0
  132. package/runtime/ext_node/fs/parts/errors.inc +66 -0
  133. package/runtime/ext_node/fs/parts/flags.inc +39 -0
  134. package/runtime/ext_node/fs/parts/platform.inc +86 -0
  135. package/runtime/ext_node/fs/parts/promisify.inc +15 -0
  136. package/runtime/ext_node/fs/parts/time.inc +9 -0
  137. package/runtime/rt.h +36 -4
  138. package/runtime/rt_internal.h +10 -23
  139. package/runtime/xt_builtins.c +4 -0
  140. package/runtime/xt_containers/access.inc +168 -0
  141. package/runtime/xt_containers/arrays.inc +108 -0
  142. package/runtime/xt_containers/boxes.inc +11 -0
  143. package/runtime/xt_containers/objects.inc +326 -0
  144. package/runtime/xt_containers.c +8 -618
  145. package/runtime/xt_ext.h +0 -1
  146. package/runtime/xt_io/base64.inc +87 -0
  147. package/runtime/xt_io/console.inc +119 -0
  148. package/runtime/xt_io/exception.inc +142 -0
  149. package/runtime/xt_io/inspect.inc +212 -0
  150. package/runtime/xt_io.c +11 -556
  151. package/runtime/xt_loop.c +262 -24
  152. package/runtime/xt_regex/api.inc +58 -0
  153. package/runtime/xt_regex/helpers.inc +68 -0
  154. package/runtime/xt_regex/matcher.inc +248 -0
  155. package/runtime/xt_regex/parser.inc +236 -0
  156. package/runtime/xt_regex/types.inc +58 -0
  157. package/runtime/xt_regex.h +9 -672
  158. package/runtime/xt_stdlib2/helpers.inc +2 -4
  159. package/runtime/xt_values/arithmetic.inc +150 -0
  160. package/runtime/xt_values/comparison.inc +112 -0
  161. package/runtime/xt_values/constructors.inc +41 -0
  162. package/runtime/xt_values/conversions.inc +115 -0
  163. package/runtime/xt_values/number-format.inc +180 -0
  164. package/runtime/xt_values/strings.inc +22 -0
  165. package/runtime/xt_values.c +10 -626
  166. package/scripts/build-gui.ts +317 -0
  167. package/scripts/build-runtime.ts +7 -8
  168. package/scripts/coverage-runtime.ts +4 -4
  169. package/scripts/package-release.ts +12 -84
  170. package/src/cli/main.ts +8 -4
  171. package/src/codegen/generator/state.ts +8 -0
  172. package/src/codegen/generator/tables.ts +13 -6
  173. package/src/driver/bundler/graph.ts +95 -0
  174. package/src/driver/bundler/merge.ts +312 -0
  175. package/src/driver/bundler/resolve.ts +240 -0
  176. package/src/driver/bundler/symbols.ts +55 -0
  177. package/src/driver/bundler/types.ts +37 -0
  178. package/src/driver/index.ts +1 -9
  179. package/src/driver/modules.ts +9 -693
  180. package/src/driver/paths.ts +0 -31
  181. package/src/driver/toolchain-provider.ts +12 -45
  182. package/src/driver/toolchain.ts +7 -2
  183. package/src/extensions/catalog.ts +2 -1
  184. package/src/extensions/gui/index.ts +107 -0
  185. package/src/extensions/native.ts +2 -3
  186. package/dist/src/driver/toolchain-download.d.ts +0 -50
  187. package/dist/src/driver/toolchain-download.js +0 -102
  188. package/dist/src/driver/toolchain-download.js.map +0 -1
  189. package/dist/tests/driver/toolchain-download.test.d.ts +0 -1
  190. package/dist/tests/driver/toolchain-download.test.js +0 -53
  191. package/dist/tests/driver/toolchain-download.test.js.map +0 -1
  192. package/dist/tests/e2e/compile.test.d.ts +0 -8
  193. package/dist/tests/e2e/compile.test.js +0 -893
  194. package/dist/tests/e2e/compile.test.js.map +0 -1
  195. package/dist/tests/e2e/differential.test.d.ts +0 -7
  196. package/dist/tests/e2e/differential.test.js.map +0 -1
  197. package/dist/tests/e2e/runtime-coverage.test.d.ts +0 -11
  198. package/dist/tests/e2e/runtime-coverage.test.js +0 -646
  199. package/dist/tests/e2e/runtime-coverage.test.js.map +0 -1
  200. package/scripts/fetch-toolchain.ts +0 -101
  201. package/src/driver/toolchain-download.ts +0 -135
@@ -1,101 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Download the pinned toolchain that xbintsc bundles for this host into
4
- * `vendor/<os>-<arch>/`, so `build` needs no user-installed compiler:
5
- *
6
- * Linux -> official LLVM release (clang + lld + llvm-ar) plus the legacy
7
- * `libtinfo.so.5` shared library the official build still needs
8
- * Windows -> llvm-mingw (clang + lld + MinGW-w64 CRT/import libraries)
9
- * macOS -> nothing; the Xcode Command Line Tools are the prerequisite
10
- *
11
- * Requires `curl`, `tar` and (on Linux) `ar` on PATH; all are present on
12
- * GitHub-hosted runners. Pass `--force` to refetch an existing toolchain.
13
- */
14
-
15
- import { copyFileSync, existsSync, mkdirSync, rmSync } from "node:fs";
16
- import { spawnSync } from "node:child_process";
17
- import { join } from "node:path";
18
- import { tmpdir } from "node:os";
19
- import { platformSlug, vendorRootDir } from "../src/driver/paths.js";
20
- import { toolchainDownload, toolchainSupportLibraries } from "../src/driver/toolchain-download.js";
21
-
22
- const force = process.argv.includes("--force");
23
- const target = toolchainDownload();
24
-
25
- if (!target) {
26
- console.log(
27
- `xbintsc: no bundled toolchain for ${platformSlug()}; using the system SDK (macOS: Xcode Command Line Tools)`,
28
- );
29
- process.exit(0);
30
- }
31
-
32
- const vendorDir = join(vendorRootDir(), platformSlug());
33
- const clangName = process.platform === "win32" ? "clang.exe" : "clang";
34
- const clangPath = join(vendorDir, "bin", clangName);
35
-
36
- function run(command: string, args: readonly string[], cwd?: string): void {
37
- const result = spawnSync(command, [...args], { stdio: "inherit", cwd });
38
- if (result.status !== 0) {
39
- console.error(`xbintsc: command failed: ${command} ${args.join(" ")}`);
40
- process.exit(result.status ?? 1);
41
- }
42
- }
43
-
44
- /** Download the first reachable URL to `dest`, failing after the last one. */
45
- function download(urls: readonly string[], dest: string): void {
46
- for (const url of urls) {
47
- console.log(`xbintsc: downloading ${url}`);
48
- const result = spawnSync("curl", ["-fL", "--retry", "3", "-o", dest, url], { stdio: "inherit" });
49
- if (result.status === 0) return;
50
- console.log("xbintsc: download failed, trying the next mirror");
51
- }
52
- console.error(`xbintsc: could not download ${dest}`);
53
- process.exit(1);
54
- }
55
-
56
- const workDir = join(tmpdir(), `xbintsc-toolchain-${process.pid}`);
57
- rmSync(workDir, { recursive: true, force: true });
58
- mkdirSync(workDir, { recursive: true });
59
-
60
- if (existsSync(clangPath) && !force) {
61
- console.log(`xbintsc: toolchain already present at ${vendorDir}`);
62
- } else {
63
- const archivePath = join(workDir, target.archive);
64
- download([target.url], archivePath);
65
- console.log(`xbintsc: extracting into ${vendorDir}`);
66
- mkdirSync(vendorDir, { recursive: true });
67
- // `tar` here is bsdtar on macOS/Windows and GNU tar on Linux; both accept
68
- // `--strip-components`, and bsdtar also unpacks the `.zip` used on Windows.
69
- run("tar", ["-xf", archivePath, "-C", vendorDir, `--strip-components=${target.stripComponents}`]);
70
- }
71
-
72
- // Shared libraries the bundled toolchain needs but the OS does not provide.
73
- const supportLibraries = toolchainSupportLibraries();
74
- if (supportLibraries.length > 0) {
75
- const libDir = join(vendorDir, "lib");
76
- mkdirSync(libDir, { recursive: true });
77
- for (const library of supportLibraries) {
78
- const dest = join(libDir, library.dest);
79
- if (existsSync(dest) && !force) {
80
- console.log(`xbintsc: already bundled ${library.dest}`);
81
- continue;
82
- }
83
- const debPath = join(workDir, library.archive);
84
- download(library.urls, debPath);
85
- const debDir = join(workDir, `deb-${library.dest}`);
86
- mkdirSync(debDir, { recursive: true });
87
- // A `.deb` is an `ar` archive whose `data.tar.*` member holds the files.
88
- run("ar", ["x", debPath], debDir);
89
- run("tar", ["-xf", join(debDir, "data.tar.xz"), "-C", debDir]);
90
- copyFileSync(join(debDir, library.member), dest);
91
- console.log(`xbintsc: bundled ${library.dest}`);
92
- }
93
- }
94
-
95
- rmSync(workDir, { recursive: true, force: true });
96
-
97
- if (!existsSync(clangPath)) {
98
- console.error(`xbintsc: expected ${clangPath} after extraction`);
99
- process.exit(1);
100
- }
101
- console.log(`xbintsc: done -> ${clangPath}`);
@@ -1,135 +0,0 @@
1
- /**
2
- * Which toolchain xbintsc bundles for each host.
3
- *
4
- * The end goal is that `build` needs no user-installed compiler. Per the
5
- * recorded decisions (see `doc/requirements.md`):
6
- *
7
- * Linux -> the official LLVM release (clang + lld + llvm-ar)
8
- * Windows -> llvm-mingw (clang + lld + the MinGW-w64 sysroot/CRT/import libs)
9
- * macOS -> nothing; the Xcode Command Line Tools are the prerequisite
10
- *
11
- * This module only maps a host to a pinned download; the actual fetch lives in
12
- * `scripts/fetch-toolchain.ts`.
13
- */
14
-
15
- /** Pinned LLVM release used for the Linux bundle. */
16
- export const LLVM_VERSION = "18.1.8";
17
- /** Pinned llvm-mingw release used for the Windows bundle. */
18
- export const LLVM_MINGW_VERSION = "20260908";
19
-
20
- export interface ToolchainDownload {
21
- /** Download URL. */
22
- readonly url: string;
23
- /** Suggested local file name for the archive. */
24
- readonly archive: string;
25
- /** Archive type. Both are unpacked with `tar` (bsdtar reads zip). */
26
- readonly kind: "tar.xz" | "zip";
27
- /** Leading path segments to strip while extracting. */
28
- readonly stripComponents: number;
29
- }
30
-
31
- /**
32
- * The toolchain to bundle for a host, or undefined when the host's own SDK is
33
- * used instead (macOS: the Xcode Command Line Tools).
34
- */
35
- export function toolchainDownload(
36
- platform: string = process.platform,
37
- arch: string = process.arch,
38
- ): ToolchainDownload | undefined {
39
- if (platform === "linux") {
40
- if (arch === "x64") {
41
- return {
42
- url: `https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-18.04.tar.xz`,
43
- archive: `clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu.tar.xz`,
44
- kind: "tar.xz",
45
- stripComponents: 1,
46
- };
47
- }
48
- if (arch === "arm64") {
49
- return {
50
- url: `https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-aarch64-linux-gnu.tar.xz`,
51
- archive: `clang+llvm-${LLVM_VERSION}-aarch64-linux-gnu.tar.xz`,
52
- kind: "tar.xz",
53
- stripComponents: 1,
54
- };
55
- }
56
- return undefined;
57
- }
58
-
59
- if (platform === "win32" && arch === "x64") {
60
- return {
61
- url: `https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_VERSION}/llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-x86_64.zip`,
62
- archive: `llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-x86_64.zip`,
63
- kind: "zip",
64
- stripComponents: 1,
65
- };
66
- }
67
-
68
- if (platform === "win32" && arch === "arm64") {
69
- // The llvm-mingw `aarch64` package is the Windows-on-ARM host build; its
70
- // clang targets aarch64 by default, so a native Windows ARM64 runner gets
71
- // native MinGW-w64 binaries with no MSVC dependency.
72
- return {
73
- url: `https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_VERSION}/llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-aarch64.zip`,
74
- archive: `llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-aarch64.zip`,
75
- kind: "zip",
76
- stripComponents: 1,
77
- };
78
- }
79
-
80
- // macOS (and any other host) uses the system SDK; nothing to bundle.
81
- return undefined;
82
- }
83
-
84
- export interface SupportLibrary {
85
- /** Candidate download URLs, tried in order. */
86
- readonly urls: readonly string[];
87
- /** Local file name for the downloaded `.deb`. */
88
- readonly archive: string;
89
- /** Path inside the extracted `.deb` data tree. */
90
- readonly member: string;
91
- /** File name placed in `vendor/<os>-<arch>/lib/`. */
92
- readonly dest: string;
93
- }
94
-
95
- /**
96
- * Extra shared libraries the bundled toolchain needs but that are not part of
97
- * the OS C library. The official Linux LLVM build links the legacy
98
- * `libtinfo.so.5` soname, which current distributions no longer ship, so we
99
- * bundle it (from the Ubuntu `libtinfo5` package) into `vendor/<os>-<arch>/lib`
100
- * and point `LD_LIBRARY_PATH` at that directory.
101
- */
102
- export function toolchainSupportLibraries(
103
- platform: string = process.platform,
104
- arch: string = process.arch,
105
- ): readonly SupportLibrary[] {
106
- if (platform === "linux" && arch === "x64") {
107
- return [
108
- {
109
- urls: [
110
- "https://security.ubuntu.com/ubuntu/pool/main/n/ncurses/libtinfo5_6.1-1ubuntu1.18.04.1_amd64.deb",
111
- "https://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libtinfo5_6.1-1ubuntu1.18.04.1_amd64.deb",
112
- ],
113
- archive: "libtinfo5.deb",
114
- member: "lib/x86_64-linux-gnu/libtinfo.so.5.9",
115
- dest: "libtinfo.so.5",
116
- },
117
- ];
118
- }
119
- if (platform === "linux" && arch === "arm64") {
120
- // The aarch64 release build links the same removed `libtinfo.so.5` soname as
121
- // the x86_64 one; arm64 packages live in the Ubuntu ports archive.
122
- return [
123
- {
124
- urls: [
125
- "https://ports.ubuntu.com/ubuntu-ports/pool/main/n/ncurses/libtinfo5_6.1-1ubuntu1.18.04.1_arm64.deb",
126
- "http://ports.ubuntu.com/ubuntu-ports/pool/main/n/ncurses/libtinfo5_6.1-1ubuntu1.18.04.1_arm64.deb",
127
- ],
128
- archive: "libtinfo5.deb",
129
- member: "lib/aarch64-linux-gnu/libtinfo.so.5.9",
130
- dest: "libtinfo.so.5",
131
- },
132
- ];
133
- }
134
- return [];
135
- }