This is xim-pkgindex-fromsource, a package index repository for the xlings ecosystem's xim package manager. It defines how to build ~45 system-level software packages from source code on Linux (x86_64). The repository contains only Lua package definition files — there are no compiled applications or running services.
- Lua 5.4 is needed for
luac -psyntax validation of.luapackage files. - Python 3 + pytest is needed to run the test suite.
- There is no build step or dev server to run — the "application" is the collection of Lua package definitions consumed by the external
ximtool.
# L0 + L2 (fast, no external deps): static analysis + isolation compliance
pytest tests/ -m "static or isolation" --tb=short -q
# L0 only: field validation, Lua syntax, dep versioning
pytest tests/ -m static
# L2 only: subos isolation compliance
pytest tests/ -m isolation
# L1 (requires xlings installed): index registration
pytest tests/ -m index
# Single package test
pytest tests/g/test_gcc.py -m "static or isolation" -vSee docs/test/usage.md for the full test guide.
- Lua syntax check:
for f in pkgs/*/*.lua; do luac -p "$f"; done - LD_LIBRARY_PATH policy:
bash .github/scripts/check-no-direct-ld-libpath.sh - Combined L0+L2 pytest covers all linting needs.
- Every package file must have
spec = "1"(V1 spec). - All dependencies must use explicit versions:
"pkgname@version"(enforced byassert_deps_versioned). - Do not use
LD_LIBRARY_PATHdirectly unless the package is in the allowlist (see.github/scripts/check-no-direct-ld-libpath.sh). - Use
xvm.add()API, notos.exec("xvm add ..."). - Use
xim.libxpkg.*imports, not legacyimport("common")orimport("platform"). - Test file naming:
pkgs/x/foo-bar.lua→tests/x/test_foo_bar.py.