A custom vcpkg registry providing custom ports for various C++ libraries.
This repository serves as a vcpkg registry that hosts custom or modified versions of several packages. It is designed to work alongside the official vcpkg registry.
This registry provides the following packages:
- kaldi - Speech recognition toolkit
- libpng - PNG image library
- openfst - Finite-state transducers library
- tesseract - OCR (Optical Character Recognition) engine
- vosk - Offline speech recognition API
- wolfssl - Embedded SSL/TLS library
The binary caches available in this repository are optimized for modern OBS (Open Broadcaster Software). Developers can easily link libraries from this registry to their OBS plugins, streamlining the plugin development process with pre-built, compatible binaries.
To use the binary cache from this repository in GitHub Actions, set the VCPKG_BINARY_SOURCES environment variable:
export VCPKG_BINARY_SOURCES="clear;http,https://vcpkg-obs.kaito.tokyo/{name}/{version}/{sha}"This will configure vcpkg to download pre-built binaries from our cache, significantly speeding up your build process.
Note: This binary cache is only accessible within GitHub Actions workflows.
To use this registry in your project, add the following to your vcpkg-configuration.json:
{
"default-registry": {
"kind": "git",
"baseline": "<baseline-commit-hash>",
"repository": "https://github.com/microsoft/vcpkg"
},
"registries": [
{
"kind": "git",
"baseline": "<baseline-commit-hash>",
"repository": "https://github.com/kaito-tokyo/vcpkg-obs-kaito-tokyo",
"packages": [
"libpng",
"kaldi",
"openfst",
"tesseract",
"vosk",
"wolfssl"
]
}
]
}Replace <baseline-commit-hash> with the appropriate commit hash from this repository.
This registry leverages Cloudflare-based infrastructure to provide enterprise-level security and almost-zero running cost:
- Cloudflare Workers: Serverless functions handling authentication and binary cache operations
apiauth: JWT-based authentication service for secure API accessreadwrite: Binary cache management with R2 presigned URLs
- Cloudflare R2: Object storage for vcpkg binary cache with zero egress fees
- Edge Computing: Global distribution through Cloudflare's edge network for low-latency access
The infrastructure uses JWT tokens with EdDSA signatures for secure authentication, and presigned URLs for direct R2 access, minimizing serverless compute costs while maintaining high security standards.
We provide the git aliases for easy linting. To enable these aliases, run the following command to include the git config:
git config set --append include.path ../.gitconfig.lint- Lint:
git lint - Fix:
git fix
Update the versions database with the following command:
vcpkg --x-builtin-ports-root="$(git rev-parse --show-toplevel)/ports" --x-builtin-registry-versions-dir="$(git rev-parse --show-toplevel)/versions" x-add-version --overwrite-version --all