From b3ecec33b7bcb9d8ba3cdc225cfa030b5dc5c546 Mon Sep 17 00:00:00 2001 From: speak-agent Date: Sat, 22 Aug 2026 23:09:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?deps:=20=E6=94=B9=E7=94=A8=20git=20+=20?= =?UTF-8?q?=E5=88=86=E6=94=AF=E8=B7=9F=E9=9A=8F=20openkal=20=E7=9A=84?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 同时把 origin 换成 SSH:它此前指向 HTTPS,而这个账号在那条路径上没有写权限 —— 报出来的是 403,读起来像仓库不存在。 --- mcpp.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcpp.toml b/mcpp.toml index 40a2622..fe4059b 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -22,7 +22,7 @@ authors = ["mcpplibs"] repo = "https://github.com/mcpplibs/openkal-uefi" [dependencies] -openkal = "0.5.1" +openkal = { git = "https://github.com/mcpplibs/openkal", branch = "feat/openkal-closure" } [build] flags = [ From 3d1d8b3c4de01a557e7aec81a459713b44a2d133 Mon Sep 17 00:00:00 2001 From: speak-agent Date: Sat, 22 Aug 2026 23:20:10 +0800 Subject: [PATCH 2/4] =?UTF-8?q?deps:=20=E4=BE=8B=E5=AD=90=E4=B9=9F?= =?UTF-8?q?=E8=A6=81=E8=B7=9F=E7=9D=80=E8=BF=99=E6=9D=A1=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 例子仍用版本号依赖 openkal,而仓库本身改成了 git 依赖 —— 两种形式不能并存, CI 报的是 'requested as both a version dep and a git dep'。 一次改依赖形式,要改的是**图里的每一处**,而例子也在图里。 --- examples/hello/mcpp.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hello/mcpp.toml b/examples/hello/mcpp.toml index 56a0b82..90382c3 100644 --- a/examples/hello/mcpp.toml +++ b/examples/hello/mcpp.toml @@ -11,5 +11,5 @@ target = "x86_64-windows-gnu" ldflags = ["-nostdlib", "-Wl,--subsystem,10", "-Wl,-e,efi_main"] [dependencies] -openkal = "0.5.1" +openkal = { git = "https://github.com/mcpplibs/openkal", branch = "feat/openkal-closure" } openkal-uefi = { path = "../.." } From 1ea71e5f948ec9f01419f2462d8b3bea2bc5eb6d Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Mon, 24 Aug 2026 05:03:28 +0800 Subject: [PATCH 3/4] feat: declare the kernel-abi layer this package supplies mcpp resolves the target side per layer after the dependency graph is known, and reads which layer a package fills from its capabilities. Declaring `mcpp:kernel-abi=openkal` states that this package implements the platform interface a C library sits on, and that it answers to the name `openkal`. The engine knows the three layer names and none of the implementations that fill them, so nothing about openkal appears in mcpp for this to work. Claude-Session: https://claude.ai/code/session_01Q4ucduLuSsETHYJ1RkGVVD --- mcpp.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mcpp.toml b/mcpp.toml index fe4059b..249608e 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -18,6 +18,16 @@ name = "openkal-uefi" version = "0.1.0" description = "An implementation of openkal on UEFI Boot Services, for applications the firmware loads before an operating system exists" license = "Apache-2.0" + +# The layer this package supplies, in the vocabulary the engine resolves. +# +# `mcpp:kernel-abi` names the platform interface a C library sits on. On a +# traditional stack that seam is unnamed — a C library issues system calls or +# calls the platform's own entry points directly — and naming it is what lets +# one C library sit above several platforms. `=openkal` is the interface this +# package answers to; several packages answer to it and the engine knows none +# of them by name. +provides = ["mcpp:kernel-abi=openkal"] authors = ["mcpplibs"] repo = "https://github.com/mcpplibs/openkal-uefi" From 5f460cc04e596dae30aff58c99204512c3c8b5e1 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Mon, 24 Aug 2026 05:33:13 +0800 Subject: [PATCH 4/4] chore: 0.1.1 The manifest states a capability the previous release did not, and the index serves published tarballs rather than branches. A consumer resolving through the index would otherwise get content in which this package declares no layer, and the engine would resolve its target side to the compiler payload. Claude-Session: https://claude.ai/code/session_01Q4ucduLuSsETHYJ1RkGVVD --- mcpp.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcpp.toml b/mcpp.toml index 249608e..4cb9118 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -15,7 +15,7 @@ [package] namespace = "mcpplibs" name = "openkal-uefi" -version = "0.1.0" +version = "0.1.1" description = "An implementation of openkal on UEFI Boot Services, for applications the firmware loads before an operating system exists" license = "Apache-2.0"