From 85ea7f26f38618753deb09b7e8e9013725a3c8b3 Mon Sep 17 00:00:00 2001 From: apainintheneck Date: Sun, 12 Jan 2025 23:31:46 -0800 Subject: [PATCH] dev-cmd/unbottled: fix module resolution error The problem here was that it was unable to find the correct namespace. ---Before--- It assumed the `MacOS` module was below the `Homebrew::DevCmd::Unbottled` class. ```rb kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk ==> Populating dependency tree... ==> :arm64_sequoia bottle status Error: uninitialized constant Homebrew::DevCmd::Unbottled::MacOS /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:242:in `block (2 levels) in output_unbottled' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each_key' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `all?' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `method_missing' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:233:in `block in output_unbottled' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `each' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `output_unbottled' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:107:in `block in run' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/simulate_system.rb:29:in `with' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:67:in `run' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:94:in `
' Please report this issue: https://docs.brew.sh/Troubleshooting ``` I tried just adding `::Macos...` and that also caused an error because it seems like the `MacOs = OS::Mac` code had not been loaded. ``` kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk ==> Populating dependency tree... ==> :arm64_sequoia bottle status Error: uninitialized constant MacOS /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:242:in `block (2 levels) in output_unbottled' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each_key' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `all?' /home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `method_missing' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:233:in `block in output_unbottled' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `each' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `output_unbottled' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:107:in `block in run' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/simulate_system.rb:29:in `with' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:67:in `run' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:94:in `
' Please report this issue: https://docs.brew.sh/Troubleshooting ``` ---After--- ``` kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk ==> Populating dependency tree... ==> :arm64_sequoia bottle status vtk: doesn't support this macOS ``` --- Library/Homebrew/dev-cmd/unbottled.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/dev-cmd/unbottled.rb b/Library/Homebrew/dev-cmd/unbottled.rb index 0cb4cb1df7..99a741094a 100644 --- a/Library/Homebrew/dev-cmd/unbottled.rb +++ b/Library/Homebrew/dev-cmd/unbottled.rb @@ -239,7 +239,7 @@ module Homebrew when XcodeRequirement next true unless r.version - Version.new(MacOS::Xcode.latest_version(macos: macos_version)) >= r.version + Version.new(::OS::Mac::Xcode.latest_version(macos: macos_version)) >= r.version when ArchRequirement r.arch == @bottle_tag.arch else