From d4da7542a12fd113dd9ee885ffaacf6ec11542a2 Mon Sep 17 00:00:00 2001 From: lukeocodes Date: Sat, 2 May 2026 00:34:08 +0100 Subject: [PATCH] fix(brew): add rust + pkgconf as build-time deps in formula template Fixes brew install deepgram/tap/deepgram failing during the cryptography and pydantic_core source builds. Both packages compile Rust extensions via maturin during install, but Language::Python::Virtualenv defaults to --no-binary :all: so the precompiled wheels are bypassed and the Rust toolchain has to be available during the build. Adds the same two build-time deps homebrew-core's Python virtualenv formulas use for this exact case (Aider, ansible, azure-cli, etc.): depends_on "pkgconf" => :build depends_on "rust" => :build This is the template change. The live formula in deepgram/homebrew-tap is patched in a companion PR to fix users today; this template change ensures that on the next root v* release, the auto-bump regenerates the formula with the rust + pkgconf deps still present (the live fix would otherwise be wiped by the next regeneration). Verified via 'python scripts/bump_brew_formula.py --version 0.2.18 --dry-run': new depends_on lines appear at lines 19-20, in the right alphabetical position before the runtime ffmpeg/portaudio/python@3.13 entries. --- scripts/templates/deepgram.rb.template | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/templates/deepgram.rb.template b/scripts/templates/deepgram.rb.template index b9e50b5..9959325 100644 --- a/scripts/templates/deepgram.rb.template +++ b/scripts/templates/deepgram.rb.template @@ -12,6 +12,13 @@ class Deepgram < Formula sha256 "{{TARBALL_SHA256}}" license "MIT" + # Build-time deps for the `cryptography` and `pydantic_core` resources, + # which compile Rust extensions via `maturin`. Language::Python::Virtualenv + # defaults to --no-binary :all: so precompiled wheels are bypassed and the + # Rust toolchain has to be available during install. + depends_on "pkgconf" => :build + depends_on "rust" => :build + # Used by `dg debug probe`, `dg ffprobe`, and raw-audio streaming flows # (e.g. `ffmpeg ... | dg listen --encoding linear16`). depends_on "ffmpeg"