From 4529e7b6e577a078dc0405470fe85c97e56fb3f8 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 26 Jun 2026 13:40:21 +0200 Subject: mkwheels: pin version for gh source builds; add --env GitHub source tarballs have no .git, so dynamic-versioning projects (NetExec uses poetry-dynamic-versioning) fail VCS detection during the wheel build. gh mode now exports POETRY_DYNAMIC_VERSIONING_BYPASS and SETUPTOOLS_SCM_PRETEND_VERSION set to --ver (harmless when unused), and a repeatable --env KEY=VAL passes through any other build env (it also overrides the auto-set vars). Co-Authored-By: Claude Opus 4.8 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 530a85c..71d2b10 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,16 @@ dependency tree (PyPI deps and any `git+` deps) into wheels. - `--name PKG` — output name; defaults to the repo basename, lowercased. - `--tag TAG` — git tag to fetch; a leading `v` is stripped for naming, and the real ref is resolved by trying `` then `v`. Defaults to `--ver`. +- `--env KEY=VAL` — extra env var for the source build (repeatable). - Epoch auto-derived from the GitHub release `published_at` (the repo must publish a GitHub Release for the tag). +Because the source tarball has no `.git`, projects using dynamic versioning +would fail VCS detection at build time. `gh` mode therefore sets +`POETRY_DYNAMIC_VERSIONING_BYPASS` and `SETUPTOOLS_SCM_PRETEND_VERSION` to +`--ver` automatically (harmless when unused); `--env` overrides them and adds +anything else the build needs. + Outputs `-wheels-.tar.gz` and `requirements.txt` (pinned + hashed). Prints the md5sum and the resolved epoch. The `requirements.txt` is an audit record of the resolved versions, not the install input: the SlackBuild installs -- cgit v1.2.3