Files
oak-editor/vcpkg.json
T
Mike-Solar df65a3f1a4 ci/cd: use BtbN's prebuilt FFmpeg on Windows
A cold vcpkg FFmpeg build costs ~40 minutes per Windows run and the
Windows dependency chain is the hardest to keep healthy; BtbN's builds
come from public GitHub Actions on the release/8.1 branch (BtbN is an
FFmpeg developer; ffmpeg.org links these builds as the official Windows
option). The archive ships include/, MSVC import libs (.lib), pkg-config
files and the runtime DLLs, and is fetched straight from his release
page with the checksums.sha256 published in the same release — nothing
is mirrored here, so provenance stays upstream.

The Windows jobs download/verify/extract it to .cache/ffmpeg (the
checksum comes from that release's own checksums.sha256), point
FFMPEG_DIR/PKG_CONFIG_PATH at it (pkgconf still comes from vcpkg) and
the installer bundles its DLLs. The manifest gates ffmpeg to !windows
and drops librsvg (the icon now ships as the committed PNG).
2026-09-24 18:39:10 +08:00

51 lines
1.3 KiB
JSON

{
"name": "oak",
"version": "0.5.0",
"$comment": "FFmpeg for the Linux/macOS CI/CD builds with the project's feature set (every free codec + hwaccel, mirroring tooling/ffmpeg/build-ffmpeg.sh's configure switches); Windows uses the vendored BtbN prebuilt instead (GPL shared, MSVC import libs) because a cold vcpkg FFmpeg build there took ~40 minutes — see the ffmpeg-prebuilt-win64-n8.1 release. pkgconf is needed everywhere (oak-ffmpeg-link's build script). Local builds may keep using tooling/install-deps.sh + tooling/ffmpeg/build-ffmpeg.sh. ffmpeg is pinned to 8.1.2#3 via overrides (matching the ffmpeg-next 8.x binding); builtin-baseline pins the rest of the port tree.",
"builtin-baseline": "771b0a2e7c473c3a6bee56553be4d5bb32bb653c",
"dependencies": [
{
"name": "ffmpeg",
"platform": "!windows",
"features": [
"gpl",
"version3",
"x264",
"x265",
"dav1d",
"vpx",
"openh264",
"openjpeg",
"zlib",
"theora",
"webp",
"mp3lame",
"opus",
"vorbis",
"speex",
"snappy",
"ass",
"freetype",
"fribidi",
"fontconfig",
"openssl",
{
"name": "nvcodec",
"platform": "linux | (windows & !arm64)"
},
{
"name": "vaapi",
"platform": "linux"
}
]
},
"pkgconf"
],
"overrides": [
{
"name": "ffmpeg",
"version": "8.1.2#3"
}
]
}