|
|
@@ -94,11 +94,16 @@ PLATFORMS="linux-x86_64 linux-aarch64 macos-arm64 windows-amd64" ./vendor_chatto
|
|
|
CHATTOLIB_SPEC="chattolib[realtime]==0.5.0b17" ./vendor_chattolib.sh
|
|
|
```
|
|
|
|
|
|
-The script passes `--only-binary :all:` — everything comes as a prebuilt wheel.
|
|
|
-A source distribution of `protobuf` or `websockets` could not be built for a
|
|
|
-*foreign* platform: uv would build it for the host and silently drop
|
|
|
-host-architecture binaries into `vendor/platform/<other-tag>/`. Whatever
|
|
|
-upstream publishes as a wheel for the pinned spec is what gets vendored.
|
|
|
+The script passes `--only-binary :all:` — every package is downloaded as a
|
|
|
+prebuilt wheel. A source distribution of `protobuf` or `websockets` could not
|
|
|
+be built for a *foreign* platform: uv would build it for the host and silently
|
|
|
+drop host-architecture binaries into `vendor/platform/<other-tag>/`.
|
|
|
+
|
|
|
+Every wheel the spec resolves to lands in `vendor/` — but see the sys.path
|
|
|
+order above for which of them are actually the ones that get imported.
|
|
|
+`chattolib` and the compiled `protobuf`/`websockets` always come from
|
|
|
+`vendor/`; the pure-Python packages Hermes already ships are downloaded and
|
|
|
+then shadowed by the host's copies wherever Hermes runs.
|
|
|
|
|
|
The script wipes `vendor/`, installs the dependency tree once per platform via
|
|
|
`uv pip install --python-platform …`, splits the result with `vendor_split.py`,
|