language-runtimes
| Version | 2026.144.1443 |
| Repo | superproject |
System language runtimes (.NET 9 SDK, PHP CLI, system Python 3) installed on PATH and version-reachable. language-runtimes installs the .NET 9 SDK (distro package on Fedora/Arch, Microsoft’s dotnet-install.sh on Debian/Ubuntu), the PHP CLI, and the system Python 3 interpreter — each landing at a /usr/bin path. Every runtime exposes a version subcommand, so its presence is directly verifiable from a fresh build with no service or deploy state. (Go and Node.js are installed too but their acceptance is owned by the golang/nodejs candies — not duplicated here, per R3.)
Acceptance plan
Section titled “Acceptance plan”This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.
| Intent | Step |
|---|---|
run |
command=if command -v dotnet >/dev/null 2>&1; then exit 0 fi if ! command -v apt-get >/dev/null 2>&1; then # Not a Debian-family distro — defer to the distro’s declarative # package section (or accept it’s intentionally unavailable). exit 0 fi # Microsoft’s dotnet-install.sh needs libicu at runtime but doesn’t # bring transitive dependencies. libicu-dev is already installed by # this layer’s deb: section. install -d /usr/share/dotnet curl -fsSL https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh -o /tmp/dotnet-install.sh chmod +x /tmp/dotnet-install.sh /tmp/dotnet-install.sh –channel 9.0 –install-dir /usr/share/dotnet ln -sf /usr/share/dotnet/dotnet /usr/bin/dotnet rm -f /tmp/dotnet-install.sh |
check |
the .NET 9 SDK binary is installed at /usr/bin/dotnet |
check |
dotnet reports its SDK version and exits cleanly |
check |
the PHP CLI binary is installed at /usr/bin/php |
check |
php prints its version banner and exits cleanly |
check |
the system Python 3 interpreter is at /usr/bin/python3 (the RPM one, not a pixi-env path) |
check |
python3 reports its version and exits cleanly |