aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-26 13:41:23 +0200
committerDanilo M. <danix@danix.xyz>2026-06-26 13:41:23 +0200
commit3f55040df83a92dadfb28b9b7eca8c27ec1ace9a (patch)
treed5a90b90290244e3820dbe44b550df7b8e1d5a5e
parent4529e7b6e577a078dc0405470fe85c97e56fb3f8 (diff)
downloadmkwheels-master.tar.gz
mkwheels-master.zip
docs: document gh --env and auto-bypass in CLAUDE.mdHEADmaster
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
-rw-r--r--CLAUDE.md13
1 files changed, 9 insertions, 4 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index a20247a..9365881 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -25,7 +25,7 @@ Two subcommands; all options are explicit flags, no positionals.
```
mkwheels pypi --name PKG --ver VER [--epoch N]
-mkwheels gh --repo OWNER/REPO --ver VER [--name PKG] [--tag TAG] [--epoch N]
+mkwheels gh --repo OWNER/REPO --ver VER [--name PKG] [--tag TAG] [--epoch N] [--env K=V]...
```
- `--ver` / `--tag` strip a single leading `v`; the output version is always
@@ -35,6 +35,10 @@ mkwheels gh --repo OWNER/REPO --ver VER [--name PKG] [--tag TAG] [--epoch N]
- `gh`: the GitHub release `published_at` for the tag.
- `gh` defaults: `--name` = repo basename lowercased; `--tag` = normalized
`--ver`; the real ref is resolved by trying `<tag>` then `v<tag>`.
+- `--env K=V` (gh, repeatable): extra env for the source build. gh mode also
+ auto-sets `POETRY_DYNAMIC_VERSIONING_BYPASS` and `SETUPTOOLS_SCM_PRETEND_VERSION`
+ to `--ver` (source tarballs have no `.git`, so dynamic-versioning projects
+ like NetExec fail VCS detection otherwise); `--env` overrides these.
- `OUTPUT` env var — output dir (default: `$PWD`).
## How it works
@@ -45,9 +49,10 @@ mkwheels gh --repo OWNER/REPO --ver VER [--name PKG] [--tag TAG] [--epoch N]
- `pypi`: epoch from PyPI JSON; `pip download <name>==<ver>` (pre-built
wheels, deterministic).
- `gh`: resolve release ref + `published_at`; download+unpack the tagged
- source; `pip wheel <src_dir>` builds the project **and all deps** (PyPI +
- `git+` deps) to wheels. `pip download <dir>` is wrong here — it only
- resolves metadata and leaves the local project unmaterialized.
+ source; `pip wheel <src_dir>` (with the auto-set + `--env` build env)
+ builds the project **and all deps** (PyPI + `git+` deps) to wheels.
+ `pip download <dir>` is wrong here — it only resolves metadata and leaves
+ the local project unmaterialized.
3. Emit pinned + hashed `requirements.txt` (audit record only, not the install
input).
4. Pack a byte-reproducible `.tar.gz`: sorted entries, `--mtime=@epoch`,