Skip to content

Commit 6feb23c

Browse files
openkal 0.22.0; openkal-linux 0.23.0, openkal-macos 0.20.0, openkal-windows 0.18.0, openkal-emscripten 0.11.0 (#673)
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent 0074386 commit 6feb23c

8 files changed

Lines changed: 141 additions & 6 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515

1616
### Added
1717

18+
- **openkal 0.22.0;openkal-linux 0.23.0、openkal-macos 0.20.0、openkal-windows 0.18.0、openkal-emscripten 0.11.0。**
19+
`openkal.process` 的位置上的空设备:`KAL_SPAWN_NULL_IN`、`_OUT`、`_ERR` 使启动的程序在该位置读到输入结束、写入全部被接受并
20+
丢弃(属性 `KAL_PROCESS_PROP_NULL_STREAMS`);Linux、macOS 在启动的程序一侧打开 `/dev/null`,Windows 为本次启动打开 `NUL`。
21+
openkal-emscripten 依 0.22 编写,无其他改动。测试成员 `openkal` 随之移动,并观察标志与流同处一个位置时被拒绝。GLOBAL 为
22+
GitHub 标签归档,CN 为 GitCode `mcpp-res` 镜像,sha256 两处一致。
1823
- **openkal-platform 0.21.1。** 版本组改为 openkal-image 0.3.1(记住的 okb 准入不再读取成员)、openkal-musl 0.26.1、
1924
openkal-llvm-runtime 0.17.1,carrier 为 openkal-run 0.3.1;其余与 0.21.0 相同。GLOBAL 为 GitHub 标签归档,CN 为 GitCode
2025
`mcpp-res` 镜像,sha256 两处一致。

‎pkgs/o/openkal-emscripten.lua‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ package = {
4646

4747
xpm = {
4848
linux = {
49+
["0.11.0"] = {
50+
url = {
51+
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.11.0.tar.gz",
52+
CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.11.0/openkal-emscripten-0.11.0.tar.gz",
53+
},
54+
sha256 = "040dedc1455c450031d68aa8164598ab2c0b63c22dcf38ffffc3683036c13c72",
55+
},
4956
["0.10.0"] = {
5057
url = {
5158
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.10.0.tar.gz",
@@ -132,6 +139,13 @@ package = {
132139
},
133140
},
134141
macosx = {
142+
["0.11.0"] = {
143+
url = {
144+
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.11.0.tar.gz",
145+
CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.11.0/openkal-emscripten-0.11.0.tar.gz",
146+
},
147+
sha256 = "040dedc1455c450031d68aa8164598ab2c0b63c22dcf38ffffc3683036c13c72",
148+
},
135149
["0.10.0"] = {
136150
url = {
137151
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.10.0.tar.gz",
@@ -218,6 +232,13 @@ package = {
218232
},
219233
},
220234
windows = {
235+
["0.11.0"] = {
236+
url = {
237+
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.11.0.tar.gz",
238+
CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.11.0/openkal-emscripten-0.11.0.tar.gz",
239+
},
240+
sha256 = "040dedc1455c450031d68aa8164598ab2c0b63c22dcf38ffffc3683036c13c72",
241+
},
221242
["0.10.0"] = {
222243
url = {
223244
GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.10.0.tar.gz",

‎pkgs/o/openkal-linux.lua‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ package = {
1919

2020
xpm = {
2121
linux = {
22+
["0.23.0"] = {
23+
url = {
24+
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.23.0.tar.gz",
25+
CN = "https://gitcode.com/mcpp-res/openkal-linux/releases/download/0.23.0/openkal-linux-0.23.0.tar.gz",
26+
},
27+
sha256 = "fd7a2448349f3f5169f427998b6e288d89505e196bc94c182323da5c8b5354ca",
28+
},
2229
["0.22.0"] = {
2330
url = {
2431
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.22.0.tar.gz",
@@ -210,6 +217,13 @@ package = {
210217
},
211218
},
212219
macosx = {
220+
["0.23.0"] = {
221+
url = {
222+
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.23.0.tar.gz",
223+
CN = "https://gitcode.com/mcpp-res/openkal-linux/releases/download/0.23.0/openkal-linux-0.23.0.tar.gz",
224+
},
225+
sha256 = "fd7a2448349f3f5169f427998b6e288d89505e196bc94c182323da5c8b5354ca",
226+
},
213227
["0.22.0"] = {
214228
url = {
215229
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.22.0.tar.gz",
@@ -401,6 +415,13 @@ package = {
401415
},
402416
},
403417
windows = {
418+
["0.23.0"] = {
419+
url = {
420+
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.23.0.tar.gz",
421+
CN = "https://gitcode.com/mcpp-res/openkal-linux/releases/download/0.23.0/openkal-linux-0.23.0.tar.gz",
422+
},
423+
sha256 = "fd7a2448349f3f5169f427998b6e288d89505e196bc94c182323da5c8b5354ca",
424+
},
404425
["0.22.0"] = {
405426
url = {
406427
GLOBAL = "https://github.com/mcpplibs/openkal-linux/archive/refs/tags/0.22.0.tar.gz",

‎pkgs/o/openkal-macos.lua‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ package = {
1919

2020
xpm = {
2121
linux = {
22+
["0.20.0"] = {
23+
url = {
24+
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.20.0.tar.gz",
25+
CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.20.0/openkal-macos-0.20.0.tar.gz",
26+
},
27+
sha256 = "109eb37bca90a121315dab5c697ceafa8be4ee91958894691b82b57a45a827c4",
28+
},
2229
["0.19.0"] = {
2330
url = {
2431
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.19.0.tar.gz",
@@ -210,6 +217,13 @@ package = {
210217
},
211218
},
212219
macosx = {
220+
["0.20.0"] = {
221+
url = {
222+
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.20.0.tar.gz",
223+
CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.20.0/openkal-macos-0.20.0.tar.gz",
224+
},
225+
sha256 = "109eb37bca90a121315dab5c697ceafa8be4ee91958894691b82b57a45a827c4",
226+
},
213227
["0.19.0"] = {
214228
url = {
215229
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.19.0.tar.gz",
@@ -401,6 +415,13 @@ package = {
401415
},
402416
},
403417
windows = {
418+
["0.20.0"] = {
419+
url = {
420+
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.20.0.tar.gz",
421+
CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.20.0/openkal-macos-0.20.0.tar.gz",
422+
},
423+
sha256 = "109eb37bca90a121315dab5c697ceafa8be4ee91958894691b82b57a45a827c4",
424+
},
404425
["0.19.0"] = {
405426
url = {
406427
GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.19.0.tar.gz",

‎pkgs/o/openkal-windows.lua‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ package = {
2121

2222
xpm = {
2323
linux = {
24+
["0.18.0"] = {
25+
url = {
26+
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.18.0.tar.gz",
27+
CN = "https://gitcode.com/mcpp-res/openkal-windows/releases/download/0.18.0/openkal-windows-0.18.0.tar.gz",
28+
},
29+
sha256 = "5d3d849ea59c8c02b0f1bb3f5c07ce8bfb0d764f1919fada42986cfb6e370a96",
30+
},
2431
["0.17.0"] = {
2532
url = {
2633
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.17.0.tar.gz",
@@ -233,6 +240,13 @@ package = {
233240
},
234241
},
235242
macosx = {
243+
["0.18.0"] = {
244+
url = {
245+
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.18.0.tar.gz",
246+
CN = "https://gitcode.com/mcpp-res/openkal-windows/releases/download/0.18.0/openkal-windows-0.18.0.tar.gz",
247+
},
248+
sha256 = "5d3d849ea59c8c02b0f1bb3f5c07ce8bfb0d764f1919fada42986cfb6e370a96",
249+
},
236250
["0.17.0"] = {
237251
url = {
238252
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.17.0.tar.gz",
@@ -445,6 +459,13 @@ package = {
445459
},
446460
},
447461
windows = {
462+
["0.18.0"] = {
463+
url = {
464+
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.18.0.tar.gz",
465+
CN = "https://gitcode.com/mcpp-res/openkal-windows/releases/download/0.18.0/openkal-windows-0.18.0.tar.gz",
466+
},
467+
sha256 = "5d3d849ea59c8c02b0f1bb3f5c07ce8bfb0d764f1919fada42986cfb6e370a96",
468+
},
448469
["0.17.0"] = {
449470
url = {
450471
GLOBAL = "https://github.com/mcpplibs/openkal-windows/archive/refs/tags/0.17.0.tar.gz",

‎pkgs/o/openkal.lua‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ package = {
2222

2323
xpm = {
2424
linux = {
25+
["0.22.0"] = {
26+
url = {
27+
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.22.0.tar.gz",
28+
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.22.0/openkal-0.22.0.tar.gz",
29+
},
30+
sha256 = "ca5ecbd31d4f3041766c818430b1c67087c9bd871f2fbcf7537825ec48e0a9b6",
31+
},
2532
["0.21.0"] = {
2633
url = {
2734
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.21.0.tar.gz",
@@ -171,6 +178,13 @@ package = {
171178
},
172179
},
173180
macosx = {
181+
["0.22.0"] = {
182+
url = {
183+
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.22.0.tar.gz",
184+
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.22.0/openkal-0.22.0.tar.gz",
185+
},
186+
sha256 = "ca5ecbd31d4f3041766c818430b1c67087c9bd871f2fbcf7537825ec48e0a9b6",
187+
},
174188
["0.21.0"] = {
175189
url = {
176190
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.21.0.tar.gz",
@@ -320,6 +334,13 @@ package = {
320334
},
321335
},
322336
windows = {
337+
["0.22.0"] = {
338+
url = {
339+
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.22.0.tar.gz",
340+
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.22.0/openkal-0.22.0.tar.gz",
341+
},
342+
sha256 = "ca5ecbd31d4f3041766c818430b1c67087c9bd871f2fbcf7537825ec48e0a9b6",
343+
},
323344
["0.21.0"] = {
324345
url = {
325346
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.21.0.tar.gz",

‎tests/examples/openkal/mcpp.toml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,22 @@ name = "openkal-tests"
1818
version = "0.1.0"
1919

2020
[dependencies.mcpplibs]
21-
openkal = "0.21.0"
21+
openkal = "0.22.0"
2222

2323
[target.'cfg(os = "linux")'.dependencies.mcpplibs]
24-
openkal-linux = "0.22.0"
24+
openkal-linux = "0.23.0"
2525

2626
[target.'cfg(os = "macos")'.dependencies.mcpplibs]
27-
openkal-macos = "0.19.0"
27+
openkal-macos = "0.20.0"
2828

2929
[target.'cfg(windows)'.dependencies.mcpplibs]
30-
openkal-windows = "0.17.0"
30+
openkal-windows = "0.18.0"
3131

3232
[target.'cfg(all(os = "linux", env = "musl"))'.dependencies.mcpplibs]
3333
openkal-llvm-runtime = "0.17.1"
3434

3535
[target.'cfg(arch = "wasm32")'.dependencies.mcpplibs]
36-
openkal-emscripten = "0.10.0"
36+
openkal-emscripten = "0.11.0"
3737

3838
[target.'cfg(arch = "riscv64")'.dependencies.mcpplibs]
3939
openkal-opensbi = "0.8.3"

‎tests/examples/openkal/tests/kal.cpp‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
// this program is told the memory it occupies and its peak, and a region is
1414
// reserved, backed, written, its backing returned and backed again reading
1515
// zero, and released; (0.21) where the implementation states it, part of an
16-
// executable region is a file's bytes, read from where the file holds them.
16+
// executable region is a file's bytes, read from where the file holds them;
17+
// (0.22) the null device beside a stream at one position is refused, and is
18+
// refused as unsupported where the implementation does not state it.
1719
// The terminal is not observed here,
1820
// because a test run has none; the implementations observe it on a terminal
1921
// they make.
@@ -118,6 +120,29 @@ int main() {
118120
"a joined command line is refused where programs receive vectors");
119121
}
120122

123+
if (root.h) {
124+
const char* argv[] = { "x" };
125+
const kal_uintptr lens[] = { 1 };
126+
kal_process p{};
127+
if ((kal_process_props() & KAL_PROCESS_PROP_NULL_STREAMS) == 0) {
128+
const kal_spawn how{ root, root, nullptr, nullptr, 0, KAL_SPAWN_NULL_OUT };
129+
check(kal_process_spawn(&how, "x", 1, argv, lens, 1, nullptr, nullptr, 0, nullptr, &p)
130+
== kal_err_not_supported,
131+
"the null device is refused where the implementation does not state it");
132+
} else if (kal_process_props() & KAL_PROCESS_PROP_CHANNEL) {
133+
kal_stream mine{}, theirs{};
134+
if (kal_process_channel(&mine, &theirs) == kal_ok) {
135+
const kal_spawn_streams placed{ kal_stream{0}, theirs, kal_stream{0} };
136+
const kal_spawn how{ root, root, nullptr, nullptr, 0, KAL_SPAWN_NULL_OUT };
137+
check(kal_process_spawn(&how, "x", 1, argv, lens, 1, nullptr, nullptr, 0, &placed, &p)
138+
== kal_err_invalid,
139+
"the null device beside a stream at one position is refused");
140+
kal_process_channel_close(theirs);
141+
kal_process_channel_close(mine);
142+
}
143+
}
144+
}
145+
121146
if (root.h && (kal_interfaces() & KAL_IFACE_MAP) != 0) {
122147
kal_file f{};
123148
if (kal_fs_open(root, "okt.m", 5, KAL_OPEN_READ | KAL_OPEN_WRITE | KAL_OPEN_CREATE | KAL_OPEN_TRUNCATE, &f) == kal_ok) {

0 commit comments

Comments
 (0)