Fix markdown linter errors
v0.13 of the `markdownlint` gem just got released and it has
a few new rules which are docs ended up failing. This fixes
those linter errors so that CI is no longer red.
Rules:
MD055 - Tables: Each row must start and end with a '|'
MD057 - Tables: In the second row every column must have at least '---',
        possibly surrounded with alignment ':' chars
			
			
This commit is contained in:
		
							parent
							
								
									c502eb3ca9
								
							
						
					
					
						commit
						2030f07132
					
				@ -166,23 +166,23 @@ Fill in the following stanzas for your cask:
 | 
			
		||||
 | 
			
		||||
| name               | value       |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `version`          | application version
 | 
			
		||||
| `sha256`           | SHA-256 checksum of the file downloaded from `url`, calculated by the command `shasum -a 256 <file>`. Can be suppressed by using the special value `:no_check`. (see [`sha256` Stanza Details](Cask-Cookbook.md#stanza-sha256))
 | 
			
		||||
| `url`              | URL to the `.dmg`/`.zip`/`.tgz`/`.tbz2` file that contains the application.<br />A [`verified` parameter](Cask-Cookbook.md#when-url-and-homepage-domains-differ-add-verified) must be added if the hostnames in the `url` and `homepage` stanzas differ. [Block syntax](Cask-Cookbook.md#using-a-block-to-defer-code-execution) is available for URLs that change on every visit.
 | 
			
		||||
| `name`             | the full and proper name defined by the vendor, and any useful alternate names (see [`name` Stanza Details](Cask-Cookbook.md#stanza-name))
 | 
			
		||||
| `desc`             | one-line description of the software (see [`desc` Stanza Details](Cask-Cookbook.md#stanza-desc))
 | 
			
		||||
| `homepage`         | application homepage; used for the `brew home` command
 | 
			
		||||
| `app`              | relative path to an `.app` bundle that should be moved into the `/Applications` folder on installation (see [`app` Stanza Details](Cask-Cookbook.md#stanza-app))
 | 
			
		||||
| `version`          | application version |
 | 
			
		||||
| `sha256`           | SHA-256 checksum of the file downloaded from `url`, calculated by the command `shasum -a 256 <file>`. Can be suppressed by using the special value `:no_check`. (see [`sha256` Stanza Details](Cask-Cookbook.md#stanza-sha256)) |
 | 
			
		||||
| `url`              | URL to the `.dmg`/`.zip`/`.tgz`/`.tbz2` file that contains the application.<br />A [`verified` parameter](Cask-Cookbook.md#when-url-and-homepage-domains-differ-add-verified) must be added if the hostnames in the `url` and `homepage` stanzas differ. [Block syntax](Cask-Cookbook.md#using-a-block-to-defer-code-execution) is available for URLs that change on every visit. |
 | 
			
		||||
| `name`             | the full and proper name defined by the vendor, and any useful alternate names (see [`name` Stanza Details](Cask-Cookbook.md#stanza-name)) |
 | 
			
		||||
| `desc`             | one-line description of the software (see [`desc` Stanza Details](Cask-Cookbook.md#stanza-desc)) |
 | 
			
		||||
| `homepage`         | application homepage; used for the `brew home` command |
 | 
			
		||||
| `app`              | relative path to an `.app` bundle that should be moved into the `/Applications` folder on installation (see [`app` Stanza Details](Cask-Cookbook.md#stanza-app)) |
 | 
			
		||||
 | 
			
		||||
Other commonly used stanzas are:
 | 
			
		||||
 | 
			
		||||
| name               | value       |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `livecheck`        | Ruby block describing how to find updates for this cask (see [`livecheck` Stanza Details](Cask-Cookbook.md#stanza-livecheck))
 | 
			
		||||
| `pkg`              | relative path to a `.pkg` file containing the distribution (see [`pkg` Stanza Details](Cask-Cookbook.md#stanza-pkg))
 | 
			
		||||
| `caveats`          | string or Ruby block providing the user with cask-specific information at install time (see [`caveats` Stanza Details](Cask-Cookbook.md#stanza-caveats))
 | 
			
		||||
| `uninstall`        | procedures to uninstall a cask; optional unless the `pkg` stanza is used (see [`uninstall` Stanza Details](Cask-Cookbook.md#stanza-uninstall))
 | 
			
		||||
| `zap`              | additional procedures for a more complete uninstall, including configuration files and shared resources (see [`zap` Stanza Details](Cask-Cookbook.md#stanza-zap))
 | 
			
		||||
| `livecheck`        | Ruby block describing how to find updates for this cask (see [`livecheck` Stanza Details](Cask-Cookbook.md#stanza-livecheck)) |
 | 
			
		||||
| `pkg`              | relative path to a `.pkg` file containing the distribution (see [`pkg` Stanza Details](Cask-Cookbook.md#stanza-pkg)) |
 | 
			
		||||
| `caveats`          | string or Ruby block providing the user with cask-specific information at install time (see [`caveats` Stanza Details](Cask-Cookbook.md#stanza-caveats)) |
 | 
			
		||||
| `uninstall`        | procedures to uninstall a cask; optional unless the `pkg` stanza is used (see [`uninstall` Stanza Details](Cask-Cookbook.md#stanza-uninstall)) |
 | 
			
		||||
| `zap`              | additional procedures for a more complete uninstall, including configuration files and shared resources (see [`zap` Stanza Details](Cask-Cookbook.md#stanza-zap)) |
 | 
			
		||||
 | 
			
		||||
Additional [`artifact` stanzas](Cask-Cookbook.md#at-least-one-artifact-stanza-is-also-required) may be needed for special use cases. Even more special-use stanzas are listed at [Optional Stanzas](Cask-Cookbook.md#optional-stanzas).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -107,12 +107,12 @@ Each of the following stanzas is required for every cask.
 | 
			
		||||
 | 
			
		||||
| name                         | multiple occurrences allowed? | value |
 | 
			
		||||
| ---------------------------- | :---------------------------: | ----- |
 | 
			
		||||
| [`version`](#stanza-version) | no                            | Application version.
 | 
			
		||||
| [`sha256`](#stanza-sha256)   | no                            | SHA-256 checksum of the file downloaded from `url`, calculated by the command `shasum -a 256 <file>`. Can be suppressed by using the special value `:no_check`.
 | 
			
		||||
| [`url`](#stanza-url)         | no                            | URL to the `.dmg`/`.zip`/`.tgz`/`.tbz2` file that contains the application. A [comment](#when-url-and-homepage-domains-differ-add-verified) should be added if the domains in the `url` and `homepage` stanzas differ. Block syntax should be used for URLs that change on every visit.
 | 
			
		||||
| [`name`](#stanza-name)       | yes                           | String providing the full and proper name defined by the vendor.
 | 
			
		||||
| [`desc`](#stanza-desc)       | no                            | One-line description of the cask. Shown when running `brew info`.
 | 
			
		||||
| `homepage`                   | no                            | Application homepage; used for the `brew home` command.
 | 
			
		||||
| [`version`](#stanza-version) | no                            | Application version. |
 | 
			
		||||
| [`sha256`](#stanza-sha256)   | no                            | SHA-256 checksum of the file downloaded from `url`, calculated by the command `shasum -a 256 <file>`. Can be suppressed by using the special value `:no_check`. |
 | 
			
		||||
| [`url`](#stanza-url)         | no                            | URL to the `.dmg`/`.zip`/`.tgz`/`.tbz2` file that contains the application. A [comment](#when-url-and-homepage-domains-differ-add-verified) should be added if the domains in the `url` and `homepage` stanzas differ. Block syntax should be used for URLs that change on every visit. |
 | 
			
		||||
| [`name`](#stanza-name)       | yes                           | String providing the full and proper name defined by the vendor. |
 | 
			
		||||
| [`desc`](#stanza-desc)       | no                            | One-line description of the cask. Shown when running `brew info`. |
 | 
			
		||||
| `homepage`                   | no                            | Application homepage; used for the `brew home` command. |
 | 
			
		||||
 | 
			
		||||
### At least one artifact stanza is also required
 | 
			
		||||
 | 
			
		||||
@ -120,47 +120,47 @@ Each cask must declare one or more *artifacts* (i.e. something to install).
 | 
			
		||||
 | 
			
		||||
| name                             | multiple occurrences allowed? | value |
 | 
			
		||||
| -------------------------------- | :---------------------------: | ----- |
 | 
			
		||||
| [`app`](#stanza-app)             | yes                           | Relative path to an `.app` that should be moved into the `/Applications` folder on installation.
 | 
			
		||||
| [`suite`](#stanza-suite)         | yes                           | Relative path to a containing directory that should be moved into the `/Applications` folder on installation.
 | 
			
		||||
| [`pkg`](#stanza-pkg)             | yes                           | Relative path to a `.pkg` file containing the distribution.
 | 
			
		||||
| [`installer`](#stanza-installer) | yes                           | Describes an executable which must be run to complete the installation.
 | 
			
		||||
| [`binary`](#stanza-binary)       | yes                           | Relative path to a Binary that should be linked into the `$(brew --prefix)/bin` folder on installation.
 | 
			
		||||
| `manpage`                        | yes                           | Relative path to a Man Page that should be linked into the respective man page folder on installation, e.g. `/usr/local/share/man/man3` for `my_app.3`.
 | 
			
		||||
| `colorpicker`                    | yes                           | Relative path to a ColorPicker plugin that should be moved into the `~/Library/ColorPickers` folder on installation.
 | 
			
		||||
| `dictionary`                     | yes                           | Relative path to a Dictionary that should be moved into the `~/Library/Dictionaries` folder on installation.
 | 
			
		||||
| `font`                           | yes                           | Relative path to a Font that should be moved into the `~/Library/Fonts` folder on installation.
 | 
			
		||||
| `input_method`                   | yes                           | Relative path to an Input Method that should be moved into the `~/Library/Input Methods` folder on installation.
 | 
			
		||||
| `internet_plugin`                | yes                           | Relative path to an Internet Plugin that should be moved into the `~/Library/Internet Plug-Ins` folder on installation.
 | 
			
		||||
| `keyboard_layout`                | yes                           | Relative path to a Keyboard Layout that should be moved into the `/Library/Keyboard Layouts` folder on installation.
 | 
			
		||||
| `prefpane`                       | yes                           | Relative path to a Preference Pane that should be moved into the `~/Library/PreferencePanes` folder on installation.
 | 
			
		||||
| `qlplugin`                       | yes                           | Relative path to a QuickLook Plugin that should be moved into the `~/Library/QuickLook` folder on installation.
 | 
			
		||||
| `mdimporter`                     | yes                           | Relative path to a Spotlight Metadata Importer that should be moved into the `~/Library/Spotlight` folder on installation.
 | 
			
		||||
| `screen_saver`                   | yes                           | Relative path to a Screen Saver that should be moved into the `~/Library/Screen Savers` folder on installation.
 | 
			
		||||
| `service`                        | yes                           | Relative path to a Service that should be moved into the `~/Library/Services` folder on installation.
 | 
			
		||||
| `audio_unit_plugin`              | yes                           | Relative path to an Audio Unit Plugin that should be moved into the `~/Library/Audio/Components` folder on installation.
 | 
			
		||||
| `vst_plugin`                     | yes                           | Relative path to a VST Plugin that should be moved into the `~/Library/Audio/VST` folder on installation.
 | 
			
		||||
| `vst3_plugin`                    | yes                           | Relative path to a VST3 Plugin that should be moved into the `~/Library/Audio/VST3` folder on installation.
 | 
			
		||||
| `artifact`                       | yes                           | Relative path to an arbitrary path that should be moved on installation. Must provide an absolute path as a `target`. (Example: [free-gpgmail.rb](https://github.com/Homebrew/homebrew-cask/blob/b3c438d608d9702380edf10d5495e0727cf17108/Casks/f/free-gpgmail.rb#L44)) This is only for unusual cases; the `app` stanza is strongly preferred when moving `.app` bundles.
 | 
			
		||||
| `stage_only`                     | no                            | `true`. Asserts that the cask contains no activatable artifacts.
 | 
			
		||||
| [`app`](#stanza-app)             | yes                           | Relative path to an `.app` that should be moved into the `/Applications` folder on installation. |
 | 
			
		||||
| [`suite`](#stanza-suite)         | yes                           | Relative path to a containing directory that should be moved into the `/Applications` folder on installation. |
 | 
			
		||||
| [`pkg`](#stanza-pkg)             | yes                           | Relative path to a `.pkg` file containing the distribution. |
 | 
			
		||||
| [`installer`](#stanza-installer) | yes                           | Describes an executable which must be run to complete the installation. |
 | 
			
		||||
| [`binary`](#stanza-binary)       | yes                           | Relative path to a Binary that should be linked into the `$(brew --prefix)/bin` folder on installation. |
 | 
			
		||||
| `manpage`                        | yes                           | Relative path to a Man Page that should be linked into the respective man page folder on installation, e.g. `/usr/local/share/man/man3` for `my_app.3`. |
 | 
			
		||||
| `colorpicker`                    | yes                           | Relative path to a ColorPicker plugin that should be moved into the `~/Library/ColorPickers` folder on installation. |
 | 
			
		||||
| `dictionary`                     | yes                           | Relative path to a Dictionary that should be moved into the `~/Library/Dictionaries` folder on installation. |
 | 
			
		||||
| `font`                           | yes                           | Relative path to a Font that should be moved into the `~/Library/Fonts` folder on installation. |
 | 
			
		||||
| `input_method`                   | yes                           | Relative path to an Input Method that should be moved into the `~/Library/Input Methods` folder on installation. |
 | 
			
		||||
| `internet_plugin`                | yes                           | Relative path to an Internet Plugin that should be moved into the `~/Library/Internet Plug-Ins` folder on installation. |
 | 
			
		||||
| `keyboard_layout`                | yes                           | Relative path to a Keyboard Layout that should be moved into the `/Library/Keyboard Layouts` folder on installation. |
 | 
			
		||||
| `prefpane`                       | yes                           | Relative path to a Preference Pane that should be moved into the `~/Library/PreferencePanes` folder on installation. |
 | 
			
		||||
| `qlplugin`                       | yes                           | Relative path to a QuickLook Plugin that should be moved into the `~/Library/QuickLook` folder on installation. |
 | 
			
		||||
| `mdimporter`                     | yes                           | Relative path to a Spotlight Metadata Importer that should be moved into the `~/Library/Spotlight` folder on installation. |
 | 
			
		||||
| `screen_saver`                   | yes                           | Relative path to a Screen Saver that should be moved into the `~/Library/Screen Savers` folder on installation. |
 | 
			
		||||
| `service`                        | yes                           | Relative path to a Service that should be moved into the `~/Library/Services` folder on installation. |
 | 
			
		||||
| `audio_unit_plugin`              | yes                           | Relative path to an Audio Unit Plugin that should be moved into the `~/Library/Audio/Components` folder on installation. |
 | 
			
		||||
| `vst_plugin`                     | yes                           | Relative path to a VST Plugin that should be moved into the `~/Library/Audio/VST` folder on installation. |
 | 
			
		||||
| `vst3_plugin`                    | yes                           | Relative path to a VST3 Plugin that should be moved into the `~/Library/Audio/VST3` folder on installation. |
 | 
			
		||||
| `artifact`                       | yes                           | Relative path to an arbitrary path that should be moved on installation. Must provide an absolute path as a `target`. (Example: [free-gpgmail.rb](https://github.com/Homebrew/homebrew-cask/blob/b3c438d608d9702380edf10d5495e0727cf17108/Casks/f/free-gpgmail.rb#L44)) This is only for unusual cases; the `app` stanza is strongly preferred when moving `.app` bundles. |
 | 
			
		||||
| `stage_only`                     | no                            | `true`. Asserts that the cask contains no activatable artifacts. |
 | 
			
		||||
 | 
			
		||||
### Optional stanzas
 | 
			
		||||
 | 
			
		||||
| name                                       | multiple occurrences allowed? | value |
 | 
			
		||||
| ------------------------------------------ | :---------------------------: | ----- |
 | 
			
		||||
| [`uninstall`](#stanza-uninstall)           | yes                           | Procedures to uninstall a cask. Optional unless the `pkg` stanza is used.
 | 
			
		||||
| [`zap`](#stanza-zap)                       | yes                           | Additional procedures for a more complete uninstall, including user files and shared resources.
 | 
			
		||||
| [`depends_on`](#stanza-depends_on)         | yes                           | List of dependencies and requirements for this cask.
 | 
			
		||||
| [`conflicts_with`](#stanza-conflicts_with) | yes                           | List of conflicts with this cask (*not yet functional*).
 | 
			
		||||
| [`caveats`](#stanza-caveats)               | yes                           | String or Ruby block providing the user with cask-specific information at install time.
 | 
			
		||||
| [`livecheck`](#stanza-livecheck)           | no                            | Ruby block describing how to find updates for this cask. Supersedes `appcast`.
 | 
			
		||||
| `preflight`                                | yes                           | Ruby block containing preflight install operations (needed only in very rare cases).
 | 
			
		||||
| [`postflight`](#stanza-flight)             | yes                           | Ruby block containing postflight install operations.
 | 
			
		||||
| `uninstall_preflight`                      | yes                           | Ruby block containing preflight uninstall operations (needed only in very rare cases).
 | 
			
		||||
| `uninstall_postflight`                     | yes                           | Ruby block containing postflight uninstall operations.
 | 
			
		||||
| [`language`](#stanza-language)             | required                      | Ruby block, called with language code parameters, containing other stanzas and/or a return value.
 | 
			
		||||
| `container nested:`                        | no                            | Relative path to an inner container that must be extracted before moving on with the installation. This allows for support of `.dmg` inside `.tar`, `.zip` inside `.dmg`, etc. (Example: [blocs.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/b/blocs.rb#L17-L19))
 | 
			
		||||
| `container type:`                          | no                            | Symbol to override container-type autodetect. May be one of: `:air`, `:bz2`, `:cab`, `:dmg`, `:generic_unar`, `:gzip`, `:otf`, `:pkg`, `:rar`, `:seven_zip`, `:sit`, `:tar`, `:ttf`, `:xar`, `:zip`, `:naked`. (Example: [parse.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/p/parse.rb#L10))
 | 
			
		||||
| `auto_updates`                             | no                            | `true`. Asserts that the cask artifacts auto-update. Use if `Check for Updates…` or similar is present in an app menu, but not if it only opens a webpage and does not do the download and installation for you.
 | 
			
		||||
| [`uninstall`](#stanza-uninstall)           | yes                           | Procedures to uninstall a cask. Optional unless the `pkg` stanza is used. |
 | 
			
		||||
| [`zap`](#stanza-zap)                       | yes                           | Additional procedures for a more complete uninstall, including user files and shared resources. |
 | 
			
		||||
| [`depends_on`](#stanza-depends_on)         | yes                           | List of dependencies and requirements for this cask. |
 | 
			
		||||
| [`conflicts_with`](#stanza-conflicts_with) | yes                           | List of conflicts with this cask (*not yet functional*). |
 | 
			
		||||
| [`caveats`](#stanza-caveats)               | yes                           | String or Ruby block providing the user with cask-specific information at install time. |
 | 
			
		||||
| [`livecheck`](#stanza-livecheck)           | no                            | Ruby block describing how to find updates for this cask. Supersedes `appcast`. |
 | 
			
		||||
| `preflight`                                | yes                           | Ruby block containing preflight install operations (needed only in very rare cases). |
 | 
			
		||||
| [`postflight`](#stanza-flight)             | yes                           | Ruby block containing postflight install operations. |
 | 
			
		||||
| `uninstall_preflight`                      | yes                           | Ruby block containing preflight uninstall operations (needed only in very rare cases). |
 | 
			
		||||
| `uninstall_postflight`                     | yes                           | Ruby block containing postflight uninstall operations. |
 | 
			
		||||
| [`language`](#stanza-language)             | required                      | Ruby block, called with language code parameters, containing other stanzas and/or a return value. |
 | 
			
		||||
| `container nested:`                        | no                            | Relative path to an inner container that must be extracted before moving on with the installation. This allows for support of `.dmg` inside `.tar`, `.zip` inside `.dmg`, etc. (Example: [blocs.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/b/blocs.rb#L17-L19)) |
 | 
			
		||||
| `container type:`                          | no                            | Symbol to override container-type autodetect. May be one of: `:air`, `:bz2`, `:cab`, `:dmg`, `:generic_unar`, `:gzip`, `:otf`, `:pkg`, `:rar`, `:seven_zip`, `:sit`, `:tar`, `:ttf`, `:xar`, `:zip`, `:naked`. (Example: [parse.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/p/parse.rb#L10)) |
 | 
			
		||||
| `auto_updates`                             | no                            | `true`. Asserts that the cask artifacts auto-update. Use if `Check for Updates…` or similar is present in an app menu, but not if it only opens a webpage and does not do the download and installation for you. |
 | 
			
		||||
 | 
			
		||||
## Stanza descriptions
 | 
			
		||||
 | 
			
		||||
@ -249,11 +249,11 @@ When `caveats` is a string, it is evaluated at compile time. The following metho
 | 
			
		||||
 | 
			
		||||
| method             | description |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `token`            | the cask token
 | 
			
		||||
| `version`          | the cask version
 | 
			
		||||
| `homepage`         | the cask homepage
 | 
			
		||||
| `caskroom_path`    | the containing directory for this cask: `$(brew --caskroom)/<token>` (only available with block form)
 | 
			
		||||
| `staged_path`      | the staged location for this cask, including version number: `$(brew --caskroom)/<token>/<version>` (only available with block form)
 | 
			
		||||
| `token`            | the cask token |
 | 
			
		||||
| `version`          | the cask version |
 | 
			
		||||
| `homepage`         | the cask homepage |
 | 
			
		||||
| `caskroom_path`    | the containing directory for this cask: `$(brew --caskroom)/<token>` (only available with block form) |
 | 
			
		||||
| `staged_path`      | the staged location for this cask, including version number: `$(brew --caskroom)/<token>/<version>` (only available with block form) |
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
@ -273,18 +273,18 @@ The following methods may be called to generate standard warning messages:
 | 
			
		||||
 | 
			
		||||
| method                             | description |
 | 
			
		||||
| ---------------------------------- | ----------- |
 | 
			
		||||
| `path_environment_variable "path"` | Users should make sure `path` is in their `PATH` environment variable.
 | 
			
		||||
| `zsh_path_helper "path"`           | `zsh` users must take additional steps to make sure `path` is in their `PATH` environment variable.
 | 
			
		||||
| `depends_on_java "version"`        | Users should make sure they have the specified version of Java installed. `version` can be exact (e.g. `6`), a minimum (e.g. `7+`), or omitted (when any version works).
 | 
			
		||||
| `requires_rosetta`                 | The cask requires Rosetta 2 for it to run on Apple Silicon.
 | 
			
		||||
| `logout`                           | Users should log out and log back in to complete installation.
 | 
			
		||||
| `reboot`                           | Users should reboot to complete installation.
 | 
			
		||||
| `files_in_usr_local`               | The cask installs files to `/usr/local`, which may confuse Homebrew.
 | 
			
		||||
| `discontinued`                     | All software development has been officially discontinued upstream.
 | 
			
		||||
| `kext`                             | Users may need to enable their kexts in *System Settings → Privacy & Security* (or *System Preferences → Security & Privacy → General* in earlier macOS versions).
 | 
			
		||||
| `unsigned_accessibility`           | Users will need to re-enable the app on each update in *System Settings → Privacy & Security* (or *System Preferences → Security & Privacy → Privacy* in earlier macOS versions) as it is unsigned.
 | 
			
		||||
| `license "web_page"`               | Users may find the software's usage license at `web_page`.
 | 
			
		||||
| `free_license "web_page"`          | Users may obtain an official license to use the software at `web_page`.
 | 
			
		||||
| `path_environment_variable "path"` | Users should make sure `path` is in their `PATH` environment variable. |
 | 
			
		||||
| `zsh_path_helper "path"`           | `zsh` users must take additional steps to make sure `path` is in their `PATH` environment variable. |
 | 
			
		||||
| `depends_on_java "version"`        | Users should make sure they have the specified version of Java installed. `version` can be exact (e.g. `6`), a minimum (e.g. `7+`), or omitted (when any version works). |
 | 
			
		||||
| `requires_rosetta`                 | The cask requires Rosetta 2 for it to run on Apple Silicon. |
 | 
			
		||||
| `logout`                           | Users should log out and log back in to complete installation. |
 | 
			
		||||
| `reboot`                           | Users should reboot to complete installation. |
 | 
			
		||||
| `files_in_usr_local`               | The cask installs files to `/usr/local`, which may confuse Homebrew. |
 | 
			
		||||
| `discontinued`                     | All software development has been officially discontinued upstream. |
 | 
			
		||||
| `kext`                             | Users may need to enable their kexts in *System Settings → Privacy & Security* (or *System Preferences → Security & Privacy → General* in earlier macOS versions). |
 | 
			
		||||
| `unsigned_accessibility`           | Users will need to re-enable the app on each update in *System Settings → Privacy & Security* (or *System Preferences → Security & Privacy → Privacy* in earlier macOS versions) as it is unsigned. |
 | 
			
		||||
| `license "web_page"`               | Users may find the software's usage license at `web_page`. |
 | 
			
		||||
| `free_license "web_page"`          | Users may obtain an official license to use the software at `web_page`. |
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
@ -378,9 +378,9 @@ The available symbols for hardware are:
 | 
			
		||||
 | 
			
		||||
| symbol     | meaning        |
 | 
			
		||||
| ---------- | -------------- |
 | 
			
		||||
| `:x86_64`  | 64-bit Intel
 | 
			
		||||
| `:intel`   | 64-bit Intel
 | 
			
		||||
| `:arm64`   | Apple Silicon
 | 
			
		||||
| `:x86_64`  | 64-bit Intel |
 | 
			
		||||
| `:intel`   | 64-bit Intel |
 | 
			
		||||
| `:arm64`   | Apple Silicon |
 | 
			
		||||
 | 
			
		||||
The following are all valid expressions:
 | 
			
		||||
 | 
			
		||||
@ -395,11 +395,11 @@ depends_on arch: :arm64
 | 
			
		||||
 | 
			
		||||
| key        | description |
 | 
			
		||||
| ---------- | ----------- |
 | 
			
		||||
| `formula:` | Homebrew formula
 | 
			
		||||
| `cask:`    | cask token
 | 
			
		||||
| `macos:`   | symbol, array, or string comparison expression defining macOS release requirements
 | 
			
		||||
| `arch:`    | symbol or array defining hardware requirements
 | 
			
		||||
| `java:`    | *stub - not yet functional*
 | 
			
		||||
| `formula:` | Homebrew formula |
 | 
			
		||||
| `cask:`    | cask token |
 | 
			
		||||
| `macos:`   | symbol, array, or string comparison expression defining macOS release requirements |
 | 
			
		||||
| `arch:`    | symbol or array defining hardware requirements |
 | 
			
		||||
| `java:`    | *stub - not yet functional* |
 | 
			
		||||
 | 
			
		||||
### Stanza: `desc`
 | 
			
		||||
 | 
			
		||||
@ -481,8 +481,8 @@ The following methods may be called to perform standard tasks:
 | 
			
		||||
 | 
			
		||||
| method                                    | availability                                     | description |
 | 
			
		||||
| ----------------------------------------- | ------------------------------------------------ | ----------- |
 | 
			
		||||
| `set_ownership(paths)`                    | `preflight`, `postflight`, `uninstall_preflight` | Set user and group ownership of `paths`. (Example: [docker-toolbox.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/d/docker-toolbox.rb#L42))
 | 
			
		||||
| `set_permissions(paths, permissions_str)` | `preflight`, `postflight`, `uninstall_preflight` | Set permissions in `paths` to `permissions_str`. (Example: [ngrok.rb](https://github.com/Homebrew/homebrew-cask/blob/41d91ff669d85343175202adf568e2328486205f/Casks/n/ngrok.rb#L30))
 | 
			
		||||
| `set_ownership(paths)`                    | `preflight`, `postflight`, `uninstall_preflight` | Set user and group ownership of `paths`. (Example: [docker-toolbox.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/d/docker-toolbox.rb#L42)) |
 | 
			
		||||
| `set_permissions(paths, permissions_str)` | `preflight`, `postflight`, `uninstall_preflight` | Set permissions in `paths` to `permissions_str`. (Example: [ngrok.rb](https://github.com/Homebrew/homebrew-cask/blob/41d91ff669d85343175202adf568e2328486205f/Casks/n/ngrok.rb#L30)) |
 | 
			
		||||
 | 
			
		||||
`set_ownership(paths)` defaults user ownership to the current user and group ownership to `staff`. These can be changed by passing in extra options: `set_ownership(paths, user: "user", group: "group")`. (Example: [hummingbird.rb](https://github.com/Homebrew/homebrew-cask/blob/aa461148bbb5119af26b82cccf5003e2b4e50d95/Casks/h/hummingbird.rb#L24))
 | 
			
		||||
 | 
			
		||||
@ -506,11 +506,11 @@ installer manual: "RubyMotion Installer.app"
 | 
			
		||||
 | 
			
		||||
| key             | value |
 | 
			
		||||
| --------------- | ----- |
 | 
			
		||||
| `executable:`   | path to an install script to be run
 | 
			
		||||
| `args:`         | array of arguments to the install script
 | 
			
		||||
| `input:`        | array of lines of input to be sent to `stdin` of the script
 | 
			
		||||
| `must_succeed:` | set to `false` if the script is allowed to fail
 | 
			
		||||
| `sudo:`         | set to `true` if the script needs *sudo*
 | 
			
		||||
| `executable:`   | path to an install script to be run |
 | 
			
		||||
| `args:`         | array of arguments to the install script |
 | 
			
		||||
| `input:`        | array of lines of input to be sent to `stdin` of the script |
 | 
			
		||||
| `must_succeed:` | set to `false` if the script is allowed to fail |
 | 
			
		||||
| `sudo:`         | set to `true` if the script needs *sudo* |
 | 
			
		||||
 | 
			
		||||
The path may be absolute, or relative to the cask. Example (from [miniforge.rb](https://github.com/Homebrew/homebrew-cask/blob/864f623e2cd17dbde5987a7b3923fdb0b4ac9ee5/Casks/m/miniforge.rb#L23-L26)):
 | 
			
		||||
 | 
			
		||||
@ -921,13 +921,13 @@ When a plain URL string is insufficient to fetch a file, additional information
 | 
			
		||||
 | 
			
		||||
| key                | value       |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `verified:`        | string repeating the beginning of `url`, for [verification purposes](#when-url-and-homepage-domains-differ-add-verified)
 | 
			
		||||
| `using:`           | the symbols `:post` and `:homebrew_curl` are the only legal values
 | 
			
		||||
| `cookies:`         | hash of cookies to be set in the download request (Example: [oracle-jdk-javadoc.rb](https://github.com/Homebrew/homebrew-cask/blob/326c44e93aeb8d4dd73acea14a99ae215c75fdd6/Casks/o/oracle-jdk-javadoc.rb#L5-L8))
 | 
			
		||||
| `referer:`         | string holding the URL to set as referer in the download request (Example: [firealpaca.rb](https://github.com/Homebrew/homebrew-cask/blob/c4b3f0742e044ae2a6e114eb6b90068763d0d12b/Casks/f/firealpaca.rb#L5-L6))
 | 
			
		||||
| `header:`          | string or array of strings holding the header(s) to set for the download request (Example: [pull-6545](https://github.com/Homebrew/brew/pull/6545#issue-503302353), [issue-15590](https://github.com/Homebrew/brew/issues/15590#issue-1774825542))
 | 
			
		||||
| `user_agent:`      | string holding the user agent to set for the download request. Can also be set to the symbol `:fake`, which will use a generic browser-like user agent string. We prefer `:fake` when the server does not require a specific user agent.
 | 
			
		||||
| `data:`            | hash of parameters to be set in the POST request (Example: [segger-jlink.rb](https://github.com/Homebrew/homebrew-cask/blob/38ac55614f146d68ae317594f0c119e9acbd7c9e/Casks/s/segger-jlink.rb#L6-L11))
 | 
			
		||||
| `verified:`        | string repeating the beginning of `url`, for [verification purposes](#when-url-and-homepage-domains-differ-add-verified) |
 | 
			
		||||
| `using:`           | the symbols `:post` and `:homebrew_curl` are the only legal values |
 | 
			
		||||
| `cookies:`         | hash of cookies to be set in the download request (Example: [oracle-jdk-javadoc.rb](https://github.com/Homebrew/homebrew-cask/blob/326c44e93aeb8d4dd73acea14a99ae215c75fdd6/Casks/o/oracle-jdk-javadoc.rb#L5-L8)) |
 | 
			
		||||
| `referer:`         | string holding the URL to set as referer in the download request (Example: [firealpaca.rb](https://github.com/Homebrew/homebrew-cask/blob/c4b3f0742e044ae2a6e114eb6b90068763d0d12b/Casks/f/firealpaca.rb#L5-L6)) |
 | 
			
		||||
| `header:`          | string or array of strings holding the header(s) to set for the download request (Example: [pull-6545](https://github.com/Homebrew/brew/pull/6545#issue-503302353), [issue-15590](https://github.com/Homebrew/brew/issues/15590#issue-1774825542)) |
 | 
			
		||||
| `user_agent:`      | string holding the user agent to set for the download request. Can also be set to the symbol `:fake`, which will use a generic browser-like user agent string. We prefer `:fake` when the server does not require a specific user agent. |
 | 
			
		||||
| `data:`            | hash of parameters to be set in the POST request (Example: [segger-jlink.rb](https://github.com/Homebrew/homebrew-cask/blob/38ac55614f146d68ae317594f0c119e9acbd7c9e/Casks/s/segger-jlink.rb#L6-L11)) |
 | 
			
		||||
 | 
			
		||||
#### When URL and homepage domains differ, add `verified:`
 | 
			
		||||
 | 
			
		||||
@ -951,9 +951,9 @@ In rare cases, a distribution may not be available over ordinary HTTP/S. Subvers
 | 
			
		||||
 | 
			
		||||
| key                | value       |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `using:`           | the symbol `:svn` is the only legal value
 | 
			
		||||
| `revision:`        | string identifying the Subversion revision to download
 | 
			
		||||
| `trust_cert:`      | set to `true` to automatically trust the certificate presented by the server (avoiding an interactive prompt)
 | 
			
		||||
| `using:`           | the symbol `:svn` is the only legal value |
 | 
			
		||||
| `revision:`        | string identifying the Subversion revision to download |
 | 
			
		||||
| `trust_cert:`      | set to `true` to automatically trust the certificate presented by the server (avoiding an interactive prompt) |
 | 
			
		||||
 | 
			
		||||
#### Git URLs
 | 
			
		||||
 | 
			
		||||
@ -961,11 +961,11 @@ Artifacts also may be distributed via Git repositories. URLs that end in `.git`
 | 
			
		||||
 | 
			
		||||
| key                | value       |
 | 
			
		||||
| ------------------ | ----------- |
 | 
			
		||||
| `using:`           | the symbol `:git` is the only legal value
 | 
			
		||||
| `tag:`             | string identifying the Git tag to download
 | 
			
		||||
| `revision:`        | string identifying the Git revision to download
 | 
			
		||||
| `branch:`          | string identifying the Git branch to download
 | 
			
		||||
| `only_path:`       | path within the repository to limit the checkout to. If only a single directory of a large repository is required, using this option can significantly speed up downloads. If provided, artifact paths are relative to this path. (Example: [font-geo.rb](https://github.com/Homebrew/homebrew-cask-fonts/blob/bac691e1d7b5bd7372e7e0befae989a3ff7ad449/Casks/font-geo.rb#L5-L8))
 | 
			
		||||
| `using:`           | the symbol `:git` is the only legal value |
 | 
			
		||||
| `tag:`             | string identifying the Git tag to download |
 | 
			
		||||
| `revision:`        | string identifying the Git revision to download |
 | 
			
		||||
| `branch:`          | string identifying the Git branch to download |
 | 
			
		||||
| `only_path:`       | path within the repository to limit the checkout to. If only a single directory of a large repository is required, using this option can significantly speed up downloads. If provided, artifact paths are relative to this path. (Example: [font-geo.rb](https://github.com/Homebrew/homebrew-cask-fonts/blob/bac691e1d7b5bd7372e7e0befae989a3ff7ad449/Casks/font-geo.rb#L5-L8)) |
 | 
			
		||||
 | 
			
		||||
#### SourceForge/OSDN URLs
 | 
			
		||||
 | 
			
		||||
@ -1064,16 +1064,16 @@ The examples above can become hard to read, however. Since many of these changes
 | 
			
		||||
 | 
			
		||||
| method                   | input              | output             |
 | 
			
		||||
| ------------------------ | ------------------ | ------------------ |
 | 
			
		||||
| `major`                  | `1.2.3-a45,ccdd88` | `1`
 | 
			
		||||
| `minor`                  | `1.2.3-a45,ccdd88` | `2`
 | 
			
		||||
| `patch`                  | `1.2.3-a45,ccdd88` | `3-a45`
 | 
			
		||||
| `major_minor`            | `1.2.3-a45,ccdd88` | `1.2`
 | 
			
		||||
| `major_minor_patch`      | `1.2.3-a45,ccdd88` | `1.2.3-a45`
 | 
			
		||||
| `minor_patch`            | `1.2.3-a45,ccdd88` | `2.3-a45`
 | 
			
		||||
| `before_comma`           | `1.2.3-a45,ccdd88` | `1.2.3-a45`
 | 
			
		||||
| `after_comma`            | `1.2.3-a45,ccdd88` | `ccdd88`
 | 
			
		||||
| `dots_to_hyphens`        | `1.2.3-a45,ccdd88` | `1-2-3-a45,ccdd88`
 | 
			
		||||
| `no_dots`                | `1.2.3-a45,ccdd88` | `123-a45,ccdd88`
 | 
			
		||||
| `major`                  | `1.2.3-a45,ccdd88` | `1` |
 | 
			
		||||
| `minor`                  | `1.2.3-a45,ccdd88` | `2` |
 | 
			
		||||
| `patch`                  | `1.2.3-a45,ccdd88` | `3-a45` |
 | 
			
		||||
| `major_minor`            | `1.2.3-a45,ccdd88` | `1.2` |
 | 
			
		||||
| `major_minor_patch`      | `1.2.3-a45,ccdd88` | `1.2.3-a45` |
 | 
			
		||||
| `minor_patch`            | `1.2.3-a45,ccdd88` | `2.3-a45` |
 | 
			
		||||
| `before_comma`           | `1.2.3-a45,ccdd88` | `1.2.3-a45` |
 | 
			
		||||
| `after_comma`            | `1.2.3-a45,ccdd88` | `ccdd88` |
 | 
			
		||||
| `dots_to_hyphens`        | `1.2.3-a45,ccdd88` | `1-2-3-a45,ccdd88` |
 | 
			
		||||
| `no_dots`                | `1.2.3-a45,ccdd88` | `123-a45,ccdd88` |
 | 
			
		||||
 | 
			
		||||
Similar to `dots_to_hyphens`, we provide methods for all logical permutations of `{dots,hyphens,underscores}_to_{dots,hyphens,underscores}`. The same applies to `no_dots` in the form of `no_{dots,hyphens,underscores}`, with an extra `no_dividers` that applies all these at once.
 | 
			
		||||
 | 
			
		||||
@ -1343,13 +1343,13 @@ The token is also given in the header line for each cask.
 | 
			
		||||
 | 
			
		||||
These illustrate most of the rules for generating a token:
 | 
			
		||||
 | 
			
		||||
App Name on Disk       | Simplified App Name | Cask Token       | Filename
 | 
			
		||||
-----------------------|---------------------|------------------|----------------------
 | 
			
		||||
`Audio Hijack Pro.app` | Audio Hijack Pro    | audio-hijack-pro | `audio-hijack-pro.rb`
 | 
			
		||||
`VLC.app`              | VLC                 | vlc              | `vlc.rb`
 | 
			
		||||
`BetterTouchTool.app`  | BetterTouchTool     | bettertouchtool  | `bettertouchtool.rb`
 | 
			
		||||
`LPK25 Editor.app`     | LPK25 Editor        | lpk25-editor     | `lpk25-editor.rb`
 | 
			
		||||
`Sublime Text 2.app`   | Sublime Text        | sublime-text     | `sublime-text.rb`
 | 
			
		||||
| App Name on Disk       | Simplified App Name | Cask Token       | Filename |
 | 
			
		||||
|------------------------|---------------------|------------------|----------------------|
 | 
			
		||||
| `Audio Hijack Pro.app` | Audio Hijack Pro    | audio-hijack-pro | `audio-hijack-pro.rb` |
 | 
			
		||||
| `VLC.app`              | VLC                 | vlc              | `vlc.rb` |
 | 
			
		||||
| `BetterTouchTool.app`  | BetterTouchTool     | bettertouchtool  | `bettertouchtool.rb` |
 | 
			
		||||
| `LPK25 Editor.app`     | LPK25 Editor        | lpk25-editor     | `lpk25-editor.rb` |
 | 
			
		||||
| `Sublime Text 2.app`   | Sublime Text        | sublime-text     | `sublime-text.rb` |
 | 
			
		||||
 | 
			
		||||
#### Tap-specific cask token examples
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,11 +28,11 @@ An executable script for a command named `extcmd` should be named `brew-extcmd`.
 | 
			
		||||
 | 
			
		||||
| variable               | description |
 | 
			
		||||
| ---------------------- | ----------- |
 | 
			
		||||
| `HOMEBREW_CACHE`       | Where Homebrew caches downloaded tarballs to, by default `~/Library/Caches/Homebrew`.
 | 
			
		||||
| `HOMEBREW_PREFIX`      | Where Homebrew installs software. `/usr/local` by default for macOS Intel, `/opt/homebrew` for Apple Silicon and `/home/linuxbrew/.linuxbrew` for Linux.
 | 
			
		||||
| `HOMEBREW_CELLAR`      | The location of the Homebrew Cellar, where software is staged. This will be `HOMEBREW_PREFIX/Cellar` if that directory exists, or `HOMEBREW_REPOSITORY/Cellar` otherwise.
 | 
			
		||||
| `HOMEBREW_LIBRARY_PATH`| The directory containing Homebrew’s own application code.
 | 
			
		||||
| `HOMEBREW_REPOSITORY`  | The Git repository directory (i.e. where Homebrew’s `.git` directory lives). Usually either the same as `HOMEBREW_PREFIX` or a `Homebrew` subdirectory.
 | 
			
		||||
| `HOMEBREW_CACHE`       | Where Homebrew caches downloaded tarballs to, by default `~/Library/Caches/Homebrew`. |
 | 
			
		||||
| `HOMEBREW_PREFIX`      | Where Homebrew installs software. `/usr/local` by default for macOS Intel, `/opt/homebrew` for Apple Silicon and `/home/linuxbrew/.linuxbrew` for Linux. |
 | 
			
		||||
| `HOMEBREW_CELLAR`      | The location of the Homebrew Cellar, where software is staged. This will be `HOMEBREW_PREFIX/Cellar` if that directory exists, or `HOMEBREW_REPOSITORY/Cellar` otherwise. |
 | 
			
		||||
| `HOMEBREW_LIBRARY_PATH`| The directory containing Homebrew’s own application code. |
 | 
			
		||||
| `HOMEBREW_REPOSITORY`  | The Git repository directory (i.e. where Homebrew’s `.git` directory lives). Usually either the same as `HOMEBREW_PREFIX` or a `Homebrew` subdirectory. |
 | 
			
		||||
 | 
			
		||||
## Providing `--help`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -9,21 +9,21 @@ A *formula* is a package definition written in Ruby. It can be created with `bre
 | 
			
		||||
 | 
			
		||||
| term                 | description                                                               | example |
 | 
			
		||||
| -------------------- | ------------------------------------------------------------------------- | ------- |
 | 
			
		||||
| **formula**          | Homebrew package definition that builds from upstream sources             | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/f/foo.rb`
 | 
			
		||||
| **cask**             | Homebrew package definition that installs macOS native applications       | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/b/bar.rb`
 | 
			
		||||
| **prefix**           | path in which Homebrew is installed                                       | `/usr/local`
 | 
			
		||||
| **keg**              | installation destination directory of a given **formula** version         | `/usr/local/Cellar/foo/0.1`
 | 
			
		||||
| **rack**             | directory containing one or more versioned **kegs**                       | `/usr/local/Cellar/foo`
 | 
			
		||||
| **keg-only**         | a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix | the [`openjdk`](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/openjdk.rb) formula
 | 
			
		||||
| **opt prefix**       | a symlink to the active version of a **keg**                              | `/usr/local/opt/foo`
 | 
			
		||||
| **Cellar**           | directory containing one or more named **racks**                          | `/usr/local/Cellar`
 | 
			
		||||
| **Caskroom**         | directory containing one or more named **casks**                          | `/usr/local/Caskroom`
 | 
			
		||||
| **external command** | `brew` subcommand defined outside of the Homebrew/brew GitHub repository  | [`brew alias`](https://github.com/Homebrew/homebrew-aliases)
 | 
			
		||||
| **tap**              | directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**       | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core`
 | 
			
		||||
| **bottle**           | pre-built **keg** poured into a **rack** of the **Cellar** instead of building from upstream sources | `qt--6.5.1.ventura.bottle.tar.gz`
 | 
			
		||||
| **tab**              | information about a **keg**, e.g. whether it was poured from a **bottle** or built from source       | `/usr/local/Cellar/foo/0.1/INSTALL_RECEIPT.json`
 | 
			
		||||
| **Brew Bundle**      | an [extension of Homebrew](https://github.com/Homebrew/homebrew-bundle) to describe dependencies     | `brew 'myservice', restart_service: true`
 | 
			
		||||
| **Brew Services**    | an [extension of Homebrew](https://github.com/Homebrew/homebrew-services) to manage services         | `brew services start myservice`
 | 
			
		||||
| **formula**          | Homebrew package definition that builds from upstream sources             | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/f/foo.rb` |
 | 
			
		||||
| **cask**             | Homebrew package definition that installs macOS native applications       | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/b/bar.rb` |
 | 
			
		||||
| **prefix**           | path in which Homebrew is installed                                       | `/usr/local` |
 | 
			
		||||
| **keg**              | installation destination directory of a given **formula** version         | `/usr/local/Cellar/foo/0.1` |
 | 
			
		||||
| **rack**             | directory containing one or more versioned **kegs**                       | `/usr/local/Cellar/foo` |
 | 
			
		||||
| **keg-only**         | a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix | the [`openjdk`](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/openjdk.rb) formula |
 | 
			
		||||
| **opt prefix**       | a symlink to the active version of a **keg**                              | `/usr/local/opt/foo` |
 | 
			
		||||
| **Cellar**           | directory containing one or more named **racks**                          | `/usr/local/Cellar` |
 | 
			
		||||
| **Caskroom**         | directory containing one or more named **casks**                          | `/usr/local/Caskroom` |
 | 
			
		||||
| **external command** | `brew` subcommand defined outside of the Homebrew/brew GitHub repository  | [`brew alias`](https://github.com/Homebrew/homebrew-aliases) |
 | 
			
		||||
| **tap**              | directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**       | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core` |
 | 
			
		||||
| **bottle**           | pre-built **keg** poured into a **rack** of the **Cellar** instead of building from upstream sources | `qt--6.5.1.ventura.bottle.tar.gz` |
 | 
			
		||||
| **tab**              | information about a **keg**, e.g. whether it was poured from a **bottle** or built from source       | `/usr/local/Cellar/foo/0.1/INSTALL_RECEIPT.json` |
 | 
			
		||||
| **Brew Bundle**      | an [extension of Homebrew](https://github.com/Homebrew/homebrew-bundle) to describe dependencies     | `brew 'myservice', restart_service: true` |
 | 
			
		||||
| **Brew Services**    | an [extension of Homebrew](https://github.com/Homebrew/homebrew-services) to manage services         | `brew services start myservice` |
 | 
			
		||||
 | 
			
		||||
## An introduction
 | 
			
		||||
 | 
			
		||||
@ -668,16 +668,16 @@ Homebrew offers these anonymous download strategies.
 | 
			
		||||
 | 
			
		||||
| `:using` value   | download strategy             |
 | 
			
		||||
| ---------------- | ----------------------------- |
 | 
			
		||||
| `:bzr`           | `BazaarDownloadStrategy`
 | 
			
		||||
| `:curl`          | `CurlDownloadStrategy`
 | 
			
		||||
| `:cvs`           | `CVSDownloadStrategy`
 | 
			
		||||
| `:fossil`        | `FossilDownloadStrategy`
 | 
			
		||||
| `:git`           | `GitDownloadStrategy`
 | 
			
		||||
| `:hg`            | `MercurialDownloadStrategy`
 | 
			
		||||
| `:homebrew_curl` | `HomebrewCurlDownloadStrategy`
 | 
			
		||||
| `:nounzip`       | `NoUnzipCurlDownloadStrategy`
 | 
			
		||||
| `:post`          | `CurlPostDownloadStrategy`
 | 
			
		||||
| `:svn`           | `SubversionDownloadStrategy`
 | 
			
		||||
| `:bzr`           | `BazaarDownloadStrategy` |
 | 
			
		||||
| `:curl`          | `CurlDownloadStrategy` |
 | 
			
		||||
| `:cvs`           | `CVSDownloadStrategy` |
 | 
			
		||||
| `:fossil`        | `FossilDownloadStrategy` |
 | 
			
		||||
| `:git`           | `GitDownloadStrategy` |
 | 
			
		||||
| `:hg`            | `MercurialDownloadStrategy` |
 | 
			
		||||
| `:homebrew_curl` | `HomebrewCurlDownloadStrategy` |
 | 
			
		||||
| `:nounzip`       | `NoUnzipCurlDownloadStrategy` |
 | 
			
		||||
| `:post`          | `CurlPostDownloadStrategy` |
 | 
			
		||||
| `:svn`           | `SubversionDownloadStrategy` |
 | 
			
		||||
 | 
			
		||||
If you need more control over the way files are downloaded and staged, you can create a custom download strategy and specify it with the `:using` option:
 | 
			
		||||
 | 
			
		||||
@ -749,32 +749,32 @@ Generally we'd rather you were specific about which files or directories need to
 | 
			
		||||
 | 
			
		||||
| name                  | default path                                   | example |
 | 
			
		||||
| --------------------- | ---------------------------------------------- | ------- |
 | 
			
		||||
| **`HOMEBREW_PREFIX`** | output of `$(brew --prefix)`                   | `/usr/local`
 | 
			
		||||
| **`prefix`**          | `#{HOMEBREW_PREFIX}/Cellar/#{name}/#{version}` | `/usr/local/Cellar/foo/0.1`
 | 
			
		||||
| **`opt_prefix`**      | `#{HOMEBREW_PREFIX}/opt/#{name}`               | `/usr/local/opt/foo`
 | 
			
		||||
| **`bin`**             | `#{prefix}/bin`                                | `/usr/local/Cellar/foo/0.1/bin`
 | 
			
		||||
| **`doc`**             | `#{prefix}/share/doc/#{name}`                  | `/usr/local/Cellar/foo/0.1/share/doc/foo`
 | 
			
		||||
| **`include`**         | `#{prefix}/include`                            | `/usr/local/Cellar/foo/0.1/include`
 | 
			
		||||
| **`info`**            | `#{prefix}/share/info`                         | `/usr/local/Cellar/foo/0.1/share/info`
 | 
			
		||||
| **`lib`**             | `#{prefix}/lib`                                | `/usr/local/Cellar/foo/0.1/lib`
 | 
			
		||||
| **`libexec`**         | `#{prefix}/libexec`                            | `/usr/local/Cellar/foo/0.1/libexec`
 | 
			
		||||
| **`man`**             | `#{prefix}/share/man`                          | `/usr/local/Cellar/foo/0.1/share/man`
 | 
			
		||||
| **`man[1-8]`**        | `#{prefix}/share/man/man[1-8]`                 | `/usr/local/Cellar/foo/0.1/share/man/man[1-8]`
 | 
			
		||||
| **`sbin`**            | `#{prefix}/sbin`                               | `/usr/local/Cellar/foo/0.1/sbin`
 | 
			
		||||
| **`share`**           | `#{prefix}/share`                              | `/usr/local/Cellar/foo/0.1/share`
 | 
			
		||||
| **`pkgshare`**        | `#{prefix}/share/#{name}`                      | `/usr/local/Cellar/foo/0.1/share/foo`
 | 
			
		||||
| **`elisp`**           | `#{prefix}/share/emacs/site-lisp/#{name}`      | `/usr/local/Cellar/foo/0.1/share/emacs/site-lisp/foo`
 | 
			
		||||
| **`frameworks`**      | `#{prefix}/Frameworks`                         | `/usr/local/Cellar/foo/0.1/Frameworks`
 | 
			
		||||
| **`kext_prefix`**     | `#{prefix}/Library/Extensions`                 | `/usr/local/Cellar/foo/0.1/Library/Extensions`
 | 
			
		||||
| **`zsh_function`**    | `#{prefix}/share/zsh/site-functions`           | `/usr/local/Cellar/foo/0.1/share/zsh/site-functions`
 | 
			
		||||
| **`fish_function`**   | `#{prefix}/share/fish/vendor_functions`        | `/usr/local/Cellar/foo/0.1/share/fish/vendor_functions`
 | 
			
		||||
| **`bash_completion`** | `#{prefix}/etc/bash_completion.d`              | `/usr/local/Cellar/foo/0.1/etc/bash_completion.d`
 | 
			
		||||
| **`zsh_completion`**  | `#{prefix}/share/zsh/site-functions`           | `/usr/local/Cellar/foo/0.1/share/zsh/site-functions`
 | 
			
		||||
| **`fish_completion`** | `#{prefix}/share/fish/vendor_completions.d`    | `/usr/local/Cellar/foo/0.1/share/fish/vendor_completions.d`
 | 
			
		||||
| **`etc`**             | `#{HOMEBREW_PREFIX}/etc`                       | `/usr/local/etc`
 | 
			
		||||
| **`pkgetc`**          | `#{HOMEBREW_PREFIX}/etc/#{name}`               | `/usr/local/etc/foo`
 | 
			
		||||
| **`var`**             | `#{HOMEBREW_PREFIX}/var`                       | `/usr/local/var`
 | 
			
		||||
| **`buildpath`**       | temporary directory somewhere on your system | `/private/tmp/[formula-name]-0q2b/[formula-name]`
 | 
			
		||||
| **`HOMEBREW_PREFIX`** | output of `$(brew --prefix)`                   | `/usr/local` |
 | 
			
		||||
| **`prefix`**          | `#{HOMEBREW_PREFIX}/Cellar/#{name}/#{version}` | `/usr/local/Cellar/foo/0.1` |
 | 
			
		||||
| **`opt_prefix`**      | `#{HOMEBREW_PREFIX}/opt/#{name}`               | `/usr/local/opt/foo` |
 | 
			
		||||
| **`bin`**             | `#{prefix}/bin`                                | `/usr/local/Cellar/foo/0.1/bin` |
 | 
			
		||||
| **`doc`**             | `#{prefix}/share/doc/#{name}`                  | `/usr/local/Cellar/foo/0.1/share/doc/foo` |
 | 
			
		||||
| **`include`**         | `#{prefix}/include`                            | `/usr/local/Cellar/foo/0.1/include` |
 | 
			
		||||
| **`info`**            | `#{prefix}/share/info`                         | `/usr/local/Cellar/foo/0.1/share/info` |
 | 
			
		||||
| **`lib`**             | `#{prefix}/lib`                                | `/usr/local/Cellar/foo/0.1/lib` |
 | 
			
		||||
| **`libexec`**         | `#{prefix}/libexec`                            | `/usr/local/Cellar/foo/0.1/libexec` |
 | 
			
		||||
| **`man`**             | `#{prefix}/share/man`                          | `/usr/local/Cellar/foo/0.1/share/man` |
 | 
			
		||||
| **`man[1-8]`**        | `#{prefix}/share/man/man[1-8]`                 | `/usr/local/Cellar/foo/0.1/share/man/man[1-8]` |
 | 
			
		||||
| **`sbin`**            | `#{prefix}/sbin`                               | `/usr/local/Cellar/foo/0.1/sbin` |
 | 
			
		||||
| **`share`**           | `#{prefix}/share`                              | `/usr/local/Cellar/foo/0.1/share` |
 | 
			
		||||
| **`pkgshare`**        | `#{prefix}/share/#{name}`                      | `/usr/local/Cellar/foo/0.1/share/foo` |
 | 
			
		||||
| **`elisp`**           | `#{prefix}/share/emacs/site-lisp/#{name}`      | `/usr/local/Cellar/foo/0.1/share/emacs/site-lisp/foo` |
 | 
			
		||||
| **`frameworks`**      | `#{prefix}/Frameworks`                         | `/usr/local/Cellar/foo/0.1/Frameworks` |
 | 
			
		||||
| **`kext_prefix`**     | `#{prefix}/Library/Extensions`                 | `/usr/local/Cellar/foo/0.1/Library/Extensions` |
 | 
			
		||||
| **`zsh_function`**    | `#{prefix}/share/zsh/site-functions`           | `/usr/local/Cellar/foo/0.1/share/zsh/site-functions` |
 | 
			
		||||
| **`fish_function`**   | `#{prefix}/share/fish/vendor_functions`        | `/usr/local/Cellar/foo/0.1/share/fish/vendor_functions` |
 | 
			
		||||
| **`bash_completion`** | `#{prefix}/etc/bash_completion.d`              | `/usr/local/Cellar/foo/0.1/etc/bash_completion.d` |
 | 
			
		||||
| **`zsh_completion`**  | `#{prefix}/share/zsh/site-functions`           | `/usr/local/Cellar/foo/0.1/share/zsh/site-functions` |
 | 
			
		||||
| **`fish_completion`** | `#{prefix}/share/fish/vendor_completions.d`    | `/usr/local/Cellar/foo/0.1/share/fish/vendor_completions.d` |
 | 
			
		||||
| **`etc`**             | `#{HOMEBREW_PREFIX}/etc`                       | `/usr/local/etc` |
 | 
			
		||||
| **`pkgetc`**          | `#{HOMEBREW_PREFIX}/etc/#{name}`               | `/usr/local/etc/foo` |
 | 
			
		||||
| **`var`**             | `#{HOMEBREW_PREFIX}/var`                       | `/usr/local/var` |
 | 
			
		||||
| **`buildpath`**       | temporary directory somewhere on your system | `/private/tmp/[formula-name]-0q2b/[formula-name]` |
 | 
			
		||||
 | 
			
		||||
These can be used, for instance, in code such as:
 | 
			
		||||
 | 
			
		||||
@ -937,24 +937,24 @@ This table lists the options you can set within a `service` block. The `run` or
 | 
			
		||||
 | 
			
		||||
| method                  | default      | macOS | Linux | description |
 | 
			
		||||
| ----------------------- | ------------ | :---: | :---: | ----------- |
 | 
			
		||||
| `run`                   | -            |  yes  |  yes  | command to execute: an array with arguments or a path
 | 
			
		||||
| `run_type`              | `:immediate` |  yes  |  yes  | type of service: `:immediate`, `:interval` or `:cron`
 | 
			
		||||
| `interval`              | -            |  yes  |  yes  | controls the start interval, required for the `:interval` type
 | 
			
		||||
| `cron`                  | -            |  yes  |  yes  | controls the trigger times, required for the `:cron` type
 | 
			
		||||
| `keep_alive`            | `false`      |  yes  |  yes  | [sets contexts](#keep_alive-options) in which the service will keep the process running
 | 
			
		||||
| `launch_only_once`      | `false`      |  yes  |  yes  | whether the command should only run once
 | 
			
		||||
| `require_root`          | `false`      |  yes  |  yes  | whether the service requires root access
 | 
			
		||||
| `environment_variables` | -            |  yes  |  yes  | hash of variables to set
 | 
			
		||||
| `working_dir`           | -            |  yes  |  yes  | directory to operate from
 | 
			
		||||
| `root_dir`              | -            |  yes  |  yes  | directory to use as a chroot for the process
 | 
			
		||||
| `input_path`            | -            |  yes  |  yes  | path to use as input for the process
 | 
			
		||||
| `log_path`              | -            |  yes  |  yes  | path to write `stdout` to
 | 
			
		||||
| `error_log_path`        | -            |  yes  |  yes  | path to write `stderr` to
 | 
			
		||||
| `restart_delay`         | -            |  yes  |  yes  | number of seconds to delay before restarting a process
 | 
			
		||||
| `process_type`          | -            |  yes  | no-op | type of process to manage: `:background`, `:standard`, `:interactive` or `:adaptive`
 | 
			
		||||
| `macos_legacy_timers`   | -            |  yes  | no-op | timers created by `launchd` jobs are coalesced unless this is set
 | 
			
		||||
| `sockets`               | -            |  yes  | no-op | socket that is created as an accesspoint to the service
 | 
			
		||||
| `name`                  | -            |  yes  |  yes  | a hash with the `launchd` service name on macOS and/or the `systemd` service name on Linux
 | 
			
		||||
| `run`                   | -            |  yes  |  yes  | command to execute: an array with arguments or a path |
 | 
			
		||||
| `run_type`              | `:immediate` |  yes  |  yes  | type of service: `:immediate`, `:interval` or `:cron` |
 | 
			
		||||
| `interval`              | -            |  yes  |  yes  | controls the start interval, required for the `:interval` type |
 | 
			
		||||
| `cron`                  | -            |  yes  |  yes  | controls the trigger times, required for the `:cron` type |
 | 
			
		||||
| `keep_alive`            | `false`      |  yes  |  yes  | [sets contexts](#keep_alive-options) in which the service will keep the process running |
 | 
			
		||||
| `launch_only_once`      | `false`      |  yes  |  yes  | whether the command should only run once |
 | 
			
		||||
| `require_root`          | `false`      |  yes  |  yes  | whether the service requires root access |
 | 
			
		||||
| `environment_variables` | -            |  yes  |  yes  | hash of variables to set |
 | 
			
		||||
| `working_dir`           | -            |  yes  |  yes  | directory to operate from |
 | 
			
		||||
| `root_dir`              | -            |  yes  |  yes  | directory to use as a chroot for the process |
 | 
			
		||||
| `input_path`            | -            |  yes  |  yes  | path to use as input for the process |
 | 
			
		||||
| `log_path`              | -            |  yes  |  yes  | path to write `stdout` to |
 | 
			
		||||
| `error_log_path`        | -            |  yes  |  yes  | path to write `stderr` to |
 | 
			
		||||
| `restart_delay`         | -            |  yes  |  yes  | number of seconds to delay before restarting a process |
 | 
			
		||||
| `process_type`          | -            |  yes  | no-op | type of process to manage: `:background`, `:standard`, `:interactive` or `:adaptive` |
 | 
			
		||||
| `macos_legacy_timers`   | -            |  yes  | no-op | timers created by `launchd` jobs are coalesced unless this is set |
 | 
			
		||||
| `sockets`               | -            |  yes  | no-op | socket that is created as an accesspoint to the service |
 | 
			
		||||
| `name`                  | -            |  yes  |  yes  | a hash with the `launchd` service name on macOS and/or the `systemd` service name on Linux |
 | 
			
		||||
 | 
			
		||||
For services that are kept alive after starting you can use the default `run_type`:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user