29558 Commits

Author SHA1 Message Date
Carlo Cabrera
93b43ad7a9
os/mac/mach: fix rpath deletion of fat machos
Fixes #15859.
2023-08-14 14:29:05 +08:00
Eric Knibbe
569c833924
Formula-Cookbook: expand terminology table 2023-08-12 21:48:16 -04:00
Mike McQuaid
597f0840a3
dev-cmd/tests: add --fail-fast.
This is useful when testing very slow test files with many tests.
2023-08-10 16:27:37 +01:00
Mike McQuaid
22553cd34a
Fix cask sharding issues
- Fix cask info output being incorrect
- Improve some code referring to casks as formulae
- Move livecheck cask fixtures to not shadow existing names
- Adjust the cask tap symlinking logic to make handling outdated
  shadowed casks significantly easier
- Fix various flaky tests caused by casks sharding logic
- Prefer longer paths when there's multiple formulae or casks in a tap
  with the same name rather than always using the first
2023-08-10 16:08:47 +01:00
Razvan Azamfirei
72df964b33
change path 2023-08-09 15:27:36 -04:00
Razvan Azamfirei
a916d6184b
Update Library/Homebrew/cask/audit.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2023-08-09 15:26:47 -04:00
Razvan Azamfirei
ef9e0bc8a6
cask/audit: audit for appropriate sharding directory 2023-08-09 14:52:30 -04:00
Mike McQuaid
d30fee25e4
formula_cop: fix style_exceptions_dir handling.
This needed to be adjusted to handle a sharded homebrew/core and
repositories with formulae in the root.
2023-08-09 15:20:57 +01:00
Mike McQuaid
f18aa6ff1a
Merge pull request #15847 from MikeMcQuaid/all_casks_subdirectory
tap: always create new casks in subdirectory.
2023-08-09 12:55:13 +01:00
Mike McQuaid
cf71b5b3ea
tap: always create new casks in subdirectory.
For homebrew-cask, all casks should now be created in subdirectories,
even if that subdirectory doesn't yet exist.
2023-08-09 12:11:20 +01:00
Mike McQuaid
319faed8f9
Merge pull request #15845 from MikeMcQuaid/update_deleted_installed
update_report: show "Delete and Installed" header.
2023-08-09 10:59:01 +01:00
Mike McQuaid
565eb363ea
update_report: show "Delete and Installed" header.
Clarify that the deleted formulae/casks when not using `report_all`
are only those that have been deleted _and_ the user has them
installed. This should avoid users glossing over this information as
it is pretty relevant to them.

While we're here, refactor some of the `report_all` logic to make it
easier to remove it all on the next Homebrew major/minor version.
2023-08-08 16:57:03 +01:00
Mike McQuaid
d313e8b027
Merge pull request #15824 from dduugg/inreplace-static
Make inreplace a purely static method v2
2023-08-08 12:32:10 +01:00
Douglas Eichelberger
5d5c22e104 Replace integration test with unit test 2023-08-07 18:32:08 -07:00
Douglas Eichelberger
2b29c498fa s/blk/block 2023-08-07 17:26:46 -07:00
eugenesvk
2c7c064040 Allow hiding new formula/cask sections on update 2023-08-07 20:38:54 +07:00
Mike McQuaid
a8022e6040
Merge pull request #15835 from carlocab/framework-install-names
keg_relocate: retain framework info in relocatable install names
2023-08-07 08:47:05 +01:00
Mike McQuaid
3929bbc1de
Merge pull request #15830 from branchvincent/pip-no-compile
formula: use pip's `--no-compile`
2023-08-07 08:20:15 +01:00
Mike McQuaid
6b773a36e8
Merge pull request #15831 from branchvincent/update-python-git-clone
pypi: support updating resources for git clones
2023-08-07 08:19:44 +01:00
Carlo Cabrera
dbeac59584
keg_relocate: retain framework info in relocatable install names
`dyld` uses the target library's install name to work out whether this
is a Framework or a dylib, which affects how `dyld` searches for the
desired library.

We should therefore avoid confusing `dyld` by including the
`*.framework` part of the install name in the target dylib, which is
what this change does.

Here's a concrete example of what this changes. Before:

    ❯ otool -L /usr/local/bin/python3
    /usr/local/bin/python3:
            @loader_path/../Python (compatibility version 3.11.0, current version 3.11.0)
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)

After:

    ❯ otool -L /usr/local/bin/python3
    /usr/local/bin/python3:
            @loader_path/../../../../Python.framework/Versions/3.11/Python (compatibility version 3.11.0, current version 3.11.0)
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)

By retaining the `Python.framework` part of the install name, we make
sure that `dyld` knows that it should be looking for a framework rather
than a dylib.
2023-08-07 14:43:56 +08:00
Kevin
98f1be77f9
Merge pull request #15829 from apainintheneck/add-installed-flag-to-bump-cmd
cmd/bump: add --installed flag
2023-08-06 20:39:46 -07:00
Muescha
c447aa6d94
unversioned_cask_checker.rb - fix signature of KeyboardLayout
fix signature for KeyboardLayout
2023-08-06 21:30:45 +02:00
Branch Vincent
e5ed11a5b7
pypi: support updating resources for git clones 2023-08-05 17:12:23 -07:00
Branch Vincent
61d23fef53
formula: use pip's --no-compile 2023-08-05 16:39:29 -07:00
apainintheneck
0979f7c35f cmd/bump: add --installed flag
This allows users to only try to bump formulae and casks they
currently have installed. It copies this behavior from the
livecheck command.
2023-08-05 10:01:11 -07:00
Carlo Cabrera
b5334b818c
os/mac/mach: avoid recursively resolving rpaths
This is just a recipe for infinite loops. Plus, recursive references are
likely to be invalid, so we don't really gain much by attempting to
resolve them.[^1] (But we could if we made the logic here much more
complicated.)

Fixes a CI failure seen at Homebrew/homebrew-core#138323.

[^1]: See, for example, embree/embree#455.
2023-08-05 23:40:22 +08:00
apainintheneck
474656ffaa dev-cmd/bump : stop using API to load formulae/casks
Even though the command already sets without_api that only
affects how named args are loaded. In this command, we used to load
many formulae and casks all at once using the API according to
user settings. Now we just mandate that all loading must skip the API.
2023-08-04 19:08:22 -07:00
Douglas Eichelberger
880362669b Add tests 2023-08-04 16:21:34 -07:00
Douglas Eichelberger
864f31e52a Forward block argument 2023-08-04 16:20:56 -07:00
Douglas Eichelberger
efd02b956d Revert "Revert "Make inreplace a purely static method""
This reverts commit 8656caa67ce2dd9ec6484969b183c1fd7805451e.
2023-08-04 16:20:38 -07:00
Mike McQuaid
b3c33d34ab
Various sharding fixes
- Load paths with no API when needed (e.g. for `brew edit`)
- Use no API mode for `brew log` as it's needed there
- Define sharding format for homebrew-cask and homebrew-core inside
  `Tap` methods
- Create new formulae/casks in location defined by these `Tap` methods
- Fix a bug in Formulary that made sharded formulae lookup less
  efficient (and possibly broke it for core and some API usage)
- Fix various other hardcoded Formula/Cask directory assumptions

Co-authored-by: Bo Anderson <mail@boanderson.me>
2023-08-04 16:43:13 +01:00
Mike McQuaid
4877de52d3
Merge pull request #15819 from MikeMcQuaid/bottle_reproducibility_fixes
bottle: reproducibility fixes.
2023-08-04 10:26:55 +01:00
Mike McQuaid
71888db8ba
bottle: reproducibility fixes.
I noticed from
https://github.com/Homebrew/homebrew-core/actions/runs/5751070010 that
we're no longer creating reproducible bottles between macOS and Linux.

All macOS checksums have changed but Linux ones have not. The main
difference between the two platforms is the `gtar` version used so let's
always just use the formula on both platforms.

While we're here, clear up the ordering and comments a little on the
reproducible `tar` arguments so that it's easier to compare with the
reproducible builds archives documentation.
2023-08-04 10:02:44 +01:00
Mike McQuaid
1d4a24d226
Make more warnings quiet with environment hints disabled.
Combined with https://github.com/Homebrew/homebrew-test-bot/pull/963
this should make `brew test-bot` output a bit quieter and less annoying.
2023-08-04 09:36:27 +01:00
Mike McQuaid
11af9e8a1e
Merge pull request #15805 from ZhongRuoyu/formulary-alias_path
formulary: fix type of `alias_path`
2023-08-04 08:10:57 +01:00
Mike McQuaid
0e098510c2
Merge pull request #15763 from razvanazamfirei/bump-add-arch-support
bump: add arch-specific support
2023-08-04 08:10:01 +01:00
Ruoyu Zhong
99607e8ec4
development_tools: allow Symbols to be located
Fixes error seen in Homebrew/homebrew-core#138452.
`DevelopmentTools.default_compiler` can return a `Symbol` like `:clang`.
Make sure its result can be fed to `DevelopmentTools.locate`.

Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
2023-08-04 11:26:30 +08:00
Mike McQuaid
a2b49440e7
Merge pull request #15815 from Homebrew/dependabot/bundler/Library/Homebrew/addressable-2.8.5
build(deps): bump addressable from 2.8.4 to 2.8.5 in /Library/Homebrew
2023-08-03 19:33:37 +01:00
BrewTestBot
3fb4c6c069
Update RBI files for addressable.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2023-08-03 18:17:42 +00:00
BrewTestBot
e590c30851
Update RBI files for zeitwerk.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2023-08-03 18:15:55 +00:00
BrewTestBot
b281f51c25
brew vendor-gems: commit updates. 2023-08-03 18:11:46 +00:00
BrewTestBot
ce1818df99
brew vendor-gems: commit updates. 2023-08-03 18:09:53 +00:00
dependabot[bot]
783d30855b
build(deps): bump addressable from 2.8.4 to 2.8.5 in /Library/Homebrew
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.8.4 to 2.8.5.
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.8.4...addressable-2.8.5)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 18:08:20 +00:00
dependabot[bot]
6b5aa4d1ed
build(deps): bump zeitwerk from 2.6.10 to 2.6.11 in /Library/Homebrew
Bumps [zeitwerk](https://github.com/fxn/zeitwerk) from 2.6.10 to 2.6.11.
- [Changelog](https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fxn/zeitwerk/compare/v2.6.10...v2.6.11)

---
updated-dependencies:
- dependency-name: zeitwerk
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 18:05:43 +00:00
Alexander Bayandin
8656caa67c
Revert "Make inreplace a purely static method" 2023-08-03 16:16:19 +01:00
Razvan Azamfirei
3949138d5b
format bump block 2023-08-03 09:58:59 -04:00
Razvan Azamfirei
2d330bcd32
bump: add arch-specific support 2023-08-03 09:41:01 -04:00
Douglas Eichelberger
da33049c69 Resolve Style/OptionalBooleanParameter violation 2023-08-02 14:47:06 -07:00
Douglas Eichelberger
2ad87f87d5 Make inreplace a purely static method 2023-08-02 09:44:18 -07:00
Ruoyu Zhong
26f8f27b3c
formulary: fix type of alias_path
`Formulary.from_rack` only allows `alias_path` to be a `Pathname`. Make
it happy with `String`s too.

Fixes:

    $ brew test openssl
    Error: Parameter 'alias_path': Expected type Pathname, got type String with value "/usr/local/Homebrew/Librar...homebrew-core/Aliases/openssl"
    Caller: /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-runtime-0.5.10461/lib/types/private/methods/call_validation.rb:113
    Definition: /usr/local/Homebrew/Library/Homebrew/formulary.rb:787

Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
2023-08-02 22:49:39 +08:00