AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Xmake Repo Testing

skill-xmake-io-xmake-skills-xmake-repo-testing · by xmake-io

Use when adding or modifying a package recipe in the xmake-repo repository (github.com/xmake-io/xmake-repo) and you need to test-build it locally. Wraps the `xmake l scripts/test.lua` workflow with `--shallow`, platform/arch/mode/kind/configs flags so package changes can be verified quickly before submitting a PR.

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-xmake-io-xmake-skills-xmake-repo-testing

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-xmake-io-xmake-skills-xmake-repo-testing)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Xmake Repo Testing? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Testing Packages in xmake-repo

xmake-repo is the official package recipe repository. Each recipe is a packages///xmake.lua describing how to fetch, build, and install a library. The repo ships a test script at scripts/test.lua that drives a full install + test build of a recipe exactly like CI does.

Always run it from the xmake-repo checkout root.

The core command

xmake l scripts/test.lua -vD --shallow 
  • xmake l — run a Lua script in the xmake environment.
  • -v — verbose (show each sub-command).
  • -D — diagnosis (full tracebacks on failure; essential when debugging a broken recipe).
  • --shallowonly install the package you asked for, not its dependencies. Dependencies are pulled from the remote binary cache instead of rebuilt locally. This is the single most important flag for iterating quickly.
  • ` — the package name, e.g. fmt, zlib, boost`.

Example — test the fmt recipe:

cd xmake-repo
xmake l scripts/test.lua -vD --shallow fmt

Common variations

Version / branch

Append the version to the package name, same syntax as add_requires:

xmake l scripts/test.lua -vD --shallow "fmt 10.2.1"
xmake l scripts/test.lua -vD --shallow "cmake master"

Quote it — the space matters.

Static vs shared

xmake l scripts/test.lua -vD --shallow -k shared fmt
xmake l scripts/test.lua -vD --shallow -k static fmt

Debug / release

xmake l scripts/test.lua -vD --shallow -m debug  fmt
xmake l scripts/test.lua -vD --shallow -m release fmt

Platform / arch

xmake l scripts/test.lua -vD --shallow -p linux   -a x86_64 fmt
xmake l scripts/test.lua -vD --shallow -p macosx  -a arm64  fmt
xmake l scripts/test.lua -vD --shallow -p mingw   -a x86_64 --mingw=/opt/llvm-mingw fmt
xmake l scripts/test.lua -vD --shallow -p android -a arm64-v8a --ndk=~/android-ndk-r26 fmt
xmake l scripts/test.lua -vD --shallow -p iphoneos -a arm64 fmt
xmake l scripts/test.lua -vD --shallow -p wasm --toolchain=emcc fmt

Package configs (recipe options)

Recipes declare options via add_configs(...). Pass them with -f:

xmake l scripts/test.lua -vD --shallow -f "shared=true,pic=true" openssl
xmake l scripts/test.lua -vD --shallow -f "header_only=false" fmt
xmake l scripts/test.lua -vD --shallow -f "regex=true,system=true" boost

MSVC runtime / toolset

xmake l scripts/test.lua -vD --shallow --runtimes=MD  fmt
xmake l scripts/test.lua -vD --shallow --runtimes=MT  fmt
xmake l scripts/test.lua -vD --shallow --vs=2022 --vs_toolset=14.38 fmt

Fetch-only (no build)

Verify URL, hash, and unpack work without actually compiling:

xmake l scripts/test.lua -vD --shallow --fetch fmt

Try the precompiled artifact

xmake l scripts/test.lua -vD --shallow --precompiled fmt

Debugging the source build

Point at a local source tree to iterate on patches without re-downloading:

xmake l scripts/test.lua -vD --shallow -d /path/to/fmt-source fmt

What the script actually does

  1. Reads packages///xmake.lua.
  2. Runs xmake f -c with your flags.
  3. Installs the package (with --shallow, deps come from the remote cache).
  4. Builds and runs the recipe's on_test(...) block against the installed package.

A successful run ends with passed!. A failure prints the command that failed — rerun it with -vD if you didn't already.

Iteration workflow

  1. xmake l scripts/list.lua — see recipe metadata.
  2. Edit packages///xmake.lua.
  3. xmake l scripts/test.lua -vD --shallow — test.
  4. Adjust add_configs, on_install, on_test until green.
  5. Repeat on other platforms if the recipe is cross-platform.

For a brand-new package, scaffold it first:

xmake l scripts/new.lua 

Useful flags reference

| Flag | Purpose | | --- | --- | | -v / -D | verbose / diagnosis | | --shallow | only install the target package, not its deps | | -k static\|shared | library kind | | -m debug\|release | build mode | | -p / -a | target platform / architecture | | -f "k=v,k=v" | package configs (recipe options) | | --runtimes=MD\|MT\|MDd\|MTd | MSVC runtime | | --vs=, --vs_toolset=, --vs_sdkver= | VS version pinning | | --ndk=, --ndk_sdkver= | Android NDK | | --sdk=, --mingw= | cross-toolchain roots | | --toolchain= | force a toolchain | | --fetch | fetch/unpack only, no build | | --precompiled | install from binary cache | | --remote | run test on the remote server | | -d | use a local source directory (debug patches) |

Common pitfalls

  • Forgetting --shallow. Without it, the script rebuilds every transitive dependency from source — turning a 10-second iteration into 30 minutes.
  • Running from the wrong directory. The script must be invoked from the xmake-repo checkout root so scripts/test.lua and packages/ resolve correctly.
  • Stale cache hiding your change. Force a clean build with xmake require --force or delete ~/.xmake/packages//// between runs if a recipe change does not seem to take effect.
  • Quoting version strings. fmt 10.2.1 must be one quoted argument, otherwise the shell splits it and 10.2.1 is parsed as a separate flag.

When to branch out

  • Consuming packages from a projectxmake-packages
  • Cross-compilation setup → xmake-toolchains

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.