myxce/src/xceadmin
Rongsong Shen 893a01db7b feat(admin-config-tool): install standalone xceadmin binary via meson
xceadmin's custom_target only built+tested (stamp-file output, no
install:true) — nix build .#xcecore succeeded but shipped nothing in
result/bin, unlike every other component.

Add meson.add_install_script('meson-install.sh'): copies the
xceadmin/xcecommon package dirs (not the whole build-dir venv, whose
pip-generated shebang hardcodes a build path that stops existing after
the build) into $out/lib/xceadmin-site, then writes a wrapper at
$out/bin/xceadmin whose shebang and PYTHONPATH are resolved against
the install script's own nix build environment — real /nix/store
paths for python3 and each dependency (pycapnp, pyyaml, jsonschema,
click), so nix's reference scanner keeps them alive in the closure.
No venv activation needed at runtime.

Verified: meson install --destdir and nix build --option sandbox
false .#xcecore both produce a working result/bin/xceadmin, runnable
standalone with a stripped-down PATH-only environment.
2026-07-22 11:10:40 +00:00
..
src feat(admin-config-tool): tasks 5.1-5.3 - mapping/wire coverage confirmed, schema bundling fix 2026-07-22 09:51:42 +00:00
tests feat(admin-config-tool): task 5.6 - mock-controller push/dry-run coverage 2026-07-22 10:05:31 +00:00
.gitignore feat(admin-config-tool): task 1.3 - nix and xce-build.sh integration 2026-07-22 03:57:43 +00:00
meson-build.sh feat(admin-config-tool): wire xceadmin into meson + nix build 2026-07-22 10:46:45 +00:00
meson-install.sh feat(admin-config-tool): install standalone xceadmin binary via meson 2026-07-22 11:10:40 +00:00
meson.build feat(admin-config-tool): install standalone xceadmin binary via meson 2026-07-22 11:10:40 +00:00
pyproject.toml feat(admin-config-tool): wire xceadmin into meson + nix build 2026-07-22 10:46:45 +00:00