377 Commits

Author SHA1 Message Date
Mike McQuaid
08a9b44b72
linux/bundle/skipper: add support for Linux casks.
Don't unconditionally skip Linux casks but instead check if they are
supported on Linux.
2025-03-25 11:08:21 +00:00
Mike McQuaid
14fe53b9fd
Merge pull request #19521 from Homebrew/pac-bti
Use PAC+BTI where possible on arm64 Linux
2025-03-19 12:45:34 +00:00
Mike McQuaid
d240eda154
os/linux/extend/ENV/super: add comment. 2025-03-19 12:30:59 +00:00
Mike McQuaid
bdeca530ff
Migrate Homebrew/bundle to Homebrew/brew
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-19 06:47:01 +00:00
Carlo Cabrera
49dac599da
Merge branch 'master' into pac-bti 2025-03-19 01:32:54 +08:00
Mike McQuaid
3f6d30f885
Merge pull request #19517 from botantony/brew-doctor
fix: ignore broken kegs during gcc linkage test
2025-03-18 11:50:21 +00:00
Adrian Ho
c180d636ef linux/hardware/cpu: fix amd_k12 reference
AMD K12 was an planned ARM microarchitecture that never existed.

Ref: https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures#Nomenclature
2025-03-18 18:45:46 +08:00
botantony
4b62b9d2c5
fix: ignore broken kegs during gcc linkage test
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-03-18 11:00:14 +01:00
Bo Anderson
6fed6c10e2
Use PAC+BTI where possible on arm64 Linux 2025-03-18 06:14:16 +00:00
Carlo Cabrera
343eac915b
os/linux/diagnostic: skip error on arm64 when HOMEBREW_ARM64_TESTING is set
This[^1] will enable us to start testing arm64 bottle builds in
Homebrew/core when this environment variable is set.

[^1]: Along with some tweaks to the `dispatch-build-bottle` workflow.
2025-03-17 20:52:12 +08:00
Mike McQuaid
22f72cb7d2
linux/cask/installer: use artifact denylist
Otherwise, we end up preventing the use of e.g. `preflight`,
`uninstall` that may all work fine on Linux.
2025-03-11 15:33:01 +00:00
Sean Molenaar
55b07d7fed feat: add cask shell completion 2025-03-05 20:12:18 +01:00
Douglas Eichelberger
a81239ec2d
Enable strict typing in Formula 2025-02-24 10:23:42 -08:00
Douglas Eichelberger
8763fb6d29 Resolve rubocop violations 2025-02-17 18:56:31 -08:00
Sean Molenaar
27a2d94c48 feat: allow zap on linux 2025-02-17 14:30:44 +01:00
Sean Molenaar
975fe8a83f feat: allow cask binaries on linux 2025-02-17 14:30:43 +01:00
Sean Molenaar
6de67b6c45 fix: set correct inheritance for moved artifact 2025-02-17 14:27:38 +01:00
Mike McQuaid
2b737f0423
Split up SoftwareSpec
This came up in the AGM and has bothered me for years: let's actually
split out `software_spec.rb` into one file per class, as is more typical
in Ruby.

This will make these classes easier to find.
2025-02-04 16:27:39 +00:00
Mike McQuaid
0c1abc11b4
Merge pull request #19111 from Homebrew/aarch64-linux
Add support for bottling Portable Ruby for ARM64 Linux
2025-01-19 14:48:42 +00:00
Sean Molenaar
c34b71655c feat: allow font install on linux
Apply suggestions from code review

Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>

feat: add linux appdir

Apply suggestions from code review

Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>
2025-01-19 11:14:24 +01:00
Ruoyu Zhong
a818b25a8b
Add support for bottling Portable Ruby for ARM64 Linux 2025-01-19 17:06:32 +08:00
Douglas Eichelberger
0add431e69 Apply manual violation fixes 2025-01-12 10:06:00 -08:00
Douglas Eichelberger
dbb731bce2 brew style --fix 2025-01-12 10:05:21 -08:00
Sean Molenaar
cb23433612
feat: only block cask install on Linux 2024-12-14 15:49:09 +01:00
Douglas Eichelberger
659f993dab Avoid exposing table 2024-12-08 10:28:10 -08:00
Douglas Eichelberger
6d19b84ef1 Fix args validation 2024-12-08 10:28:10 -08:00
Douglas Eichelberger
fef1211c19 Use method result table
foo
2024-12-08 10:28:10 -08:00
Douglas Eichelberger
3ea76b8498 Avoid re-defining #formula? 2024-12-08 10:28:09 -08:00
Douglas Eichelberger
3a4243742f Remove OpenStruct from CLI::Args 2024-12-08 10:27:49 -08:00
Caleb Xu
878d5d1633
hardware: rename none optimization flags to dunno 2024-11-16 14:44:37 -05:00
Caleb Xu
a70d15c80d
shared: only fall back to -march=native on supported architectures 2024-11-12 11:34:40 -05:00
Caleb Xu
33a9d24111
linux/hardware/cpu: add some missing AMD CPUs 2024-11-09 21:54:05 -05:00
Carlo Cabrera
017c8d05dc
linux/hardware/cpu: add some missing Intel CPUs
Information taken from 1bf385f102/llvm/lib/TargetParser/Host.cpp
2024-11-09 11:45:23 +08:00
Mike McQuaid
f5b211efaa
os/linux/diagnostic: remove XDG_DATA_DIRS. 2024-10-31 12:43:36 +00:00
Bo Anderson
97866f8adf
Perform preinstall checks when a formula is installed via a cask 2024-10-11 16:57:47 +01:00
Douglas Eichelberger
0855d7c9e0 Revert ENV changes 2024-10-05 12:35:28 -07:00
Douglas Eichelberger
f4a6dce64a Fix ENV 2024-10-05 12:18:29 -07:00
Douglas Eichelberger
0d5b56aa6a Fix tests 2024-10-05 12:18:29 -07:00
Douglas Eichelberger
eed660e784 Move remaining OS extensions to prepend 2024-10-05 12:18:29 -07:00
Douglas Eichelberger
61985bc7f3 Use top-level OS instead 2024-09-19 10:58:53 -07:00
Douglas Eichelberger
bb80f063dc Fix namespacing 2024-09-19 10:58:53 -07:00
Douglas Eichelberger
7cd329c116 Makes args readable 2024-09-19 10:58:53 -07:00
Douglas Eichelberger
27e951c408 Replace undef with prepended modules 2024-09-19 10:58:53 -07:00
Michael Cho
1dbedddc58
diagnostic: check for strings in XDG_DATA_DIRS 2024-08-17 21:59:49 -04:00
Douglas Eichelberger
df2fcfdfb0 Add missing sigs 2024-08-15 09:21:43 -07:00
Douglas Eichelberger
70b072a7d0 Suppress sorbet type errors when using `undef' 2024-08-15 08:03:45 -07:00
Carlo Cabrera
c42860cd3c
Merge pull request #18045 from Homebrew/linux-formula_installer-strict 2024-08-15 17:47:19 +08:00
Patrick Linnane
699d918d95
extend/os/linux/keg: use typed: strict
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2024-08-13 13:09:43 -06:00
Patrick Linnane
7e58233aaf
extend/os/linux/formula_installer: use typed: strict
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2024-08-13 12:56:01 -06:00
Issy Long
45978435e7
rubocop: Use Sorbet/StrictSigil as it's better than comments
- Previously I thought that comments were fine to discourage people from
  wasting their time trying to bump things that used `undef` that Sorbet
  didn't support. But RuboCop is better at this since it'll complain if
  the comments are unnecessary.

- Suggested in https://github.com/Homebrew/brew/pull/18018#issuecomment-2283369501.

- I've gone for a mixture of `rubocop:disable` for the files that can't
  be `typed: strict` (use of undef, required before everything else, etc)
  and `rubocop:todo` for everything else that should be tried to make
  strictly typed. There's no functional difference between the two as
  `rubocop:todo` is `rubocop:disable` with a different name.

- And I entirely disabled the cop for the docs/ directory since
  `typed: strict` isn't going to gain us anything for some Markdown
  linting config files.

- This means that now it's easier to track what needs to be done rather
  than relying on checklists of files in our big Sorbet issue:

```shell
$ git grep 'typed: true # rubocop:todo Sorbet/StrictSigil' | wc -l
    268
```

- And this is confirmed working for new files:

```shell
$ git status
On branch use-rubocop-for-sorbet-strict-sigils
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Library/Homebrew/bad.rb
        Library/Homebrew/good.rb

nothing added to commit but untracked files present (use "git add" to track)

$ brew style
Offenses:

bad.rb:1:1: C: Sorbet/StrictSigil: Sorbet sigil should be at least strict got true.
^^^^^^^^^^^^^

1340 files inspected, 1 offense detected
```
2024-08-12 15:24:27 +01:00