Issy Long 073e739005
Use the debug gem from portable Ruby
- This is cleaner than vendoring a whole bunch of new gems and pinning `psych`.
- Thanks for the pointer, Bo!
- It doesn't work, though?

```
❯ brew tests --only=migrator --debug
Error: cannot load such file -- debug/debug.so
Warning: Removed Sorbet lines from backtrace!
Rerun with `--verbose` to see the original backtrace
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:16:in `require'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:16:in `rescue in <module:DEBUGGER__>'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:13:in `<module:DEBUGGER__>'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:3:in `<top (required)>'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/session.rb:31:in `require_relative'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/session.rb:31:in `<top (required)>'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug.rb:3:in `require_relative'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug.rb:3:in `<top (required)>'
/opt/homebrew/Library/Homebrew/dev-cmd/tests.rb:48:in `require'
/opt/homebrew/Library/Homebrew/dev-cmd/tests.rb:48:in `run'
/opt/homebrew/Library/Homebrew/brew.rb:89:in `<main>'
```
2024-04-17 23:26:40 +01:00

80 lines
2.1 KiB
Ruby

# frozen_string_literal: true
source "https://rubygems.org"
# The default case (no envs), should always be a restrictive bound on the lowest supported minor version.
# This is the branch that Dependabot will use.
if ENV.fetch("HOMEBREW_USE_RUBY_FROM_PATH", "").empty?
ruby "~> 3.1.0"
else
ruby ">= 3.1.0"
end
# disallowed gems (should not be used)
# * nokogiri - use rexml instead for XML parsing
# installed gems (should all be require: false)
# ALL gems that are not vendored should be in a group
group :ast, optional: true do
gem "rubocop-ast", require: false
end
group :bootsnap, optional: true do
gem "bootsnap", require: false
end
group :formula_test, optional: true do
gem "minitest", require: false
end
group :livecheck, optional: true do
gem "ruby-progressbar", require: false
end
group :man, optional: true do
gem "kramdown", require: false
end
group :pr_upload, optional: true do
gem "json_schemer", require: false
end
group :prof, optional: true do
gem "ruby-prof", require: false
gem "stackprof", require: false
end
group :pry, optional: true do
gem "pry", require: false
end
group :style, optional: true do
gem "rubocop", require: false
gem "rubocop-md", require: false
gem "rubocop-performance", require: false
gem "rubocop-rspec", require: false
gem "rubocop-sorbet", require: false
end
group :tests, optional: true do
gem "parallel_tests", require: false
gem "rspec", require: false
gem "rspec-github", require: false
gem "rspec_junit_formatter", require: false
gem "rspec-retry", require: false
gem "rspec-sorbet", require: false
gem "simplecov", require: false
gem "simplecov-cobertura", require: false
end
group :typecheck, optional: true do
gem "method_source", require: false
gem "parlour", require: false
gem "sorbet-static-and-runtime", require: false
gem "spoom", require: false
gem "tapioca", require: false
end
# shared gems (used by multiple groups)
group :audit, :bump_unversioned_casks, :livecheck, optional: true do
gem "rexml", require: false
end
# vendored gems (no group)
gem "addressable"
gem "patchelf"
gem "plist"
gem "ruby-macho"
gem "sorbet-runtime"
gem "warning"