The hard Void dependency gets its template: the whisper.cpp Python binding, built from its source distribution with the Vulkan backend, shared libraries, and portable CPU flags (no host-native tuning, so the binary runs on older CPUs), pinned to the exact version the project lockfile and installer already pin rather than the newest upstream release. Vulkan is a template build option, on by default, so source builders can rebuild CPU-only. There is no CUDA build: Void has no CUDA toolkit package. The build must not let the package's own build tooling fetch anything from the network beyond the declared source distribution.
Acceptance criteria
The template passes the Void template linter and declares the pinned binding version matching the project lockfile and installer pin.
The package builds in the pinned Void glibc container (podman); the Vulkan backend library is present in the built package and the binding imports cleanly, including its model submodule and compiled extension.
Rebuilding with the Vulkan build option off produces a working CPU-only package.
Built binaries carry no host-native CPU tuning (portable flags verified in the build configuration).
Runtime dependencies name only packages verified to exist in current void-packages.
Blocked by
None (can start immediately).
## Parent
[Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux](https://git.bongbetic.com/xavierk/voculinux/issues/16)
## What to build
The hard Void dependency gets its template: the whisper.cpp Python binding, built from its source distribution with the Vulkan backend, shared libraries, and portable CPU flags (no host-native tuning, so the binary runs on older CPUs), pinned to the exact version the project lockfile and installer already pin rather than the newest upstream release. Vulkan is a template build option, on by default, so source builders can rebuild CPU-only. There is no CUDA build: Void has no CUDA toolkit package. The build must not let the package's own build tooling fetch anything from the network beyond the declared source distribution.
## Acceptance criteria
- [ ] The template passes the Void template linter and declares the pinned binding version matching the project lockfile and installer pin.
- [ ] The package builds in the pinned Void glibc container (podman); the Vulkan backend library is present in the built package and the binding imports cleanly, including its model submodule and compiled extension.
- [ ] Rebuilding with the Vulkan build option off produces a working CPU-only package.
- [ ] Built binaries carry no host-native CPU tuning (portable flags verified in the build configuration).
- [ ] Runtime dependencies name only packages verified to exist in current void-packages.
## Blocked by
None (can start immediately).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux
What to build
The hard Void dependency gets its template: the whisper.cpp Python binding, built from its source distribution with the Vulkan backend, shared libraries, and portable CPU flags (no host-native tuning, so the binary runs on older CPUs), pinned to the exact version the project lockfile and installer already pin rather than the newest upstream release. Vulkan is a template build option, on by default, so source builders can rebuild CPU-only. There is no CUDA build: Void has no CUDA toolkit package. The build must not let the package's own build tooling fetch anything from the network beyond the declared source distribution.
Acceptance criteria
Blocked by
None (can start immediately).
Merged in integration/spec16
1dd3986383pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK