feat: HTTP registry, app/bench harnesses, and DWARF #line maps

Ship QUALITY_PLAN sessions 31–33: fetchable package index URLs, showcase
app and micro/nexus benchmarks, and debugger-friendly C codegen.

- Registry: BUX_REGISTRY accepts http(s) URLs (curl/wget → ~/.bux/cache)
- E.2: make test-apps smoke for nexus/boko/simpledb/jwt-pitbul
- E.5: benches/micro + C/Nim/Zig twins; make bench-nexus (wrk)
- E.4: HIR locs → #line .bux; default -O0 -g; --release -O2; make test-dwarf
This commit is contained in:
2026-07-19 22:46:45 +03:00
parent 53b43b0f79
commit eb81856565
26 changed files with 983 additions and 52 deletions
+20 -4
View File
@@ -1,6 +1,6 @@
# Bux Package Manager
> **Status:** Path + git + **local/file registry** (E.1). HTTP registry index URL optional later.
> **Status:** Path + git + **local/file registry** (E.1) + **HTTP(S) index URL** (cached under `~/.bux/cache/`).
See also: [SEMVER.md](SEMVER.md) for version policy.
@@ -46,10 +46,16 @@ Utils = { Path = "../Utils" }
Default locations (first hit wins):
1. `$BUX_REGISTRY`path to a `registry.toml`
1. `$BUX_REGISTRY`**local path** *or* **`http(s)://` URL** to a `registry.toml`
2. `~/.bux/registry.toml`
3. `config/registry.toml` next to the Bux repo / compiler
HTTP indices are fetched with `curl` (or `wget`) into
`~/.bux/cache/registry_http.toml`. Set `BUX_REGISTRY_REFRESH=1` to force
re-download. Relative `file:` / `path:` entries in a remote index resolve
against the cache directory — prefer **absolute paths** or **git URLs** for
HTTP-served registries.
Format:
```toml
@@ -66,8 +72,18 @@ source = "https://github.com/example/bux-net.git"
description = "TCP helpers"
```
`file:` / `path:` sources are resolved relative to the registry file.
Git URLs are cloned into `~/.bux/packages/<name>/` on install.
`file:` / `path:` sources are resolved relative to the registry file (or
the HTTP cache path). Git URLs are cloned into `~/.bux/packages/<name>/` on
install.
```bash
# Local index (default in this repo)
export BUX_REGISTRY=/path/to/config/registry.toml
# Remote index URL
export BUX_REGISTRY=https://example.com/bux/registry.toml
bux search
```
### CLI