packages: homebrew-ffmpeg tap build + trust taps before bundle - #12
Merged
Conversation
Switch ffmpeg from homebrew/core to the homebrew-ffmpeg/ffmpeg tap build (richer: libass, drawtext, many extra filters) in the developer and cloud-engineer profiles. fdk-aac is intentionally left out: it requires a from-source build that recompiles on every ffmpeg update; the Brewfile notes how to re-add it. Fix tap-trust ordering: Homebrew's tap-trust enforcement now blocks installing from an untrusted tap, but bootstrap trusted taps AFTER bundle, so a fresh install would fail on the new tap (and hashicorp/tap). Tap + trust declared taps BEFORE bundling. Add an idempotent pre-bundle migration that replaces a core ffmpeg with the tap build only when needed (detected via the keg's install receipt), avoiding a binary conflict.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
homebrew/coreto thehomebrew-ffmpeg/ffmpegtap build (libass, drawtext/libfreetype, many extra filters) in developer + cloud-engineer. Default bottled build : fdk-aac is intentionally omitted (it needsargs: ["with-fdk-aac"], a from-source build that recompiles on every ffmpeg update). Brewfiles carry a note on how to re-add it.brew bundle. A fresh install would fail on the new tap (and onhashicorp/tap). Now tap + trust declared taps before bundling.INSTALL_RECEIPT.jsonsource tap (jq-free, since jq may not be installed yet). No-op if already the tap build.Why
The tap build's filters (drawtext/libass) are needed for the recording/encoding workflow; core ffmpeg lacks them.
Test plan
bash -n install/bootstrap.sh+ shellcheck clean.brew "homebrew-ffmpeg/ffmpeg/ffmpeg", no barebrew "ffmpeg".drawtext(libfreetype),ass(libass).Note
fdk-aac trade-off captured in the Brewfile comment; tracking issue to follow.