From 48528299318270030776ef0187c8a33b363d225e Mon Sep 17 00:00:00 2001 From: Bevan Kay Date: Wed, 2 Apr 2025 15:49:02 +1100 Subject: [PATCH] cask/audit: install container deps --- Library/Homebrew/cask/audit.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Library/Homebrew/cask/audit.rb b/Library/Homebrew/cask/audit.rb index 8fe410a0d1..0dbd453b93 100644 --- a/Library/Homebrew/cask/audit.rb +++ b/Library/Homebrew/cask/audit.rb @@ -564,6 +564,29 @@ module Cask primary_container = UnpackStrategy.detect(downloaded_path, type: @cask.container&.type, merge_xattrs: true) return if primary_container.nil? + # If the container has any dependencies we need to install them or unpacking will fail. + if primary_container.dependencies.any? + + install_options = { + show_header: true, + installed_as_dependency: true, + installed_on_request: false, + verbose: false, + }.compact + + Homebrew::Install.perform_preinstall_checks_once + primary_container.dependencies.each do |dep| + fi = FormulaInstaller.new( + dep, + **install_options, + ) + fi.prelude + fi.fetch + fi.install + fi.finish + end + end + # Extract the container to the temporary directory. primary_container.extract_nestedly(to: @tmpdir, basename: downloaded_path.basename, verbose: false)