Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions pkgs/o/openkal-opensbi.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
-- openkal-opensbi — openkal on the RISC-V Supervisor Binary Interface.
--
-- ⭐ The PORTABLE RISC-V backend, as distinct from a board's own. A board
-- backend writes to a device address, and that address is a board fact: the
-- same binary on a second RISC-V machine writes to something that is not a
-- UART and prints nothing. SBI's console is a call into firmware that already
-- knows the machine, so one image runs under OpenSBI on QEMU's `virt` and on a
-- real board without being rebuilt.
--
-- ⚠️ NO `deps`. The only mcpp dependency is the specification package, declared
-- in this package's own manifest; nothing needs installing.
package = {
spec = "1",
namespace = "mcpplibs",
name = "openkal-opensbi",
description = "An implementation of openkal on the RISC-V Supervisor Binary Interface, portable across every machine whose firmware provides one",
licenses = {"Apache-2.0"},
repo = "https://github.com/mcpplibs/openkal-opensbi",
type = "package",

xpm = {
linux = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-opensbi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-opensbi/releases/download/0.1.0/openkal-opensbi-0.1.0.tar.gz",
},
sha256 = "6b5b81be59171f6f0d8e5d2e586a7f502479a2f309efb7fb1ab17c77a7579884",
},
},
macosx = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-opensbi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-opensbi/releases/download/0.1.0/openkal-opensbi-0.1.0.tar.gz",
},
sha256 = "6b5b81be59171f6f0d8e5d2e586a7f502479a2f309efb7fb1ab17c77a7579884",
},
},
windows = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-opensbi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-opensbi/releases/download/0.1.0/openkal-opensbi-0.1.0.tar.gz",
},
sha256 = "6b5b81be59171f6f0d8e5d2e586a7f502479a2f309efb7fb1ab17c77a7579884",
},
},
},

-- The package's own manifest, inside the tarball's wrap directory.
mcpp = "*/mcpp.toml",
}
53 changes: 53 additions & 0 deletions pkgs/o/openkal-uefi.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
-- 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.
package = {
spec = "1",
namespace = "mcpplibs",
name = "openkal-uefi",
description = "An implementation of openkal on UEFI Boot Services, for applications the firmware loads before an operating system exists",
licenses = {"Apache-2.0"},
repo = "https://github.com/mcpplibs/openkal-uefi",
type = "package",

xpm = {
linux = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.1.0/openkal-uefi-0.1.0.tar.gz",
},
sha256 = "2b8a5035cd738e8b23d4ece7ea70cf6d2aba8c8b1150c613c8f1deb94092035a",
},
},
macosx = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.1.0/openkal-uefi-0.1.0.tar.gz",
},
sha256 = "2b8a5035cd738e8b23d4ece7ea70cf6d2aba8c8b1150c613c8f1deb94092035a",
},
},
windows = {
["0.1.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal-uefi/archive/refs/tags/0.1.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal-uefi/releases/download/0.1.0/openkal-uefi-0.1.0.tar.gz",
},
sha256 = "2b8a5035cd738e8b23d4ece7ea70cf6d2aba8c8b1150c613c8f1deb94092035a",
},
},
},

-- The package's own manifest, inside the tarball's wrap directory.
mcpp = "*/mcpp.toml",
}
Loading