46502 Commits

Author SHA1 Message Date
Mike McQuaid
2bc10f6a52
Merge pull request #20380 from Homebrew/rustc_wrapper
Add rustc wrapper shim to fix RUSTFLAGS conflicts
2025-08-06 16:20:55 +00:00
Mike McQuaid
e6ba71c5b1
Add rustc wrapper shim to fix RUSTFLAGS conflicts
Fixes #18556 by using RUSTC_WRAPPER instead of setting RUSTFLAGS directly.
This allows Homebrew's optimization flags to coexist with .cargo/config.toml
settings, preventing build failures when projects have their own Rust
configuration.

- Add rustc_wrapper shim that clears RUSTFLAGS and prepends HOMEBREW_RUSTFLAGS
- Update both std and super environments to use RUSTC_WRAPPER
- Store Homebrew's rustflags in HOMEBREW_RUSTFLAGS instead of RUSTFLAGS

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-06 17:06:25 +01:00
Mike McQuaid
1d482244e5
service: ensure JSON cron output can be null.
This better matches other field and existing behaviour.
2025-08-06 16:09:39 +01:00
Eric Knibbe
0f06a17b34
docs: mention signing in deprecation criteria 2025-08-06 10:29:59 -04:00
Mike McQuaid
5e1fd26da0
Merge pull request #20383 from Homebrew/rubydoc-fixes
RubyDoc output improvements
2025-08-06 12:41:08 +00:00
Ruoyu Zhong
98384bb638
Merge pull request #20386 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-08-06 08:35:40 +00:00
BrewTestBot
ba0aa7296b
actionlint.yml: update to match main configuration 2025-08-06 08:11:05 +00:00
Patrick Linnane
1c625aa2a0
Merge pull request #20381 from colindean/patch-1
diagnostic: Use pushd/popd in uncommited modifications nudge
2025-08-06 01:38:41 +00:00
Eric Knibbe
626b6aca2d
RubyDoc output fixes 2025-08-05 17:13:42 -04:00
Colin Dean
f08122937f
Reorders git options for uncommitted modifications nudge
-C path must come before the subcommand.

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-05 14:58:44 -04:00
Colin Dean
60ce25bea0
Use git's -C option to set git's working directory for uncommitted modifications nudge 2025-08-05 14:49:11 -04:00
Colin Dean
7d285c0956
diagnostic: Use pushd/popd in uncommited modifications nudge
While filing https://github.com/Homebrew/brew/issues/20379, I lost where I was because I followed the given instruction. Instead, let's use pushd/popd so the user is returned to their pwd if the git operations succeed.
2025-08-05 11:48:39 -04:00
Mike McQuaid
a729c533fd
Merge pull request #20377 from Homebrew/fix-linkage-checker-file-descriptors
Fix file descriptor leak in Linux LD library path parsing
2025-08-05 15:02:04 +00:00
Ruoyu Zhong
86fb7847bf
Merge pull request #20376 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-05 14:31:18 +00:00
Mike McQuaid
23971854b0
Fix file descriptor leak in Linux LD library path parsing
The library_paths method was using readlines which could leave file
descriptors open due to Ruby's garbage collection behavior. When
processing many packages during 'brew upgrade' or 'brew linkage',
this caused "Too many open files" errors on Linux systems.

Changes:
- Replace readlines with explicit file.open block to ensure proper closure
- Add caching to avoid repeatedly reading /etc/ld.so.conf during a session
- Cache included files as well to optimize recursive include processing

Fixes: #19866, #20302, #19177, #20223

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 15:19:07 +01:00
BrewTestBot
a149df831d
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-05 14:10:26 +00:00
Mike McQuaid
7c67b47a77
Merge pull request #20375 from Homebrew/cask_prelude_download_queue
Add `Cask::Installer#prelude` to check before download queueing
2025-08-05 14:01:09 +00:00
Mike McQuaid
3f3ddb8b9e
Merge pull request #20360 from lukarajic/cask-size
Add a flag to `brew info` to view the size of each formula and cask
2025-08-05 13:54:14 +00:00
Mike McQuaid
64311c2889
Add Cask::Installer#prelude to check before download queueing
Fixes #20374

When using HOMEBREW_DOWNLOAD_CONCURRENCY, cask binaries were being
downloaded before checking if the cask could actually be installed
(e.g., disabled casks or conflict checks). This resulted in unnecessary
downloads for casks that would ultimately fail to install.

This change adds a `prelude` method to Cask::Installer that performs
early validation checks (deprecation/disable status and conflicts)
similar to Formula#prelude_fetch. The prelude method is called before
enqueueing downloads in all download queue scenarios (install, reinstall,
and upgrade commands), ensuring that validation failures occur before
the "Fetching downloads for:" message is displayed.

Key changes:
- Add Cask::Installer#prelude method with @ran_prelude tracking
- Call prelude before enqueueing downloads in install/reinstall/upgrade
- Refactor to avoid creating installer objects multiple times
- Maintain backward compatibility for non-download-queue scenarios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 14:38:24 +01:00
Luka Rajic
0c78875616 Add a way to view the size of each installed formula/cask
Change styling based on output of brew typecheck and brew style

Changes as per PR comments

Remove --leaves flag functionality

Simplify formulae and cask parsing as well as style changes as per PR comments

Update cask and formulae parsing as per PR comment suggestion

Add column formatting function as well as PR comment suggestions

Add Sorbet struct for printing and minor logic changes as per PR comments

Minor changes as per PR comments and fix formatting issue in output
2025-08-05 09:13:29 -04:00
Mike McQuaid
f037420b41
Merge pull request #20373 from Homebrew/cask_definition
Update cask definition
2025-08-05 10:29:44 +00:00
Mike McQuaid
3757c8badd
Update cask definition
Be more specific about the cask definition and update another reference
in the Formula Cookbook.
2025-08-05 11:12:01 +01:00
Ruoyu Zhong
a7ea27a9c8
Merge pull request #20372 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
4.6.0
2025-08-05 01:03:41 +00:00
BrewTestBot
aa13747b40
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-05 00:33:45 +00:00
Mike McQuaid
8f5f54bb12
Merge pull request #20369 from Homebrew/dug/typed-tap
Enable strict typing in Tap
2025-08-04 20:27:26 +00:00
Douglas Eichelberger
40c58a883d
Enable strict typing in Tap 2025-08-04 13:11:15 -07:00
Mike McQuaid
9f05f0e625
Merge pull request #20371 from Homebrew/remove_ensure_formula_installed
extend/kernel: remove ensure_formula_installed!
2025-08-04 16:29:39 +00:00
Mike McQuaid
31150c1951
extend/kernel: remove ensure_formula_installed!
This was a private API so there's no need to deprecate it.
2025-08-04 17:07:31 +01:00
Mike McQuaid
3261a07bd0
Merge pull request #20370 from Homebrew/improve_download_queue_output
Improve Download Queue output
2025-08-04 15:30:10 +00:00
Mike McQuaid
e1210ab36a
Merge pull request #20368 from chirsz-ever/chirsz/250804-short-option
cmd/update: use short option in update.sh
2025-08-04 15:07:03 +00:00
Mike McQuaid
774ef54981
Improve Download Queue output
Update the naming, presence and values for various download queue
methods to improve the output for users while making the internal code
a little easier to follow.

While we're here, also ensure that a single formula download still
displays the download queue output and indirectly fix an issue with
bottle manifests being named incorrectly.
2025-08-04 15:51:02 +01:00
chirsz
75b1e681b8 cmd/update: use short option in update.sh
Support the environment not supporting long option, such as Alpine Linux
with busybox.
2025-08-04 22:40:21 +08:00
Eric Knibbe
d2eb9c4c21
Merge pull request #20364 from Homebrew/var-notation
output: express environment variables consistently
2025-08-04 14:14:19 +00:00
Eric Knibbe
6255263b51
output: express environment variables consistently 2025-08-04 09:50:06 -04:00
Patrick Linnane
9e4bedad2f
Merge pull request #20366 from Homebrew/livecheck/special-case-unsigned-deprecations
SkipConditions: special case unsigned deprecations
2025-08-03 20:22:56 +00:00
Sam Ford
d06480aae1
SkipConditions: use versioned URLs in test casks
The `Cask::Cask` objects in the `SkipConditions` tests don't
interpolate `version` in the `url` strings, so these are technically
unversioned URLs as a result and would be skipped as unversioned. This
updates the URLs accordingly, so they won't trigger the unversioned
skip as a fallback (if the intended test doesn't work as expected).
This is something I discovered while writing a test for a cask that
shouldn't be skipped.
2025-08-03 15:03:26 -04:00
Sam Ford
ff2b1d6821
SkipConditions: special case unsigned deprecations
We've been adding `disable!` calls with a future date to casks using
an unsigned app. That implicitly deprecates the cask until it reaches
the disable date, so we've been having to add simple `livecheck`
blocks to casks that use a default check to ensure that livecheck
continues to check them. It was suggested that it would be simpler to
have livecheck not skip casks that have a `disable!` call with a
`because: :unsigned` argument and I agree, so this modifies
`SkipConditions` to add a special case for this scenario.
2025-08-03 15:03:25 -04:00
Carlo Cabrera
563d066821
Merge pull request #20367 from Homebrew/brew-edit-to-open-several-files
extend/kernel: allow exec_editor to open multiple files at once
2025-08-03 16:01:10 +00:00
Alexander Bayandin
358291e841 extend/kernel: allow exec_editor to open multiple files at once 2025-08-03 16:44:19 +01:00
Ruoyu Zhong
65d3c6e950
Merge pull request #20365 from Homebrew/pathname-type
pathname: add type to `write_exec_script`
2025-08-03 09:37:05 +00:00
Daeho Ro
af7966cb2a
pathname: add type to 2025-08-03 18:23:47 +09:00
Patrick Linnane
75aee5ec5c
Merge pull request #20363 from Homebrew/formula-cookbook-should-recommend-whats-actually-in-use
Formula-Cookbook: Recommend the in-use `write_exec_script` syntax
2025-08-03 00:50:59 +00:00
Issy Long
1ae13e0d04
Formula-Cookbook: Recommend the in-use write_exec_script syntax
- The `bin.write_exec_script Dir[libexec/"bin/*"]` is used in core
  formulae, whereas the previously recommended syntax is not found
  at all. Let's make reality match the documentation.
- Part of https://github.com/orgs/Homebrew/projects/5?pane=issue&itemId=97021840.
2025-08-02 17:56:16 +01:00
Eric Knibbe
aecd2b3447
Merge pull request #20361 from Homebrew/manpage-updates
Manpage: source wording & formatting fixes
2025-08-02 11:47:31 +00:00
Eric Knibbe
fe13aac730
Manpage: source wording & formatting fixes 2025-08-01 23:43:46 -04:00
Carlo Cabrera
a29a643c66
Merge pull request #20359 from Homebrew/replace-ensure_formula_installed!
Replace `ensure_formula_installed!` with `Formula#ensure_installed!`
2025-08-01 21:13:59 +00:00
Carlo Cabrera
fd80dd9eef
Fix test failure 2025-08-02 04:46:48 +08:00
Carlo Cabrera
0fd3b8e4af
Uncomment odeprecated
This is close enough to #20331 to do now.
2025-08-02 04:00:52 +08:00
Carlo Cabrera
fb35add3b6
Replace ensure_formula_installed! with Formula#ensure_installed!
`ensure_formula_installed!` requires the `Formula` class to be loaded
before being called to work properly.

Let's guarantee that instead by implementing it as an instance method of
the `Formula` class.

See discussion at #20358.
2025-08-02 03:43:37 +08:00
Carlo Cabrera
9dc111247f
Merge pull request #20358 from Homebrew/require-formula-ensure-formula-installed
Ensure we `require "formula"` before doing `ensure_formula_installed!`
2025-08-01 19:21:35 +00:00