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
74 changes: 74 additions & 0 deletions pkgs/o/openkal-kit.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
-- openkal-kit --- facilities composed from openkal's interfaces.
--
-- Form A because the package is described by its own mcpp.toml.
--
-- ⭐ PUBLISHED OUT OF THE SPECIFICATION'S OWN TARBALL, at `*/kit/mcpp.toml`.
-- The precedent is grpc-plugin and grpcgen, which are published the same way
-- out of grpc-m's archive, and it is why the version key here need not equal
-- the tag: openkal-kit 0.1.0 comes from openkal's 0.8.0 archive.
--
-- The package's own manifest reaches the specification by `path = ".."` and its
-- headers by `include_dirs = ["../include"]`. Both escape the package's
-- directory and hold because the whole archive is extracted and the manifest is
-- then located within it --- which is what the glob below expresses.
--
-- WHY IT IS A SEPARATE PACKAGE AND NOT PART OF THE SPECIFICATION.
--
-- openkal admits an interface only when it is a minimal capability every kernel
-- has and cannot be composed from the interfaces already present. That rule is
-- what keeps openkal implementable on a machine with firmware and nothing else,
-- and it leaves a gap: awaiting two streams at once, or parsing an endpoint out
-- of a configuration file, are composed rather than primitive. This package is
-- where such a composition is written once.
--
-- The distinction is structural rather than stated. Clause 10 makes openkal's
-- contract a C application binary interface; this package exports no name
-- beginning with `kal_` and is C++ modules in `namespace kal::kit`, so a
-- program linking it is not read as an implementation that has added names.
-- The consequence that matters is that this package MAY evolve, which clause 8
-- forbids the specification from doing.
--
-- No `deps`. Its one dependency is the specification, named in its own manifest
-- and satisfied from within the same archive.
package = {
spec = "1",
namespace = "mcpplibs",
name = "openkal-kit",
description = "Facilities composed from openkal's interfaces, and not part of the specification",
licenses = {"Apache-2.0"},
repo = "https://github.com/mcpplibs/openkal",
type = "package",

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

-- The package's own manifest, in the kit's directory inside the wrap.
mcpp = "*/kit/mcpp.toml",
}
21 changes: 21 additions & 0 deletions pkgs/o/openkal.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ package = {

xpm = {
linux = {
["0.8.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.8.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.8.0/openkal-0.8.0.tar.gz",
},
sha256 = "c0e758847847baac55763f2056881760834892252f35b2e671bff310d7dd0b34",
},
["0.7.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.7.0.tar.gz",
Expand Down Expand Up @@ -59,6 +66,13 @@ package = {
},
},
macosx = {
["0.8.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.8.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.8.0/openkal-0.8.0.tar.gz",
},
sha256 = "c0e758847847baac55763f2056881760834892252f35b2e671bff310d7dd0b34",
},
["0.7.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.7.0.tar.gz",
Expand Down Expand Up @@ -96,6 +110,13 @@ package = {
},
},
windows = {
["0.8.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.8.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/openkal/releases/download/0.8.0/openkal-0.8.0.tar.gz",
},
sha256 = "c0e758847847baac55763f2056881760834892252f35b2e671bff310d7dd0b34",
},
["0.7.0"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/openkal/archive/refs/tags/0.7.0.tar.gz",
Expand Down
Loading