Commit graph

2 commits

Author SHA1 Message Date
macayu17 171b318f47 pyenv-binary: refuse build on macOS before compiling
`generate-installer` refuses a macOS archive, so the last step of the
pipeline cannot succeed there. Left to fail on its own it does so only
after a full source build has been spent, so check the platform up front,
like the entry name guards above it.
2026-07-22 17:28:57 +05:30
macayu17 094c0a80ed pyenv-binary: add the build subcommand
Packaging a version by hand means running `pyenv install`, `pyenv binary
save` and `pyenv binary generate-installer` in turn and keeping the names
they produce in step. `build` runs the three in one pass, so the archive,
its metadata and the definition all come out named after the entry.

* The entry name is given explicitly as `<version>:<entry>`, reusing the
  syntax `pyenv install` already accepts, so a packaged build can sit
  beside a plain source install of the same version
* Entry names that `pyenv install` would not install under (`latest`), or
  that would point outside versions/, are refused before anything is
  compiled rather than after
* Linux only for now, matching `save` and `generate-installer`
2026-07-22 13:09:07 +05:30