diff --git a/pkgs/o/openkal-freebsd.lua b/pkgs/o/openkal-freebsd.lua index 0acb52ab..f2e3954a 100644 --- a/pkgs/o/openkal-freebsd.lua +++ b/pkgs/o/openkal-freebsd.lua @@ -22,6 +22,13 @@ package = { xpm = { linux = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-freebsd/releases/download/0.1.2/openkal-freebsd-0.1.2.tar.gz", + }, + sha256 = "4ea0ff9450a8d3935db9b24e8701f1f5a0ad00a1d42ca05214e8c3f9b896170e", + }, ["0.1.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.0.tar.gz", @@ -31,6 +38,13 @@ package = { }, }, macosx = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-freebsd/releases/download/0.1.2/openkal-freebsd-0.1.2.tar.gz", + }, + sha256 = "4ea0ff9450a8d3935db9b24e8701f1f5a0ad00a1d42ca05214e8c3f9b896170e", + }, ["0.1.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.0.tar.gz", @@ -40,6 +54,13 @@ package = { }, }, windows = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-freebsd/releases/download/0.1.2/openkal-freebsd-0.1.2.tar.gz", + }, + sha256 = "4ea0ff9450a8d3935db9b24e8701f1f5a0ad00a1d42ca05214e8c3f9b896170e", + }, ["0.1.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-freebsd/archive/refs/tags/0.1.0.tar.gz", diff --git a/pkgs/o/openkal-llvm-runtime.lua b/pkgs/o/openkal-llvm-runtime.lua index 1f3cce27..905be53c 100644 --- a/pkgs/o/openkal-llvm-runtime.lua +++ b/pkgs/o/openkal-llvm-runtime.lua @@ -78,6 +78,13 @@ package = { xpm = { linux = { + ["0.20.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.20.2/openkal-llvm-runtime-0.20.2.tar.gz", + }, + sha256 = "c0bbf3ca41288b02e0069aed4124ae62e62edea369f9b30c6ad562c159afd672", + }, ["0.20.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.1.tar.gz", @@ -521,6 +528,13 @@ package = { }, }, macosx = { + ["0.20.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.20.2/openkal-llvm-runtime-0.20.2.tar.gz", + }, + sha256 = "c0bbf3ca41288b02e0069aed4124ae62e62edea369f9b30c6ad562c159afd672", + }, ["0.20.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.1.tar.gz", @@ -964,6 +978,13 @@ package = { }, }, windows = { + ["0.20.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.20.2/openkal-llvm-runtime-0.20.2.tar.gz", + }, + sha256 = "c0bbf3ca41288b02e0069aed4124ae62e62edea369f9b30c6ad562c159afd672", + }, ["0.20.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.20.1.tar.gz", diff --git a/pkgs/o/openkal-musl.lua b/pkgs/o/openkal-musl.lua index c5fba3c1..56af74bc 100644 --- a/pkgs/o/openkal-musl.lua +++ b/pkgs/o/openkal-musl.lua @@ -81,6 +81,13 @@ package = { xpm = { linux = { + ["0.29.5"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.5.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.29.5/openkal-musl-0.29.5.tar.gz", + }, + sha256 = "ddd8c4467f8d9c1d43b1f468f79b5318a5bfd4fda5ad34c0442101de23f4e7fa", + }, ["0.29.4"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.4.tar.gz", @@ -552,6 +559,13 @@ package = { }, }, macosx = { + ["0.29.5"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.5.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.29.5/openkal-musl-0.29.5.tar.gz", + }, + sha256 = "ddd8c4467f8d9c1d43b1f468f79b5318a5bfd4fda5ad34c0442101de23f4e7fa", + }, ["0.29.4"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.4.tar.gz", @@ -1023,6 +1037,13 @@ package = { }, }, windows = { + ["0.29.5"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.5.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.29.5/openkal-musl-0.29.5.tar.gz", + }, + sha256 = "ddd8c4467f8d9c1d43b1f468f79b5318a5bfd4fda5ad34c0442101de23f4e7fa", + }, ["0.29.4"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.29.4.tar.gz", diff --git a/pkgs/o/openkal-uefi.lua b/pkgs/o/openkal-uefi.lua index 7ca91f27..861356ed 100644 --- a/pkgs/o/openkal-uefi.lua +++ b/pkgs/o/openkal-uefi.lua @@ -1,14 +1,12 @@ -- openkal-uefi — openkal on UEFI Boot Services. -- --- ⚠️ The consuming project targets `x86_64-windows-gnu` with three link flags --- (`-nostdlib`, `--subsystem,10`, `-e,efi_main`), which is not a workaround: a --- UEFI application IS PE/COFF with subsystem 10, entered through the Microsoft --- x64 calling convention, and that target already has both properties. --- --- An earlier analysis held that a new "PE freestanding" target would be needed --- first. Measured otherwise — the flags above produce --- IMAGE_SUBSYSTEM_EFI_APPLICATION with no DLL imports, verified booting under --- OVMF. +-- From 0.9.0 a project names the target `x86_64-uefi` and nothing else: the +-- row (clang's `x86_64-unknown-uefi`, PE32+ with the EFI application subsystem), +-- its compile and link conventions and its runner (QEMU's q35 with the edk2 +-- firmware, through dirun) are the platform package openkal-uefi-platform's, +-- which selects this implementation. Before 0.9.0 a consuming project targeted +-- `x86_64-windows-gnu` with three link flags (`-nostdlib`, `--subsystem,10`, +-- `-e,efi_main`); the platform states the same facts once. package = { spec = "1", namespace = "mcpplibs", @@ -20,6 +18,13 @@ package = { xpm = { linux = { + ["0.9.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.9.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.9.0/openkal-uefi-0.9.0.tar.gz", + }, + sha256 = "1581fffd2bc4e44502ad02c68c3ee19fa94241a70de8a0b61df0952acca952d7", + }, ["0.8.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.8.1.tar.gz", @@ -106,6 +111,13 @@ package = { }, }, macosx = { + ["0.9.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.9.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.9.0/openkal-uefi-0.9.0.tar.gz", + }, + sha256 = "1581fffd2bc4e44502ad02c68c3ee19fa94241a70de8a0b61df0952acca952d7", + }, ["0.8.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.8.1.tar.gz", @@ -192,6 +204,13 @@ package = { }, }, windows = { + ["0.9.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.9.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.9.0/openkal-uefi-0.9.0.tar.gz", + }, + sha256 = "1581fffd2bc4e44502ad02c68c3ee19fa94241a70de8a0b61df0952acca952d7", + }, ["0.8.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.8.1.tar.gz", diff --git a/tests/examples/openkal/mcpp.toml b/tests/examples/openkal/mcpp.toml index 6d5dff90..ca690e78 100644 --- a/tests/examples/openkal/mcpp.toml +++ b/tests/examples/openkal/mcpp.toml @@ -9,10 +9,10 @@ # (tests/autoupdate/ci.py, `member_platforms`): an implementation for another # system is not in the host's lock, so asking that runner would prove nothing. # -# The last three entries are named under conditions no runner here builds for -# --- a musl environment, WebAssembly, a 64-bit RISC-V machine --- so the -# candidate gate schedules none of them, and their own repositories measure -# them on their targets. +# The last five entries are named under conditions no runner here builds for +# --- a musl environment, WebAssembly, a 64-bit RISC-V machine, FreeBSD, UEFI +# firmware --- so the candidate gate schedules none of them, and their own +# repositories measure them on their targets. [package] name = "openkal-tests" version = "0.1.0" @@ -41,6 +41,12 @@ openkal-emscripten = "0.14.0" [target.'cfg(arch = "riscv64")'.dependencies.mcpplibs] openkal-opensbi = "0.9.0" +[target.'cfg(os = "freebsd")'.dependencies.mcpplibs] +openkal-freebsd = "0.1.2" + +[target.'cfg(os = "uefi")'.dependencies.mcpplibs] +openkal-uefi = "0.9.0" + # This member names mcpplibs packages, which the workspace root's single # redirect does not carry, so it states its own (mcpp.toml at the root says why # a member that needs another namespace declares its own table).