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
17 changes: 14 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ name: CI
# run under node (checks/emscripten); a program that starts one
# fails at LINK naming the openkal symbol (checks/absent)
#
# The library is built with the released mcpp, 2026.10.30.1: it selects
# openkal-platform 0.18.0, which the ok images and checks/hosted take their C
# library and C++ run-time from (openkal-linux 0.18.3 among them). The library
# The library is built with the released mcpp, 2026.10.30.1. The ok images
# (MCPP_PLATFORM) and checks/hosted (its manifest) select openkal-platform
# 0.19.0 and take their C library and C++ run-time from it (openkal 0.18's
# implementations among them). The library
# itself needs 2026.10.27.1 or later, the first that selects a platform
# (SPEC-013). A dispatch may name a branch of mcpp instead (`mcpp_ref'), which
# the latest released mcpp builds and which is then used.
Expand Down Expand Up @@ -217,6 +218,11 @@ jobs:
name: tests as ok images (built once)
runs-on: ubuntu-24.04
timeout-minutes: 120
env:
# openkal 0.18.0, which this release is written against, is the one
# openkal-platform 0.19.0's version group names; the released mcpp's
# openkal rows pin 0.18.0, whose group names openkal 0.17.1.
MCPP_PLATFORM: openkal-platform@0.19.0
defaults:
run:
shell: bash
Expand Down Expand Up @@ -262,6 +268,11 @@ jobs:
needs: images
runs-on: ${{ matrix.os }}
timeout-minutes: 45
env:
# openkal 0.18.0, which this release is written against, is the one
# openkal-platform 0.19.0's version group names; the released mcpp's
# openkal rows pin 0.18.0, whose group names openkal 0.17.1.
MCPP_PLATFORM: openkal-platform@0.19.0
strategy:
fail-fast: false
matrix:
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.2.4

- **openkal 0.18.** The implementations of openkal 0.18 (openkal-linux 0.19.0,
openkal-macos 0.16.0, openkal-windows 0.14.0), which provide `openkal.map`;
`checks/hosted` takes its C library and C++ run-time from openkal-platform
0.19.0, whose okrun maps the image it runs. Emscripten takes
openkal-emscripten 0.7.0, written against openkal 0.18.0, which leaves
`openkal.map` absent.
- **An ok image over this release selects openkal-platform 0.19.0** or a
later group naming openkal 0.18 (`platform = "openkal-platform@0.19.0"` under
the `openkal` target, or `--platform`): the openkal rows of mcpp 2026.10.31.2
pin 0.18.0, whose group names openkal 0.17.1.

## 0.2.3

- **openkal-linux 0.18.3.** Every directory handle is opened with `O_PATH`, so a
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ with compile-time platform constants and a few platform modules.

```toml
[dependencies]
os = { namespace = "mcpplibs", version = "0.2.3" }
os = { namespace = "mcpplibs", version = "0.2.4" }
```

```cpp
Expand Down
2 changes: 1 addition & 1 deletion checks/hosted/mcpp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ version = "0.1.0"
os = { path = "../.." }

[target.'cfg(any(linux, macos, windows))']
platform = "openkal-platform@0.18.0"
platform = "openkal-platform@0.19.0"

# The tests are the package's own, each reached by an include from
# tests/<name>.cpp here (a test program is a file of the package that runs it).
Expand Down
12 changes: 6 additions & 6 deletions mcpp.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
namespace = "mcpplibs"
name = "os"
version = "0.2.3"
version = "0.2.4"
description = "mcpplibs.os: a C++ operating-system library over openkal --- processes, files, environment, terminals, directories and local IPC, with compile-time platform constants and a few platform modules."
license = "Apache-2.0"
authors = ["mcpplibs"]
Expand All @@ -12,23 +12,23 @@ repo = "https://github.com/mcpplibs/os"
# own C and C++ runtime. A program that wants the standalone arrangement, or
# the image arrangement of `<arch>-openkal`, selects it in its own manifest.
[dependencies]
openkal = "0.17.1"
openkal = "0.18.0"

[target.linux.dependencies]
openkal-linux = "0.18.3"
openkal-linux = "0.19.0"

[target.macos.dependencies]
openkal-macos = "0.15.1"
openkal-macos = "0.16.0"

[target.windows.dependencies]
openkal-windows = "0.13.3"
openkal-windows = "0.14.0"

# Emscripten (`wasm32-emscripten`): openkal written above the C library, with
# twelve of openkal's fifteen interfaces. `openkal.process', `openkal.exec' and
# `openkal.space' are absent, so a program that starts one fails at link
# naming the symbol; `openkal.task' is present in a `-pthread' link only.
[target.'cfg(os = "emscripten")'.dependencies]
openkal-emscripten = "0.6.0"
openkal-emscripten = "0.7.0"

[targets.os]
kind = "lib"
Expand Down
Loading