feat: openkal 0.5.1 and the four packages that are written against it - #224
Merged
Conversation
Six packages, and the last two are what the first four exist to make possible.
openkal 0.5.1 the specification: the declarations in C as well as
in modules, five error values, five operations and
two naming rules that a C library above it could not
be written without, and a conformance suite of 97
observations that an implementation runs against
itself
openkal-linux 0.5.1 reimplemented on the kernel's own system-call
interface, so that a C library can sit above it
openkal-macos 0.3.1 reimplemented on that kernel's own calls, and two
names no C library defines
openkal-windows 0.1.1 new: an implementation on the Win32 interfaces and
the object manager beneath them, using no C runtime
symbol
openkal-musl 0.3.0 musl 1.2.5 redirected onto openkal --- 1345 sources
compiled unmodified, four patched lines, nine
replaced sources
sbase 0.1.0 new: the 97 suckless base utilities, sources
unmodified, running on Linux, macOS and Windows
sbase is the measurement rather than the demonstration. It has no Windows port
and does not build on macOS as it stands: three of its tools include a header of
the Linux C libraries and four use a field POSIX 2008 specifies that the other
system's C library does not have. Neither obstacle is in a kernel, and a C
library removes both by being present rather than by being adapted to. Fifty
comparisons against the system's own tools hold on all three.
Two version notes, both about a tag being the one thing that cannot be given a
second meaning. openkal 0.5.0 and its three implementations were tagged,
released and mirrored, and then found to carry files that describe a machine
rather than the package; the mirror allows neither replacing an asset nor
deleting a release, so the cleaned trees are 0.5.1, 0.3.1 and 0.1.1 and the
earlier tags are not carried here. openkal-musl was `openkal-libc' up to 0.2.0,
whose tags are still in that repository, so its first version under the new name
is 0.3.0; openkal-libc keeps its own descriptor for anything pinned to it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Six packages. The last two are what the first four exist to make possible.
openkalopenkal-linuxopenkal-macosopenkal-windowsopenkal-muslsbaseWhat sbase measures
sbase has no Windows port, and does not build on macOS as it stands:
three of its tools include
<sys/sysmacros.h>, a header of the Linux Clibraries, and four use
st_mtim, the field POSIX 2008 specifies, where thatsystem's C library has
st_mtimespec.Neither obstacle is in a kernel. Both are the C library, and a C library removes
them by being present rather than by being adapted to. Fifty comparisons against
the system's own tools — and against the answers the standard requires, where a
system's own spelling is not portable — hold on all three systems.
Two version notes
Both are about a tag being the one thing in a release chain that cannot be given
a second meaning.
0.5.0 is superseded, not corrected. openkal 0.5.0 and its three
implementations were tagged, released and mirrored, and then found to carry files
that describe a machine rather than the package. The mirror allows neither
replacing an asset nor deleting a release, so the cleaned trees are 0.5.1, 0.3.1
and 0.1.1, and the earlier tags are not carried here.
openkal-musl starts at 0.3.0. It was
openkal-libcup to 0.2.0, whose tagsare still in that repository.
openkal-libckeeps its own descriptor foranything pinned to it, and nothing is added to it.
Verified before opening this
mcpp-rescheck_mirror_urls.lua,check_package_name.luaandmcpp xpkg parseon all six descriptorsmain: openkal 12 jobs across gcc/llvm/msvc and three systems; openkal-windows under llvm, msvc and gcc; sbase 97 binaries and 50/50 comparisons on five rows