145 Commits

Author SHA1 Message Date
Markus Reiter
480e264d9a
Lint Ruby docs. 2024-05-01 11:35:21 +02:00
Markus Reiter
0f0055ede4
Make documentation @api private by default. 2024-04-26 19:04:20 +02:00
Eric Knibbe
4b33460938
dependency_collector: fix caching of deps requiring brewed curl 2023-10-20 23:11:16 -04:00
Mike McQuaid
8775465872
Enable Sorbet after running a developer command
We have no commands with Sorbet disabled and have had Sorbet enabled
for developers for a decent amount of time. As a result, we can enable
it for everyone who has run a developer command.

This also allows a bunch of `raise TypeError`s to be removed in favour
of relying on Sorbet here instead.
2023-09-02 08:39:28 -04:00
Eric Knibbe
df38dcc3d1
dependency: consider bounds when comparing macOS deps 2023-08-28 17:34:04 -04:00
Eric Knibbe
49d531a6ce
dependency_collector: distinguish macOS deps by OS 2023-08-28 12:20:15 -04:00
Bo Anderson
71d51faa55
Introduce tag for implicit dependencies 2023-07-04 13:40:58 +01:00
Bo Anderson
53d513695a
Remove TapDependency 2023-07-04 13:31:58 +01:00
Michael Wagner
78c07fd0e1
Fix Missing Download Strategy And Dependency 2023-05-17 16:30:00 -05:00
Douglas Eichelberger
24cf6076e8 brew style --fix 2023-04-24 20:42:39 -07:00
Bo Anderson
9b26bf9b92
formulary: support requirements, aliases etc from API 2023-02-14 03:32:56 +00:00
Bo Anderson
abfbb46678
Freeze formula definition once first instance is created 2022-08-31 20:40:42 +01:00
Michka Popoff
d271614872
install glibc/gcc automatically if too old.
Right now this is done through the gcc@5 formula.
See 9692318ca6/Formula/gcc%405.rb (L33)

This is fragile because when we will migrate to gcc@11
we have to think about migrating the installation from one gcc formula to another..
Also, not having the right glibc version results in a non-functional brew
installation on an older Linux: the glibc installation needs
to be done by brew, and not by a workaround in a specific formula

Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
Co-Authored-By: Bo Anderson <mail@boanderson.me>
Co-Authored-By: Shaun Jackman <sjackman@gmail.com>
2022-08-25 11:04:37 +01:00
Mike McQuaid
c294dcc616
glibc related cleanup
Extracted from https://github.com/Homebrew/brew/pull/13577
2022-08-23 12:42:02 +01:00
Carlo Cabrera
467a45421f
dependency_collector: replace bazaar with breezy 2022-07-29 18:10:12 +08:00
EricFromCanada
508b48d19e
formula_installer: preinstall any pre-fetch dependencies 2021-11-09 13:56:40 -05:00
Alexander Bayandin
fe9a039774
unpack_strategy: add zstd 2021-09-20 14:12:30 +01:00
Michka Popoff
07df4a7e70
Use Homebrew curl for audit and fetch when specified in the formula
Introduce new :using for urls
2021-08-17 13:35:55 +02:00
Mike McQuaid
d73351251c
Deprecate, disable, delete code for next major/minor version.
Do the usual dance for bumping our major/minor version.
2021-04-09 09:30:36 +01:00
Mike McQuaid
d6957a3acb
Homebrew 3.0.0 deprecations/disables 2021-01-29 19:50:24 +00:00
Rylan Polster
50890ebd51 fix Lint/DuplicateBranch style 2020-11-16 02:02:52 +01:00
Markus Reiter
da9289eff0 Add more type signatures. 2020-11-13 12:26:36 +01:00
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00
Markus Reiter
4465a1f6fb
Merge pull request #8455 from reitermarkus/document-svn
Refactor and document `Svn`.
2020-08-24 00:03:21 +02:00
Markus Reiter
3118fedab9 Refactor and document Git. 2020-08-23 06:40:07 +02:00
Markus Reiter
8b26e380a2 Refactor and document Svn. 2020-08-23 06:33:58 +02:00
Dawid Dziurla
59ce122e90
dependency_collector: make resource dep available at test-time too
There are formulae that use resource blocks for stuff that is needed in
test blocks. If a resource is a `.zip` archive, one needs `unzip`
utility in `PATH` to extract it, but its only available at build-time,
so one observes an error like that for example:

```
==> brew test psftools --verbose
Testing psftools
==> Downloading https://www.zone38.net/font/pc8x8.zip
Already downloaded: /github/home/.cache/Homebrew/downloads/ea5f6a485687368ff5bc99e4cc43a49b06e081baa51a97ee6ddcd8d1b82d7963--pc8x8.zip
==> Verifying ea5f6a485687368ff5bc99e4cc43a49b06e081baa51a97ee6ddcd8d1b82d7963--pc8x8.zip checksum
unzip -o /github/home/.cache/Homebrew/downloads/ea5f6a485687368ff5bc99e4cc43a49b06e081baa51a97ee6ddcd8d1b82d7963--pc8x8.zip -d /tmp/d20200304-21389-ui0wr0
Error: psftools: failed
undefined method `shelljoin' for nil:NilClass
```

Of course this issue affects Linux the most, because of higher
probability that the system lacks `unzip` for example.

With this commit, all resource guessed dependencies should be available
at build and test time.
2020-03-04 22:49:54 +01:00
Issy Long
1f6168fe8a
Change regexp.match?(string) to string.match?(regexp) everywhere
- Only try to call `.match?` on strings that aren't nil.
2019-10-13 23:22:51 +01:00
Issy Long
b78028b9c2
Auto-fix Performance/RegexpMatch offenses 2019-10-13 16:04:26 +01:00
Markus Reiter
78aee4fed3 Merge MaximumMacOSRequirement into MacOSRequirement. 2019-08-21 06:57:21 +02:00
Mike McQuaid
c4f72312ce
Fixup brew style failures. 2019-04-30 09:19:18 +01:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
d64429a736
rubocop: enable Style/IfUnlessModifier. 2019-02-21 12:55:49 +00:00
Mike McQuaid
170c5493a4
Update deprecations
- Add some `odeprecated`
- Make some `odeprecated` now `odisabled`
- Remove `odisabled` code.
- Remove old update migrations
- Remove GCC 4.0 compiler
- Remove Tiger-only code
- Remove 32-bit-only code
- Remove use of LD64
- Remove GCC 4.3 - 4.8 support.
2019-01-08 19:13:46 +00:00
Shaun Jackman
d2dba5fc4a DependencyCollector: Add java_dep_if_needed [Linux]
Use the openjdk formula if it's installed.
Use the host's Java if it's sufficient.
Otherwise install the openjdk formula.
2018-11-11 10:18:24 -08:00
Mike McQuaid
0c0275771d
Cleanup Requirements
- remove unused NonBinaryOsxfuseRequirement
- import CodeSignRequirement from Homebrew/homebrew-core
- remove unused UnsignedKextRequirement
- don’t allow custom name for X11Requirement
2018-10-19 16:38:41 +01:00
Markus Reiter
e9b9ea49a1 Update to RuboCop 0.59.1. 2018-09-17 03:45:59 +02:00
Mike McQuaid
9fca172d03 Fix HOMEBREW_RUBY_WARNINGS="-w"
Fix various circular requirements, method redefinitions, etc.
2018-04-07 20:28:56 +01:00
Shaun Jackman
5500c3b25e unzip_dep_if_needed: Needs unzip not zip [Linux] (#632) 2018-03-05 11:51:08 -08:00
Maxim Belkin
f8874004c2 Make 'xz' and 'cvs' dependencies conditional 2018-02-21 14:11:35 +00:00
Maxim Belkin
306c19061e Code refactoring v2.0 2018-02-19 09:58:30 +00:00
Maxim Belkin
d25fc5ce50 Code refactoring 2018-02-19 09:54:36 +00:00
Maxim Belkin
b084a2581f Making zip and bzip2 dependecies conditional
Here, we are adding `unless which("zip")` and `unless which("bzip2")`
and, thus, make `zip` and `bzip2` dependencies conditional.
2018-02-19 07:21:34 +00:00
Maxim Belkin
3dabebbd16 Refactoring based on suggestions
Defaulting zip_dep_if_needed(tags) and bzip2_dep_if_needed(tags)
methods to those on Linux and overriding them on macOS.
2018-02-19 06:49:42 +00:00
Maxim Belkin
5a92976120
Fixing brew-style offenses 2018-02-16 10:49:43 -06:00
Maxim Belkin
444b292df9
zip and bzip2 dependencies when needed
On some systems identified as Linux, zip and bzip2 might
not be available. Therefore, on such platforms we add them
unconditionally as dependencies when required. On Mac, these
dependencies are always satisfied.
2018-02-16 10:41:14 -06:00
Mike McQuaid
27be33b245 Deprecate Git, Subversion requirements.
These rely on `default_formula` to be useful and are better following
the `*_dep_if_needed` pattern.
2018-01-10 13:19:50 +00:00
Shaun Jackman
5d9149a4b9 LD64Dependency is needed on macOS only
Move ld64_dependency.rb to os/mac/.
2018-01-03 10:52:12 -08:00
Mike McQuaid
d54e670a64 requirements: move more to compat. 2017-12-30 20:56:55 +00:00
Mike McQuaid
05329fc08d dependency_collector: don't use hg alias. 2017-12-29 17:51:02 +00:00