Skip to content

Commit 2dd30cb

Browse files
openkal-musl 0.22.0, openkal-llvm-runtime 0.16.0, and the ok-image packages (#570)
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent a2b7dae commit 2dd30cb

10 files changed

Lines changed: 219 additions & 2 deletions

File tree

‎mcpp.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ members = [
224224
"tests/examples/openkal",
225225
"tests/examples/openkal-musl",
226226
"tests/examples/compiler-rt-builtins",
227+
"tests/examples/openkal-tools",
227228
]
228229

229230
# ── The index redirect, hoisted to the workspace root ───────────────────

‎pkgs/o/openkal-ld.lua‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
-- openkal-ld --- libokld, the ok format's library (openkal SPEC clause 12).
2+
--
3+
-- One of the three packages of mcpplibs/openkal-image, which share one tag
4+
-- and one archive; each descriptor names its member's manifest. Freestanding:
5+
-- the definition of the format, a reader, a checker, a signer and a loader, for
6+
-- a loader (openkal-run), the tools (openkal-tools) and a C library that
7+
-- loads an image beside itself (openkal-musl's dlopen in an ok image).
8+
--
9+
-- No `deps'. The package names nothing beneath it.
10+
package = {
11+
spec = "1",
12+
namespace = "mcpplibs",
13+
name = "openkal-ld",
14+
description = "libokld: the ok format (openkal image format) --- its definition, a reader of bytes, a checker, a signer, and a loader. Freestanding: no C library, no exceptions",
15+
licenses = {"Apache-2.0"},
16+
repo = "https://github.com/mcpplibs/openkal-image",
17+
type = "package",
18+
19+
xpm = {
20+
linux = {
21+
["0.1.0"] = {
22+
url = {
23+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
24+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
25+
},
26+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
27+
},
28+
},
29+
macosx = {
30+
["0.1.0"] = {
31+
url = {
32+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
33+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
34+
},
35+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
36+
},
37+
},
38+
windows = {
39+
["0.1.0"] = {
40+
url = {
41+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
42+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
43+
},
44+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
45+
},
46+
},
47+
},
48+
49+
mcpp = "*/ld/mcpp.toml",
50+
}

‎pkgs/o/openkal-llvm-runtime.lua‎

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

7676
xpm = {
7777
linux = {
78+
["0.16.0"] = {
79+
url = {
80+
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.0.tar.gz",
81+
CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.16.0/openkal-llvm-runtime-0.16.0.tar.gz",
82+
},
83+
sha256 = "bd0ad0997f9b5639c8298f4947485a6959a954b0da49e346c0dd4562420bf352",
84+
},
7885
["0.15.6"] = {
7986
url = {
8087
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.15.6.tar.gz",
@@ -301,6 +308,13 @@ package = {
301308
},
302309
},
303310
macosx = {
311+
["0.16.0"] = {
312+
url = {
313+
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.0.tar.gz",
314+
CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.16.0/openkal-llvm-runtime-0.16.0.tar.gz",
315+
},
316+
sha256 = "bd0ad0997f9b5639c8298f4947485a6959a954b0da49e346c0dd4562420bf352",
317+
},
304318
["0.15.6"] = {
305319
url = {
306320
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.15.6.tar.gz",
@@ -527,6 +541,13 @@ package = {
527541
},
528542
},
529543
windows = {
544+
["0.16.0"] = {
545+
url = {
546+
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.0.tar.gz",
547+
CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.16.0/openkal-llvm-runtime-0.16.0.tar.gz",
548+
},
549+
sha256 = "bd0ad0997f9b5639c8298f4947485a6959a954b0da49e346c0dd4562420bf352",
550+
},
530551
["0.15.6"] = {
531552
url = {
532553
GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.15.6.tar.gz",

‎pkgs/o/openkal-musl.lua‎

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

6565
xpm = {
6666
linux = {
67+
["0.22.0"] = {
68+
url = {
69+
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.22.0.tar.gz",
70+
CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.22.0/openkal-musl-0.22.0.tar.gz",
71+
},
72+
sha256 = "28779cba8bd509b9aa4360f6918b0bab28e594a188d69c808ba00f692454f892",
73+
},
6774
["0.21.1"] = {
6875
url = {
6976
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.21.1.tar.gz",
@@ -304,6 +311,13 @@ package = {
304311
},
305312
},
306313
macosx = {
314+
["0.22.0"] = {
315+
url = {
316+
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.22.0.tar.gz",
317+
CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.22.0/openkal-musl-0.22.0.tar.gz",
318+
},
319+
sha256 = "28779cba8bd509b9aa4360f6918b0bab28e594a188d69c808ba00f692454f892",
320+
},
307321
["0.21.1"] = {
308322
url = {
309323
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.21.1.tar.gz",
@@ -544,6 +558,13 @@ package = {
544558
},
545559
},
546560
windows = {
561+
["0.22.0"] = {
562+
url = {
563+
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.22.0.tar.gz",
564+
CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.22.0/openkal-musl-0.22.0.tar.gz",
565+
},
566+
sha256 = "28779cba8bd509b9aa4360f6918b0bab28e594a188d69c808ba00f692454f892",
567+
},
547568
["0.21.1"] = {
548569
url = {
549570
GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.21.1.tar.gz",

‎pkgs/o/openkal-run.lua‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
-- openkal-run --- libokrun, the runner of ok images (openkal SPEC clause 12).
2+
--
3+
-- A member of mcpplibs/openkal-image (one tag, one archive). It maps an image
4+
-- with libokld and binds what the image imports to the implementation of
5+
-- openkal for the system it is built for, which its own manifest names under
6+
-- `[target.<os>.dependencies]`. `okrun` is built from it, and so is a program
7+
-- that carries an image as a section (`mcpp pack --mode self-contained`, M3).
8+
--
9+
-- No `deps'. The package names openkal, openkal-ld and the implementation.
10+
package = {
11+
spec = "1",
12+
namespace = "mcpplibs",
13+
name = "openkal-run",
14+
description = "libokrun: the runner of ok images over this system's openkal implementation --- it maps an image with libokld and binds the kal_* names it imports to this process's implementation",
15+
licenses = {"Apache-2.0"},
16+
repo = "https://github.com/mcpplibs/openkal-image",
17+
type = "package",
18+
19+
xpm = {
20+
linux = {
21+
["0.1.0"] = {
22+
url = {
23+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
24+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
25+
},
26+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
27+
},
28+
},
29+
macosx = {
30+
["0.1.0"] = {
31+
url = {
32+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
33+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
34+
},
35+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
36+
},
37+
},
38+
windows = {
39+
["0.1.0"] = {
40+
url = {
41+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
42+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
43+
},
44+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
45+
},
46+
},
47+
},
48+
49+
mcpp = "*/run/mcpp.toml",
50+
}

‎pkgs/o/openkal-tools.lua‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-- openkal-tools --- okrun and okld (openkal SPEC clause 12).
2+
--
3+
-- A member of mcpplibs/openkal-image (one tag, one archive). A project that
4+
-- builds ok images (`<arch>-openkal`) declares it for this machine:
5+
--
6+
-- [build-dependencies]
7+
-- openkal-tools = { version = "0.1.0", tools = ["okld", "okrun"] }
8+
--
9+
-- mcpp finishes each image with okld and runs it with okrun.
10+
--
11+
-- No `deps'. The package names openkal-run and openkal-ld.
12+
package = {
13+
spec = "1",
14+
namespace = "mcpplibs",
15+
name = "openkal-tools",
16+
description = "okrun and okld: the runner of ok images, and the tool that writes an image's requirements note, checks the convention and signs it",
17+
licenses = {"Apache-2.0"},
18+
repo = "https://github.com/mcpplibs/openkal-image",
19+
type = "package",
20+
21+
xpm = {
22+
linux = {
23+
["0.1.0"] = {
24+
url = {
25+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
26+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
27+
},
28+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
29+
},
30+
},
31+
macosx = {
32+
["0.1.0"] = {
33+
url = {
34+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
35+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
36+
},
37+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
38+
},
39+
},
40+
windows = {
41+
["0.1.0"] = {
42+
url = {
43+
GLOBAL = "https://github.com/mcpplibs/openkal-image/archive/refs/tags/0.1.0.tar.gz",
44+
CN = "https://gitcode.com/mcpp-res/openkal-image/releases/download/0.1.0/openkal-image-0.1.0.tar.gz",
45+
},
46+
sha256 = "50d79f5a2ba9404e533693527b93a0e2e76f250840939b64bf2ea97a21cb414b",
47+
},
48+
},
49+
},
50+
51+
mcpp = "*/tools/mcpp.toml",
52+
}

‎tests/examples/openkal-musl/mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ name = "openkal-musl-tests"
88
version = "0.1.0"
99

1010
[target.'cfg(os = "linux")'.dependencies.mcpplibs]
11-
openkal-musl = "0.21.1"
11+
openkal-musl = "0.22.0"
1212

1313
[target.'cfg(os = "linux")'.build]
1414
cxxflags = ["-DHAVE_OPENKAL_MUSL=1"]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# openkal-tools test project: okrun and okld, built for this machine as a
2+
# project that makes ok images declares them, on every runner. The build of
3+
# the tools is the observation (openkal-tools over openkal-run over openkal-ld
4+
# and this system's openkal implementation, from one archive); the program
5+
# names where mcpp put them. Images themselves are built and run by
6+
# mcpplibs/openkal-image's own CI and by mcpp's (e2e 942).
7+
[package]
8+
name = "openkal-tools-tests"
9+
version = "0.1.0"
10+
11+
[build-dependencies.mcpplibs]
12+
openkal-tools = { version = "0.1.0", tools = ["okld", "okrun"] }
13+
14+
[indices]
15+
mcpplibs = { path = "../../.." }
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// The tools a project that makes ok images declares are built for this machine.
2+
import std;
3+
4+
int main() {
5+
std::println("openkal-tools-tests: okld and okrun were built for this machine");
6+
return 0;
7+
}

‎tests/examples/openkal/mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ openkal-macos = "0.15.0"
3030
openkal-windows = "0.13.0"
3131

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

3535
[target.'cfg(arch = "wasm32")'.dependencies.mcpplibs]
3636
openkal-emscripten = "0.5.0"

0 commit comments

Comments
 (0)