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
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ jobs:
"/tmp/xlings-${XLINGS_VERSION}-linux-x86_64/subos/default/bin/xlings" self install
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"

- name: Install workspace tools (.xlings.json → mcpp 0.0.4)
- name: Install workspace tools (.xlings.json → mcpp 0.0.7)
run: xlings install -y

# Cache mcpp's self-bootstrapped sandbox (musl-gcc + binutils +
# glibc + ninja + patchelf, ~800 MB). Toolchain set is pinned by
# mcpp 0.0.4, so a fixed key suffices.
# mcpp 0.0.7, so a fixed key suffices.
- name: Cache mcpp sandbox
uses: actions/cache@v4
with:
path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.4/registry
key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.4
path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.7/registry
key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.7

- name: Build with mcpp
run: mcpp build

# mcpp 0.0.4 auto-prepends sandbox PATH (patchelf, ninja) for
# mcpp 0.0.7 auto-prepends sandbox PATH (patchelf, ninja) for
# test binaries, so Linux elfpatch tests run without manual PATH
# setup. Only macOS-specific tests (need install_name_tool) are
# filtered — they can't run on a Linux runner.
Expand Down
2 changes: 1 addition & 1 deletion .xlings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"workspace": {
"mcpp": { "linux": "0.0.4" }
"mcpp": { "linux": "0.0.7" }
}
}
17 changes: 3 additions & 14 deletions mcpp.toml
Original file line number Diff line number Diff line change
@@ -1,27 +1,16 @@
[package]
name = "mcpplibs.xpkg"
namespace = "mcpplibs"
name = "xpkg"
version = "0.0.39"
description = "C++23 reference implementation of the xpkg V1 spec — `import mcpplibs.xpkg;`"
description = "C++23 reference implementation of the xpkg V1 spec"
license = "Apache-2.0"
repo = "https://github.com/openxlings/libxpkg"

[targets.xpkg]
kind = "lib"

# Library-root convention picks `src/xpkg.cppm` automatically.
# The package ships five separate modules under the `mcpplibs.xpkg.*`
# namespace (loader, index, executor, lua_stdlib) — they sit alongside
# the primary `mcpplibs.xpkg` and all roll into the single libxpkg.a.
#
# `src/xpkg-lua-stdlib.cppm` is generated from `src/lua-stdlib/**/*.lua`
# at xmake build time (see `before_build` in xmake.lua); the current
# generated copy is committed so mcpp builds work without invoking the
# xmake codegen path. Regenerate via `xmake build mcpplibs-xpkg-lua-stdlib`
# whenever the .lua sources change.

[dependencies]
"mcpplibs.capi.lua" = "0.0.3"

# `mcpp test` discovers tests/**/*.cpp + tests/**/*.cppm automatically.
[dev-dependencies]
gtest = "1.15.2"
6 changes: 0 additions & 6 deletions tests/main.cpp

This file was deleted.

Loading