<commit_before># depends_on

`depends_on` is used to declare dependencies and requirements for a Cask.
`depends_on` is not consulted until `install` is attempted.

## depends_on cask:

The value should be another Cask token, needed by the current Cask.

Example use: [`SSHFS`](https://github.com/Homebrew/homebrew-cask/blob/312ae841f1f1b2ec07f4d88b7dfdd7fbdf8d4f94/Casks/sshfs.rb#L12) depends on OSXFUSE:

```ruby
depends_on cask: 'osxfuse'
```

## depends_on formula:

The value should name a Homebrew Formula needed by the Cask.

Example use: some distributions are contained in archive formats such as `7z` which are not supported by stock Apple tools. For these cases, a more capable archive reader may be pulled in at install time by declaring a dependency on the Homebrew Formula `unar`:

```ruby
depends_on formula: 'unar'
```

## depends_on macos:

### Requiring an Exact macOS Release

The value for `depends_on macos:` may be a symbol, string, or an array, listing the exact compatible macOS releases.

The available values for macOS releases are:

| symbol             | corresponding string
| -------------------|----------------------
| `:yosemite`        | `'10.10'`
| `:el_capitan`      | `'10.11'`
| `:sierra`          | `'10.12'`
| `:high_sierra`     | `'10.13'`
| `:mojave`          | `'10.14'`
| `:catalina`        | `'10.15'`

Only major releases are covered (version numbers containing a single dot). The symbol form is preferred for readability. The following are all valid ways to enumerate the exact macOS release requirements for a Cask:

```ruby
depends_on macos: :catalina
depends_on macos: [:mojave, :catalina]
depends_on macos: '10.15'
depends_on macos: ['10.14', '10.15']
```

### Setting a Minimum macOS Release

`depends_on macos:` can also accept a string starting with a comparison operator such as `>=`, followed by an macOS release in the form above. The following are both valid expressions meaning “at least macOS 10.15”:

```ruby
depends_on macos: '>= :catalina'
depends_on macos: '>= 10.15'
```

A comparison expression cannot be combined with any other form of `depends_on macos:`.

## depends_on arch:

The value for `depends_on arch:` may be a symbol or an array of symbols, listing the hardware compatibility requirements for a Cask. The requirement is satisfied at install time if any one of multiple `arch:` value matches the user’s hardware.

The available symbols for hardware are:

| symbol     | meaning        |
| ---------- | -------------- |
| `:x86_64`  | 64-bit Intel   |
| `:intel`   | 64-bit Intel   |

The following are all valid expressions:

```ruby
depends_on arch: :intel
depends_on arch: :x86_64            # same meaning as above
depends_on arch: [:x86_64]          # same meaning as above
```

Since as of now all the macOS versions we support only run on 64-bit Intel, `depends_on arch:` is never necessary.
<commit_msg>Fix doc about macOS version comparison (#90326)<commit_after># depends_on

`depends_on` is used to declare dependencies and requirements for a Cask.
`depends_on` is not consulted until `install` is attempted.

## depends_on cask:

The value should be another Cask token, needed by the current Cask.

Example use: [`cellery`](https://github.com/Homebrew/homebrew-cask/blob/4002df8f6bca93ed6eb40494995fcfa038cf99bf/Casks/cellery.rb#L11) depends on OSXFUSE:

```ruby
depends_on cask: "osxfuse"
```

## depends_on formula:

The value should name a Homebrew Formula needed by the Cask.

Example use: some distributions are contained in archive formats such as `7z` which are not supported by stock Apple tools. For these cases, a more capable archive reader may be pulled in at install time by declaring a dependency on the Homebrew Formula `unar`:

```ruby
depends_on formula: "unar"
```

## depends_on macos:

### Requiring an Exact macOS Release

The value for `depends_on macos:` may be a symbol or an array of symbols, listing the exact compatible macOS releases.

The available values for macOS releases are:

| symbol             | corresponding release
| -------------------|----------------------
| `:yosemite`        | `10.10`
| `:el_capitan`      | `10.11`
| `:sierra`          | `10.12`
| `:high_sierra`     | `10.13`
| `:mojave`          | `10.14`
| `:catalina`        | `10.15`

Only major releases are covered (version numbers containing a single dot). The symbol form is used for readability. The following are all valid ways to enumerate the exact macOS release requirements for a Cask:

```ruby
depends_on macos: :catalina
depends_on macos: [
  :mojave,
  :catalina,
]
```

### Setting a Minimum macOS Release

`depends_on macos:` can also accept a string starting with a comparison operator such as `>=`, followed by an macOS release in the form above. The following is a valid expression meaning “at least macOS Catalina (10.15)”:

```ruby
depends_on macos: ">= :catalina"
```

A comparison expression cannot be combined with any other form of `depends_on macos:`.

## depends_on arch:

The value for `depends_on arch:` may be a symbol or an array of symbols, listing the hardware compatibility requirements for a Cask. The requirement is satisfied at install time if any one of multiple `arch:` value matches the user’s hardware.

The available symbols for hardware are:

| symbol     | meaning        |
| ---------- | -------------- |
| `:x86_64`  | 64-bit Intel   |
| `:intel`   | 64-bit Intel   |

The following are all valid expressions:

```ruby
depends_on arch: :intel
depends_on arch: :x86_64            # same meaning as above
depends_on arch: [:x86_64]          # same meaning as above
```

Since as of now all the macOS versions we support only run on 64-bit Intel, `depends_on arch:` is never necessary.

{'fraction_non_alphanumeric': 0.11369599440265873, 'fraction_numerical': 0.028161623228966242, 'mean_word_length': 3.5453100158982513, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 8, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6074126', 'n_tokens_mistral': 1863, 'n_tokens_neox': 1714, 'n_words': 724}