mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Cleanup documentation site
GitHub now nicely generates a documentation site for us at http://brew.sh/brew based on our docs folder. Optimise the output of this and the GitHub docs directory for readability and the various user groupings.
This commit is contained in:
parent
fc11f633b2
commit
127e9def50
7
.gitignore
vendored
7
.gitignore
vendored
@ -38,6 +38,13 @@
|
|||||||
!/docs
|
!/docs
|
||||||
!/manpages
|
!/manpages
|
||||||
|
|
||||||
|
# Ignore generated documentation site
|
||||||
|
/docs/_site
|
||||||
|
/docs/.bundle
|
||||||
|
/docs/bin
|
||||||
|
/docs/vendor
|
||||||
|
/docs/Gemfile.lock
|
||||||
|
|
||||||
# Unignore our shell completion
|
# Unignore our shell completion
|
||||||
!/completions
|
!/completions
|
||||||
|
|
||||||
|
11
README.md
11
README.md
@ -13,7 +13,7 @@ cd "$(brew --repo)" && git fetch && git reset --hard origin/master && brew updat
|
|||||||
3. Or use `brew search --desc <keyword>` to browse packages from the command line.
|
3. Or use `brew search --desc <keyword>` to browse packages from the command line.
|
||||||
|
|
||||||
## More Documentation
|
## More Documentation
|
||||||
`brew help`, `man brew` or check [our documentation](https://github.com/Homebrew/brew/tree/master/docs#readme).
|
`brew help`, `man brew` or check [our documentation](https://brew.sh/brew/).
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
First, please run `brew update` and `brew doctor`.
|
First, please run `brew update` and `brew doctor`.
|
||||||
@ -40,9 +40,14 @@ This is our PGP key which is valid until May 24, 2017.
|
|||||||
## Who Are You?
|
## Who Are You?
|
||||||
Homebrew's lead maintainer is [Mike McQuaid](https://github.com/mikemcquaid).
|
Homebrew's lead maintainer is [Mike McQuaid](https://github.com/mikemcquaid).
|
||||||
|
|
||||||
Homebrew's current maintainers are [Misty De Meo](https://github.com/mistydemeo), [Andrew Janke](https://github.com/apjanke), [Xu Cheng](https://github.com/xu-cheng), [Tomasz Pajor](https://github.com/nijikon), [Josh Hagins](https://github.com/jawshooah), [Baptiste Fontaine](https://github.com/bfontaine), [Markus Reiter](https://github.com/reitermarkus), [ilovezfs](https://github.com/ilovezfs), [Martin Afanasjew](https://github.com/UniqMartin), [Tom Schoonjans](https://github.com/tschoonj), [Uladzislau Shablinski](https://github.com/vladshablinsky), [Tim Smith](https://github.com/tdsmith) and [Alex Dunn](https://github.com/dunn).
|
Homebrew's current maintainers are [Misty De Meo](https://github.com/mistydemeo), [Andrew Janke](https://github.com/apjanke), [Xu Cheng](https://github.com/xu-cheng), [Tomasz Pajor](https://github.com/nijikon), [Josh Hagins](https://github.com/jawshooah), [Baptiste Fontaine](https://github.com/bfontaine), [Markus Reiter](https://github.com/reitermarkus), [ilovezfs](https://github.com/ilovezfs), [Tom Schoonjans](https://github.com/tschoonj), [Uladzislau Shablinski](https://github.com/vladshablinsky), [Tim Smith](https://github.com/tdsmith) and [Alex Dunn](https://github.com/dunn).
|
||||||
|
|
||||||
Former maintainers with significant contributions include [Dominyk Tiller](https://github.com/DomT4), [Brett Koonce](https://github.com/asparagui), [Jack Nagel](https://github.com/jacknagel), [Adam Vandenberg](https://github.com/adamv) and Homebrew's creator: [Max Howell](https://github.com/mxcl).
|
Former maintainers with significant contributions include [Martin Afanasjew](https://github.com/UniqMartin), [Dominyk Tiller](https://github.com/DomT4), [Brett Koonce](https://github.com/asparagui), [Jack Nagel](https://github.com/jacknagel), [Adam Vandenberg](https://github.com/adamv) and Homebrew's creator: [Max Howell](https://github.com/mxcl).
|
||||||
|
|
||||||
|
## Community
|
||||||
|
- [discourse.brew.sh (forum)](http://discourse.brew.sh)
|
||||||
|
- [freenode.net\#machomebrew (IRC)](irc://irc.freenode.net/#machomebrew)
|
||||||
|
- [@MacHomebrew (Twitter)](https://twitter.com/MacHomebrew)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
Code is under the [BSD 2-clause "Simplified" License](https://github.com/Homebrew/brew/tree/master/LICENSE.txt).
|
Code is under the [BSD 2-clause "Simplified" License](https://github.com/Homebrew/brew/tree/master/LICENSE.txt).
|
||||||
|
1
docs/.ruby-version
Normal file
1
docs/.ruby-version
Normal file
@ -0,0 +1 @@
|
|||||||
|
system
|
@ -29,16 +29,16 @@ There are exceptions:
|
|||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
Formula | Reason
|
| Formula | Reason |
|
||||||
--- | ---
|
|--------------------|-------------------------------------------------------------------------------------------------------|
|
||||||
ruby, python, perl | People want newer versions
|
| ruby, python, perl | People want newer versions |
|
||||||
bash | macOS's bash is stuck at 3.2 because newer versions are licensed under GPLv3
|
| bash | macOS's bash is stuck at 3.2 because newer versions are licensed under GPLv3 |
|
||||||
zsh | This was a mistake, but it’s too late to remove it
|
| zsh | This was a mistake, but it’s too late to remove it |
|
||||||
emacs, vim | [Too popular to move to dupes](https://github.com/Homebrew/homebrew/pull/21594#issuecomment-21968819)
|
| emacs, vim | [Too popular to move to dupes](https://github.com/Homebrew/homebrew/pull/21594#issuecomment-21968819) |
|
||||||
subversion | Originally added for 10.5, but people want the latest version
|
| subversion | Originally added for 10.5, but people want the latest version |
|
||||||
libcurl | Some formulae require a newer version than macOS provides
|
| libcurl | Some formulae require a newer version than macOS provides |
|
||||||
openssl | macOS's openssl is deprecated & outdated.
|
| openssl | macOS's openssl is deprecated & outdated. |
|
||||||
libxml2 | Historically, macOS's libxml2 has been buggy
|
| libxml2 | Historically, macOS's libxml2 has been buggy |
|
||||||
|
|
||||||
We also maintain [a tap](https://github.com/Homebrew/homebrew-dupes) that
|
We also maintain [a tap](https://github.com/Homebrew/homebrew-dupes) that
|
||||||
contains many duplicates not otherwise found in Homebrew.
|
contains many duplicates not otherwise found in Homebrew.
|
||||||
@ -80,7 +80,8 @@ useful to people. Just install the stuff! Having to faff around with
|
|||||||
foo-ruby foo-perl etc. sucks.
|
foo-ruby foo-perl etc. sucks.
|
||||||
|
|
||||||
### Niche (or self-submitted) Stuff<a name="Niche_Stuff"></a>
|
### Niche (or self-submitted) Stuff<a name="Niche_Stuff"></a>
|
||||||
The software in question must be
|
The software in question must be:
|
||||||
|
|
||||||
* maintained (e.g. upstream is still making new releases)
|
* maintained (e.g. upstream is still making new releases)
|
||||||
* known
|
* known
|
||||||
* stable (e.g. not declared "unstable" or "beta" by upstream)
|
* stable (e.g. not declared "unstable" or "beta" by upstream)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Homebrew's Anonymous Aggregate User Behaviour Analytics
|
# Anonymous Aggregate User Behaviour Analytics
|
||||||
Homebrew has begun gathering anonymous aggregate user behaviour analytics and reporting these to Google Analytics. You will be notified the first time you run `brew update` or install Homebrew.
|
Homebrew has begun gathering anonymous aggregate user behaviour analytics and reporting these to Google Analytics. You will be notified the first time you run `brew update` or install Homebrew.
|
||||||
|
|
||||||
## Why?
|
## Why?
|
||||||
@ -41,7 +41,7 @@ Homebrew's analytics are sent throughout Homebrew's execution to Google Analytic
|
|||||||
Homebrew's analytics are accessible to Homebrew's current maintainers. Contact @mikemcquaid if you are a maintainer and need access.
|
Homebrew's analytics are accessible to Homebrew's current maintainers. Contact @mikemcquaid if you are a maintainer and need access.
|
||||||
|
|
||||||
## How?
|
## How?
|
||||||
The code is viewable in https://github.com/Homebrew/brew/blob/master/Library/Homebrew/utils/analytics.rb and https://github.com/Homebrew/brew/blob/master/Library/Homebrew/utils/analytics.sh. They are done in a separate background process and fail fast to avoid delaying any execution. They will fail immediately and silently if you have no network connection.
|
The code is viewable in [analytics.rb](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/utils/analytics.rb) and [analytics.sh](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/utils/analytics.sh). They are done in a separate background process and fail fast to avoid delaying any execution. They will fail immediately and silently if you have no network connection.
|
||||||
|
|
||||||
## Opting out
|
## Opting out
|
||||||
Homebrew analytics helps us maintainers and leaving it on is appreciated. However, if you want to opt out of Homebrew's analytics, you can set this variable in your environment:
|
Homebrew analytics helps us maintainers and leaving it on is appreciated. However, if you want to opt out of Homebrew's analytics, you can set this variable in your environment:
|
||||||
|
@ -1,23 +1,24 @@
|
|||||||
# Bottles
|
# Bottles (binary packages)
|
||||||
Bottles are Homebrew's binary packages. They are produced by installing a formula with `brew install --build-bottle $FORMULA` and then bottling it with `brew bottle $FORMULA`. This outputs the bottle DSL which should be inserted into the formula file.
|
Bottles are produced by installing a formula with `brew install --build-bottle $FORMULA` and then bottling it with `brew bottle $FORMULA`. This outputs the bottle DSL which should be inserted into the formula file.
|
||||||
|
|
||||||
## Bottle Usage
|
## Usage
|
||||||
If a bottle is available and usable it will be downloaded and poured automatically when you `brew install <formula>`. If you wish to disable this you can do it by specifying `--build-from-source`.
|
If a bottle is available and usable it will be downloaded and poured automatically when you `brew install <formula>`. If you wish to disable this you can do it by specifying `--build-from-source`.
|
||||||
|
|
||||||
Bottles will not be used if the user requests it (see above), if the formula requests it (with `pour_bottle?`), if any options are specified on installation (bottles are all compiled with default options), if the bottle is not up to date (e.g. lacking a checksum) or the bottle's `cellar` is not `:any` or equal to the current `HOMEBREW_CELLAR`.
|
Bottles will not be used if the user requests it (see above), if the formula requests it (with `pour_bottle?`), if any options are specified on installation (bottles are all compiled with default options), if the bottle is not up to date (e.g. lacking a checksum) or the bottle's `cellar` is not `:any` or equal to the current `HOMEBREW_CELLAR`.
|
||||||
|
|
||||||
## Bottle Creation
|
## Creation
|
||||||
Bottles are created using the [Brew Test Bot](Brew-Test-Bot.md). This happens mostly when people submit pull requests to Homebrew and the `bottle do` block is updated by maintainers when they `brew pull --bottle` the contents of a pull request. For the Homebrew organisations' taps they are uploaded to and downloaded from [Bintray](https://bintray.com/homebrew).
|
Bottles are created using the [Brew Test Bot](Brew-Test-Bot.md). This happens mostly when people submit pull requests to Homebrew and the `bottle do` block is updated by maintainers when they `brew pull --bottle` the contents of a pull request. For the Homebrew organisations' taps they are uploaded to and downloaded from [Bintray](https://bintray.com/homebrew).
|
||||||
|
|
||||||
By default, bottles will be built for the oldest CPU supported by the OS/architecture you're building for. (That's Core 2 for 64-bit OSs, Core for 32-bit.) This ensures that bottles are compatible with all computers you might distribute them to. If you *really* want your bottles to be optimized for something else, you can pass the `--bottle-arch=` option to build for another architecture - for example, `brew install foo --bottle-arch=penryn`. Just remember that if you build for a newer architecture some of your users might get binaries they can't run and that would be sad!
|
By default, bottles will be built for the oldest CPU supported by the OS/architecture you're building for. (That's Core 2 for 64-bit OSs, Core for 32-bit.) This ensures that bottles are compatible with all computers you might distribute them to. If you *really* want your bottles to be optimized for something else, you can pass the `--bottle-arch=` option to build for another architecture - for example, `brew install foo --bottle-arch=penryn`. Just remember that if you build for a newer architecture some of your users might get binaries they can't run and that would be sad!
|
||||||
|
|
||||||
## Bottle Format
|
## Format
|
||||||
Bottles are simple gzipped tarballs of compiled binaries. Any metadata is stored in a formula's bottle DSL and in the bottle filename (i.e. MacOS version, revision).
|
Bottles are simple gzipped tarballs of compiled binaries. Any metadata is stored in a formula's bottle DSL and in the bottle filename (i.e. MacOS version, revision).
|
||||||
|
|
||||||
## Bottle DSL (Domain Specific Language)
|
## Bottle DSL (Domain Specific Language)
|
||||||
Bottles have a DSL to be used in formulae which is contained in the `bottle do ... end` block.
|
Bottles have a DSL to be used in formulae which is contained in the `bottle do ... end` block.
|
||||||
|
|
||||||
A simple (and typical) example:
|
A simple (and typical) example:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
bottle do
|
bottle do
|
||||||
sha256 "4921af80137af9cc3d38fd17c9120da882448a090b0a8a3a19af3199b415bfca" => :sierra
|
sha256 "4921af80137af9cc3d38fd17c9120da882448a090b0a8a3a19af3199b415bfca" => :sierra
|
||||||
@ -27,6 +28,7 @@ end
|
|||||||
```
|
```
|
||||||
|
|
||||||
A full example:
|
A full example:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
bottle do
|
bottle do
|
||||||
root_url "https://example.com"
|
root_url "https://example.com"
|
||||||
@ -39,33 +41,34 @@ bottle do
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
### `root_url`
|
### Root URL (`root_url`)
|
||||||
Optionally contains the URL root used to calculate bottle URLs.
|
Optionally contains the URL root used to calculate bottle URLs.
|
||||||
By default this is omitted and the Homebrew default bottle URL root is used. This may be useful for taps which wish to provide bottles for their formulae or to cater for a non-default `HOMEBREW_CELLAR`.
|
By default this is omitted and the Homebrew default bottle URL root is used. This may be useful for taps which wish to provide bottles for their formulae or to cater for a non-default `HOMEBREW_CELLAR`.
|
||||||
|
|
||||||
### `cellar`
|
### Cellar (`cellar`)
|
||||||
Optionally contains the value of `HOMEBREW_CELLAR` in which the bottles were built.
|
Optionally contains the value of `HOMEBREW_CELLAR` in which the bottles were built.
|
||||||
Most compiled software contains references to its compiled location so cannot be simply relocated anywhere on disk. If this value is `:any` or `:any_skip_relocation` this means that the bottle can be safely installed in any Cellar as it did not contain any references to its installation Cellar. This can be omitted if a bottle is compiled (as all default Homebrew ones are) for the default `HOMEBREW_CELLAR` of `/usr/local/Cellar`
|
Most compiled software contains references to its compiled location so cannot be simply relocated anywhere on disk. If this value is `:any` or `:any_skip_relocation` this means that the bottle can be safely installed in any Cellar as it did not contain any references to its installation Cellar. This can be omitted if a bottle is compiled (as all default Homebrew ones are) for the default `HOMEBREW_CELLAR` of `/usr/local/Cellar`
|
||||||
|
|
||||||
### `prefix`
|
### Prefix (`prefix`)
|
||||||
Optionally contains the value of `HOMEBREW_PREFIX` in which the bottles were built.
|
Optionally contains the value of `HOMEBREW_PREFIX` in which the bottles were built.
|
||||||
See description of `cellar`. When `cellar` is `:any` or `:any_skip_relocation` prefix should be omitted.
|
See description of `cellar`. When `cellar` is `:any` or `:any_skip_relocation` prefix should be omitted.
|
||||||
|
|
||||||
### `rebuild`
|
### Rebuild version (`rebuild`)
|
||||||
Optionally contains the rebuild version of the bottle.
|
Optionally contains the rebuild version of the bottle.
|
||||||
Sometimes bottles may need be updated without bumping the version of the formula e.g. a new patch was applied. In that case the rebuild will have a value of 1 or more.
|
Sometimes bottles may need be updated without bumping the version of the formula e.g. a new patch was applied. In that case the rebuild will have a value of 1 or more.
|
||||||
|
|
||||||
### `sha256`
|
### Checksum (`sha256`)
|
||||||
Contains the SHA-256 of bottle for a particular version of macOS.
|
Contains the SHA-256 of bottle for a particular version of macOS.
|
||||||
|
|
||||||
## Formula DSL
|
## Formula DSL
|
||||||
Additionally there is a method available in the formula DSL.
|
Additionally there is a method available in the formula DSL.
|
||||||
|
|
||||||
### `pour_bottle?`
|
### Pour Bottle (`pour_bottle?`)
|
||||||
Optionally returns a boolean to decide whether a bottle should be used for this formula.
|
Optionally returns a boolean to decide whether a bottle should be used for this formula.
|
||||||
For example a bottle may break if another formula has been compiled with non-default options so this method could check for that case and return `false`.
|
For example a bottle may break if another formula has been compiled with non-default options so this method could check for that case and return `false`.
|
||||||
|
|
||||||
A full example:
|
A full example:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
pour_bottle? do
|
pour_bottle? do
|
||||||
reason "The bottle needs the Xcode CLT to be installed."
|
reason "The bottle needs the Xcode CLT to be installed."
|
||||||
|
@ -4,7 +4,7 @@ If a build has run and passed on `brew test-bot` then it can be used to quickly
|
|||||||
There are two types of Jenkins jobs you will interact with:
|
There are two types of Jenkins jobs you will interact with:
|
||||||
|
|
||||||
## [Homebrew Pull Requests](https://bot.brew.sh/job/Homebrew%20Core%20Pull%20Requests/)
|
## [Homebrew Pull Requests](https://bot.brew.sh/job/Homebrew%20Core%20Pull%20Requests/)
|
||||||
This job automatically builds any pull requests submitted to Homebrew/homebrew-core. On success or failure it updates the pull request status (see more details on the [main Brew Test Bot wiki page](Brew-Test-Bot.md)). On a successful build it automatically uploads bottles.
|
This job automatically builds any pull requests submitted to Homebrew/homebrew-core. On success or failure it updates the pull request status (see more details on the [main Brew Test Bot documentation page](Brew-Test-Bot.md)). On a successful build it automatically uploads bottles.
|
||||||
|
|
||||||
## [Homebrew Testing](https://bot.brew.sh/job/Homebrew%20Testing/)
|
## [Homebrew Testing](https://bot.brew.sh/job/Homebrew%20Testing/)
|
||||||
This job is manually triggered to run [`brew test-bot`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/dev-cmd/test-bot.rb) with user-specified parameters. On a successful build it automatically uploads bottles.
|
This job is manually triggered to run [`brew test-bot`](https://github.com/Homebrew/brew/blob/master/Library/Homebrew/dev-cmd/test-bot.rb) with user-specified parameters. On a successful build it automatically uploads bottles.
|
||||||
|
1
docs/CNAME
Normal file
1
docs/CNAME
Normal file
@ -0,0 +1 @@
|
|||||||
|
docs.brew.sh
|
@ -1,5 +1,4 @@
|
|||||||
# Checksum Deprecation
|
# MD5 and SHA-1 Deprecation
|
||||||
|
|
||||||
During early 2015 Homebrew started the process of deprecating _SHA1_ for package
|
During early 2015 Homebrew started the process of deprecating _SHA1_ for package
|
||||||
integrity verification. Since then every formulae under the Homebrew organisation
|
integrity verification. Since then every formulae under the Homebrew organisation
|
||||||
has been moved onto _SHA256_ verification; this includes both source packages
|
has been moved onto _SHA256_ verification; this includes both source packages
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Custom GCC and cross compilers
|
# Custom GCC and Cross Compilers
|
||||||
Homebrew depends on having an up-to-date version of Xcode because it comes with
|
Homebrew depends on having an up-to-date version of Xcode because it comes with
|
||||||
specific versions of build tools e.g. `clang`.
|
specific versions of build tools e.g. `clang`.
|
||||||
|
|
||||||
|
@ -7,78 +7,56 @@ $ brew mycommand --option1 --option3 formula
|
|||||||
|
|
||||||
without modifying Homebrew's internals.
|
without modifying Homebrew's internals.
|
||||||
|
|
||||||
## COMMAND TYPES
|
## Command Types
|
||||||
External commands come in two flavors: Ruby commands and shell scripts.
|
External commands come in two flavors: Ruby commands and shell scripts.
|
||||||
|
|
||||||
In both cases, the command file should be executable (`chmod +x`) and live somewhere in `$PATH`.
|
In both cases, the command file should be executable (`chmod +x`) and live somewhere in `$PATH`.
|
||||||
|
|
||||||
### RUBY COMMANDS
|
### Ruby Commands
|
||||||
An external command `extcmd` implemented as a Ruby command should be named `brew-extcmd.rb`. The command is executed by doing a `require` on the full pathname. As the command is `require`d, it has full access to the Homebrew "environment", i.e. all global variables and modules that any internal command has access to.
|
An external command `extcmd` implemented as a Ruby command should be named `brew-extcmd.rb`. The command is executed by doing a `require` on the full pathname. As the command is `require`d, it has full access to the Homebrew "environment", i.e. all global variables and modules that any internal command has access to.
|
||||||
|
|
||||||
The command may `Kernel.exit` with a status code if it needs to; if it doesn't explicitly exit then Homebrew will return 0.
|
The command may `Kernel.exit` with a status code if it needs to; if it doesn't explicitly exit then Homebrew will return 0.
|
||||||
|
|
||||||
### SHELL SCRIPTS
|
### Shell Scripts
|
||||||
A shell script for an command named `extcmd` should be named `brew-extcmd`. This file will be run via `exec` with some Homebrew variables set as environmental variables, and passed any additional command-line arguments.
|
A shell script for an command named `extcmd` should be named `brew-extcmd`. This file will be run via `exec` with some Homebrew variables set as environmental variables, and passed any additional command-line arguments.
|
||||||
|
|
||||||
<table>
|
| Variable | Description |
|
||||||
<tr>
|
|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
<td><strong>Variable</strong></td>
|
| HOMEBREW_CACHE | Where Homebrew caches downloaded tarballs to, by default ~/Library/Caches/Homebrew. |
|
||||||
<td><strong>Description</strong></td>
|
| 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. |
|
||||||
</tr>
|
| HOMEBREW_LIBRARY_PATH | The directory containing Homebrew’s own application code. |
|
||||||
<tr>
|
| HOMEBREW_PREFIX | Where Homebrew installs software. This is always the grandparent directory of the `brew` executable, /usr/local by default. |
|
||||||
<td>HOMEBREW_CACHE</td>
|
| HOMEBREW_REPOSITORY | If installed from a Git clone, the repo directory (i.e., where Homebrew’s .git directory lives). |
|
||||||
<td>Where Homebrew caches downloaded tarballs to, by default <code>~/Library/Caches/Homebrew</code>. </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>HOMEBREW_CELLAR</td>
|
|
||||||
<td>The location of the Homebrew Cellar, where software is staged. This will be <code>$HOMEBREW_PREFIX/Cellar</code> if that directory exists, or <code>$HOMEBREW_REPOSITORY/Cellar</code> otherwise.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>HOMEBREW_LIBRARY_PATH</td>
|
|
||||||
<td>The directory containing Homebrew’s own application code.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>HOMEBREW_PREFIX</td>
|
|
||||||
<td>Where Homebrew installs software. This is always the grandparent directory of the `brew` executable, <code>/usr/local</code> by default.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>HOMEBREW_REPOSITORY</td>
|
|
||||||
<td>If installed from a Git clone, the repo directory (i.e., where Homebrew’s <code>.git</code> directory lives).</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
Note that the script itself can use any suitable shebang (`#!`) line, so an external “shell script” can be written for sh, bash, Ruby, or anything else.
|
Note that the script itself can use any suitable shebang (`#!`) line, so an external “shell script” can be written for sh, bash, Ruby, or anything else.
|
||||||
|
|
||||||
## USER-SUBMITTED COMMANDS
|
## User-submitted Commands
|
||||||
These commands have been contributed by Homebrew users but are not included in the main Homebrew repository, nor are they installed by the installer script. You can install them manually, as outlined above.
|
These commands have been contributed by Homebrew users but are not included in the main Homebrew repository, nor are they installed by the installer script. You can install them manually, as outlined above.
|
||||||
|
|
||||||
>*NOTE:* They are largely untested, and as always, be careful about running untested code on your machine.
|
Note they are largely untested, and as always, be careful about running untested code on your machine.
|
||||||
|
|
||||||
### brew-livecheck
|
### brew-livecheck
|
||||||
> Check if there is a new upstream version of a formula.
|
Check if there is a new upstream version of a formula.
|
||||||
>
|
See the [`README`](https://github.com/youtux/homebrew-livecheck/blob/master/README.md) for more info and usage.
|
||||||
> See the [`README`](https://github.com/youtux/homebrew-livecheck/blob/master/README.md) for more info and usage.
|
|
||||||
>
|
Install using:
|
||||||
> Install using:
|
```sh
|
||||||
> ```
|
brew tap youtux/livecheck
|
||||||
> $ brew tap youtux/livecheck
|
```
|
||||||
> ```
|
|
||||||
|
|
||||||
### brew-gem
|
### brew-gem
|
||||||
>Install any gem package into a self-contained Homebrew cellar location: <https://github.com/sportngin/brew-gem>
|
Install any gem package into a self-contained Homebrew cellar location: [https://github.com/sportngin/brew-gem](https://github.com/sportngin/brew-gem).
|
||||||
>
|
|
||||||
>*Note:* This can also be installed with `brew install brew-gem`.
|
Note this can also be installed with `brew install brew-gem`.
|
||||||
|
|
||||||
### brew-growl
|
### brew-growl
|
||||||
>Get Growl notifications for Homebrew https://github.com/secondplanet/brew-growl
|
Get Growl notifications for Homebrew https://github.com/secondplanet/brew-growl
|
||||||
|
|
||||||
### brew-services
|
### brew-services
|
||||||
>Simple support to start formulae using launchctl, has out of the box support for any formula which defines `startup_plist` (e.g. mysql, postgres, redis u.v.m.): [https://github.com/Homebrew/homebrew-services](https://github.com/Homebrew/homebrew-services)
|
Simple support to start formulae using launchctl, has out of the box support for any formula which defines `startup_plist` (e.g. mysql, postgres, redis u.v.m.): [https://github.com/Homebrew/homebrew-services](https://github.com/Homebrew/homebrew-services)
|
||||||
|
|
||||||
> Install using:
|
Install using:
|
||||||
> ```
|
```sh
|
||||||
$ brew tap homebrew/services
|
brew tap homebrew/services
|
||||||
> ```
|
```
|
||||||
|
|
||||||
## SEE ALSO
|
|
||||||
Homebrew Docs: <https://github.com/Homebrew/brew/tree/master/docs>
|
|
||||||
|
45
docs/FAQ.md
45
docs/FAQ.md
@ -1,5 +1,6 @@
|
|||||||
# FAQ
|
# FAQ
|
||||||
### How do I update my local packages?
|
|
||||||
|
## How do I update my local packages?
|
||||||
First update the formulae and Homebrew itself:
|
First update the formulae and Homebrew itself:
|
||||||
|
|
||||||
brew update
|
brew update
|
||||||
@ -18,7 +19,7 @@ Or upgrade a specific formula with:
|
|||||||
|
|
||||||
<a name="cleanup"></a>
|
<a name="cleanup"></a>
|
||||||
|
|
||||||
### How do I stop certain formulae from being updated?
|
## How do I stop certain formulae from being updated?
|
||||||
To stop something from being updated/upgraded:
|
To stop something from being updated/upgraded:
|
||||||
|
|
||||||
brew pin $FORMULA
|
brew pin $FORMULA
|
||||||
@ -27,7 +28,7 @@ To allow that formulae to update again:
|
|||||||
|
|
||||||
brew unpin $FORMULA
|
brew unpin $FORMULA
|
||||||
|
|
||||||
### How do I uninstall old versions of a formula?
|
## How do I uninstall old versions of a formula?
|
||||||
By default, Homebrew does not uninstall old versions of a formula, so
|
By default, Homebrew does not uninstall old versions of a formula, so
|
||||||
over time you will accumulate old versions. To remove them, simply use:
|
over time you will accumulate old versions. To remove them, simply use:
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ to see what would be cleaned up:
|
|||||||
|
|
||||||
<a name="uninstall"></a>
|
<a name="uninstall"></a>
|
||||||
|
|
||||||
### How do I uninstall Homebrew?
|
## How do I uninstall Homebrew?
|
||||||
To uninstall Homebrew, paste the command below in a terminal prompt.
|
To uninstall Homebrew, paste the command below in a terminal prompt.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -54,7 +55,7 @@ and run `./uninstall --help` to view more uninstall options.
|
|||||||
|
|
||||||
<a name="uninstall-package"></a>
|
<a name="uninstall-package"></a>
|
||||||
|
|
||||||
### How do I uninstall a formula?
|
## How do I uninstall a formula?
|
||||||
If you do not uninstall all of the versions that Homebrew has installed,
|
If you do not uninstall all of the versions that Homebrew has installed,
|
||||||
Homebrew will continue to attempt to install the newest version it knows
|
Homebrew will continue to attempt to install the newest version it knows
|
||||||
about when you do (`brew upgrade --all`). This can be surprising.
|
about when you do (`brew upgrade --all`). This can be surprising.
|
||||||
@ -64,13 +65,13 @@ To remove a formula entirely, you may do
|
|||||||
|
|
||||||
Be careful as this is a destructive operation.
|
Be careful as this is a destructive operation.
|
||||||
|
|
||||||
### Where does stuff get downloaded?
|
## Where does stuff get downloaded?
|
||||||
|
|
||||||
brew --cache
|
brew --cache
|
||||||
|
|
||||||
Which is usually: `~/Library/Caches/Homebrew`
|
Which is usually: `~/Library/Caches/Homebrew`
|
||||||
|
|
||||||
### My Mac `.app`s don’t find `/usr/local/bin` utilities!
|
## My Mac `.app`s don’t find `/usr/local/bin` utilities!
|
||||||
GUI apps on macOS don’t have `/usr/local/bin` in their `PATH` by default.
|
GUI apps on macOS don’t have `/usr/local/bin` in their `PATH` by default.
|
||||||
If you’re on Mountain Lion, you can fix this by running
|
If you’re on Mountain Lion, you can fix this by running
|
||||||
`launchctl setenv PATH "/usr/local/bin:$PATH"`. [More details
|
`launchctl setenv PATH "/usr/local/bin:$PATH"`. [More details
|
||||||
@ -79,10 +80,10 @@ including how to set this across reboots. If you’re pre-Mountain Lion,
|
|||||||
[here’s an official
|
[here’s an official
|
||||||
alternative](https://developer.apple.com/legacy/library/qa/qa1067/_index.html).
|
alternative](https://developer.apple.com/legacy/library/qa/qa1067/_index.html).
|
||||||
|
|
||||||
### How do I contribute to Homebrew?
|
## How do I contribute to Homebrew?
|
||||||
Read [CONTRIBUTING.md](/CONTRIBUTING.md).
|
Read [CONTRIBUTING.md](/CONTRIBUTING.md).
|
||||||
|
|
||||||
### Why do you compile everything?
|
## Why do you compile everything?
|
||||||
Homebrew provides pre-compiled versions for many formulae. These
|
Homebrew provides pre-compiled versions for many formulae. These
|
||||||
pre-compiled versions are referred to as **bottles** and are available
|
pre-compiled versions are referred to as **bottles** and are available
|
||||||
at:
|
at:
|
||||||
@ -107,7 +108,7 @@ your profile.
|
|||||||
|
|
||||||
We aim to bottle everything.
|
We aim to bottle everything.
|
||||||
|
|
||||||
### How do I get a formula from someone else’s branch?
|
## How do I get a formula from someone else’s branch?
|
||||||
|
|
||||||
brew install hub
|
brew install hub
|
||||||
brew update
|
brew update
|
||||||
@ -122,7 +123,7 @@ Or:
|
|||||||
|
|
||||||
`brew pull https://github.com/Homebrew/homebrew-core/pull/1234`
|
`brew pull https://github.com/Homebrew/homebrew-core/pull/1234`
|
||||||
|
|
||||||
### Why does Homebrew prefer I install to `/usr/local`?
|
## Why does Homebrew prefer I install to `/usr/local`?
|
||||||
<a name="usrlocal"></a>
|
<a name="usrlocal"></a>
|
||||||
|
|
||||||
1. **It’s easier**<br>`/usr/local/bin` is already in your
|
1. **It’s easier**<br>`/usr/local/bin` is already in your
|
||||||
@ -142,7 +143,7 @@ brews then save yourself a bunch of hassle and install to
|
|||||||
|
|
||||||
It is not always straightforward to tell `gem` to look in non-standard directories for headers and libraries. If you choose `/usr/local`, many things will "just work".
|
It is not always straightforward to tell `gem` to look in non-standard directories for headers and libraries. If you choose `/usr/local`, many things will "just work".
|
||||||
|
|
||||||
### Why does Homebrew say sudo is bad? <a name="sudo"></a>
|
## Why does Homebrew say sudo is bad? <a name="sudo"></a>
|
||||||
**tl;dr** Sudo is dangerous, and you installed TextMate.app without sudo
|
**tl;dr** Sudo is dangerous, and you installed TextMate.app without sudo
|
||||||
anyway.
|
anyway.
|
||||||
|
|
||||||
@ -168,17 +169,17 @@ not. So is it that important to `chown root wget`?
|
|||||||
If you need to run Homebrew in a multi-user environment, consider
|
If you need to run Homebrew in a multi-user environment, consider
|
||||||
creating a separate user account especially for use of Homebrew.
|
creating a separate user account especially for use of Homebrew.
|
||||||
|
|
||||||
### Why isn’t a particular command documented?
|
## Why isn’t a particular command documented?
|
||||||
|
|
||||||
If it’s not in `man brew`, it’s probably an external command. These are documented [here](External-Commands.md).
|
If it’s not in `man brew`, it’s probably an external command. These are documented [here](External-Commands.md).
|
||||||
|
|
||||||
### Why haven’t you pulled my pull request?
|
## Why haven’t you pulled my pull request?
|
||||||
If it’s been a while, bump it with a “bump” comment. Sometimes we miss requests and there are plenty of them. Maybe we were thinking on something. It will encourage consideration. In the meantime if you could rebase the pull request so that it can be cherry-picked more easily we will love you for a long time.
|
If it’s been a while, bump it with a “bump” comment. Sometimes we miss requests and there are plenty of them. Maybe we were thinking on something. It will encourage consideration. In the meantime if you could rebase the pull request so that it can be cherry-picked more easily we will love you for a long time.
|
||||||
|
|
||||||
### Can I edit formulae myself?
|
## Can I edit formulae myself?
|
||||||
Yes! It’s easy! Just `brew edit $FORMULA`. You don’t have to submit modifications back to *Homebrew/homebrew-core*, just edit the formula as you personally need it and `brew install`. As a bonus `brew update` will merge your changes with upstream so you can still keep the formula up-to-date **with** your personal modifications!
|
Yes! It’s easy! Just `brew edit $FORMULA`. You don’t have to submit modifications back to *Homebrew/homebrew-core*, just edit the formula as you personally need it and `brew install`. As a bonus `brew update` will merge your changes with upstream so you can still keep the formula up-to-date **with** your personal modifications!
|
||||||
|
|
||||||
### Can I make new formulae?
|
## Can I make new formulae?
|
||||||
Yes! It’s easy! Just `brew create URL` Homebrew will then open the
|
Yes! It’s easy! Just `brew create URL` Homebrew will then open the
|
||||||
formula in `$EDITOR` so you can edit it, but it probably already
|
formula in `$EDITOR` so you can edit it, but it probably already
|
||||||
installs; try it: `brew install $FORMULA`. If you come up with any issues,
|
installs; try it: `brew install $FORMULA`. If you come up with any issues,
|
||||||
@ -188,7 +189,7 @@ which drops you into a debugging shell.
|
|||||||
If you want your new formula to be part of *homebrew/core* or want
|
If you want your new formula to be part of *homebrew/core* or want
|
||||||
to learn more about writing formulae, then please read the [Formula Cookbook](Formula-Cookbook.md).
|
to learn more about writing formulae, then please read the [Formula Cookbook](Formula-Cookbook.md).
|
||||||
|
|
||||||
### Can I install my own stuff to `/usr/local`?
|
## Can I install my own stuff to `/usr/local`?
|
||||||
Yes, brew is designed to not get in your way so you can use it how you
|
Yes, brew is designed to not get in your way so you can use it how you
|
||||||
like.
|
like.
|
||||||
|
|
||||||
@ -211,25 +212,25 @@ $ brew link foo
|
|||||||
Linking /usr/local/Cellar/foo/0.1… 17 symlinks created
|
Linking /usr/local/Cellar/foo/0.1… 17 symlinks created
|
||||||
```
|
```
|
||||||
|
|
||||||
### Where was a formula deleted?
|
## Why was a formula deleted?
|
||||||
Use `brew log $FORMULA` to find out! Likely because it had unresolved issues or
|
Use `brew log $FORMULA` to find out! Likely because it had unresolved issues or
|
||||||
our analytics identified it was not widely used.
|
our analytics identified it was not widely used.
|
||||||
|
|
||||||
### Homebrew is a poor name, it is generic, why was it chosen?
|
## Homebrew is a poor name, it is generic, why was it chosen?
|
||||||
@mxcl was too concerned with the beer theme and didn’t consider that the
|
@mxcl was too concerned with the beer theme and didn’t consider that the
|
||||||
project may actually prove popular. By the time he realized it was too
|
project may actually prove popular. By the time he realized it was too
|
||||||
late. However, today, the first google hit for “homebrew” is not beer
|
late. However, today, the first google hit for “homebrew” is not beer
|
||||||
related ;-)
|
related ;-)
|
||||||
|
|
||||||
### What does *keg-only* mean?
|
## What does *keg-only* mean?
|
||||||
It means the formula is installed only into the Cellar; it is not linked
|
It means the formula is installed only into the Cellar; it is not linked
|
||||||
into `/usr/local`. This means most tools will not find it. We don’t do
|
into `/usr/local`. This means most tools will not find it. We don’t do
|
||||||
this for stupid reasons. You can still link in the formula if you need
|
this for stupid reasons. You can still link in the formula if you need
|
||||||
to with `brew link`.
|
to with `brew link`.
|
||||||
|
|
||||||
### How can I specify different configure arguments for a formula?
|
## How can I specify different configure arguments for a formula?
|
||||||
`brew edit $FORMULA` and edit the formula. Currently there is no
|
`brew edit $FORMULA` and edit the formula. Currently there is no
|
||||||
other way to do this.
|
other way to do this.
|
||||||
|
|
||||||
### Is there a glossary of terms around?
|
## Is there a glossary of terms around?
|
||||||
All your terminology needs can be [found here](Formula-Cookbook.md#homebrew-terminology).
|
All your terminology needs can be [found here](Formula-Cookbook.md#homebrew-terminology).
|
||||||
|
6
docs/Gemfile
Normal file
6
docs/Gemfile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gem "github-pages", group: :jekyll_plugins
|
||||||
|
|
||||||
|
# Nokogiri >=1.7 requires Ruby >=2.1
|
||||||
|
gem "nokogiri", "<1.7"
|
@ -1,6 +1,4 @@
|
|||||||
# Homebrew and Python
|
# Python
|
||||||
## Overview
|
|
||||||
|
|
||||||
This page describes how Python is handled in Homebrew for users. See [Python for Formula Authors](Python-for-Formula-Authors.md) for advice on writing formulae to install packages written in Python.
|
This page describes how Python is handled in Homebrew for users. See [Python for Formula Authors](Python-for-Formula-Authors.md) for advice on writing formulae to install packages written in Python.
|
||||||
|
|
||||||
Homebrew should work with any [CPython](https://stackoverflow.com/questions/2324208/is-there-any-difference-between-cpython-and-python) and defaults to the macOS system Python.
|
Homebrew should work with any [CPython](https://stackoverflow.com/questions/2324208/is-there-any-difference-between-cpython-and-python) and defaults to the macOS system Python.
|
||||||
@ -11,14 +9,12 @@ Homebrew provides formulae to brew a more up-to-date Python 2.7.x (and 3.x).
|
|||||||
|
|
||||||
|
|
||||||
## Python 2.x or Python 3.x
|
## Python 2.x or Python 3.x
|
||||||
|
|
||||||
Homebrew provides a formula for Python 2.7.x and one for Python 3.x. They don't conflict, so they can both be installed. The executable `python` will always point to the 2.x and `python3` to the 3.x version.
|
Homebrew provides a formula for Python 2.7.x and one for Python 3.x. They don't conflict, so they can both be installed. The executable `python` will always point to the 2.x and `python3` to the 3.x version.
|
||||||
|
|
||||||
([Wondering which one to choose?](https://wiki.python.org/moin/Python2orPython3))
|
([Wondering which one to choose?](https://wiki.python.org/moin/Python2orPython3))
|
||||||
|
|
||||||
|
|
||||||
## Setuptools, Pip, etc.
|
## Setuptools, Pip, etc.
|
||||||
|
|
||||||
The Python formulae install [`pip`](http://www.pip-installer.org) and [Setuptools](https://pypi.python.org/pypi/setuptools).
|
The Python formulae install [`pip`](http://www.pip-installer.org) and [Setuptools](https://pypi.python.org/pypi/setuptools).
|
||||||
|
|
||||||
Setuptools can be updated via Pip, without having to re-brew Python:
|
Setuptools can be updated via Pip, without having to re-brew Python:
|
||||||
@ -30,7 +26,6 @@ Similarly, Pip can be used to upgrade itself via:
|
|||||||
pip install --upgrade pip
|
pip install --upgrade pip
|
||||||
|
|
||||||
### Note on `pip install --user`
|
### Note on `pip install --user`
|
||||||
|
|
||||||
The normal `pip install --user` is disabled for brewed Python. This is because of a bug in distutils, because Homebrew writes a `distutils.cfg` which sets the package `prefix`.
|
The normal `pip install --user` is disabled for brewed Python. This is because of a bug in distutils, because Homebrew writes a `distutils.cfg` which sets the package `prefix`.
|
||||||
|
|
||||||
A possible workaround (which puts executable scripts in `~/Library/Python/<X>.<Y>/bin`) is:
|
A possible workaround (which puts executable scripts in `~/Library/Python/<X>.<Y>/bin`) is:
|
||||||
@ -38,7 +33,6 @@ A possible workaround (which puts executable scripts in `~/Library/Python/<X>.<Y
|
|||||||
pip install --user --install-option="--prefix=" <package-name>
|
pip install --user --install-option="--prefix=" <package-name>
|
||||||
|
|
||||||
## `site-packages` and the `PYTHONPATH`
|
## `site-packages` and the `PYTHONPATH`
|
||||||
|
|
||||||
The `site-packages` is a directory that contains Python modules (especially bindings installed by other formulae). Homebrew creates it here:
|
The `site-packages` is a directory that contains Python modules (especially bindings installed by other formulae). Homebrew creates it here:
|
||||||
|
|
||||||
$(brew --prefix)/lib/pythonX.Y/site-packages
|
$(brew --prefix)/lib/pythonX.Y/site-packages
|
||||||
@ -53,11 +47,9 @@ Python 2.7 also searches for modules in:
|
|||||||
Homebrew's `site-packages` directory is first created if (1) any Homebrew formula with Python bindings are installed, or (2) upon `brew install python`.
|
Homebrew's `site-packages` directory is first created if (1) any Homebrew formula with Python bindings are installed, or (2) upon `brew install python`.
|
||||||
|
|
||||||
### Why here?
|
### Why here?
|
||||||
|
|
||||||
The reasoning for this location is to preserve your modules between (minor) upgrades or re-installations of Python. Additionally, Homebrew has a strict policy never to write stuff outside of the `brew --prefix`, so we don't spam your system.
|
The reasoning for this location is to preserve your modules between (minor) upgrades or re-installations of Python. Additionally, Homebrew has a strict policy never to write stuff outside of the `brew --prefix`, so we don't spam your system.
|
||||||
|
|
||||||
## Homebrew-provided Python bindings
|
## Homebrew-provided Python bindings
|
||||||
|
|
||||||
Some formulae provide python bindings. Sometimes a `--with-python` or `--with-python3` option has to be passed to `brew install` in order to build the python bindings. (Check with `brew options <formula>`.)
|
Some formulae provide python bindings. Sometimes a `--with-python` or `--with-python3` option has to be passed to `brew install` in order to build the python bindings. (Check with `brew options <formula>`.)
|
||||||
|
|
||||||
Homebrew builds bindings against the first `python` (and `python-config`) in your `PATH`. (Check with `which python`).
|
Homebrew builds bindings against the first `python` (and `python-config`) in your `PATH`. (Check with `which python`).
|
||||||
@ -65,12 +57,10 @@ Homebrew builds bindings against the first `python` (and `python-config`) in you
|
|||||||
**Warning!** Python may crash (see [Common Issues](Common-Issues.md)) if you `import <module>` from a brewed Python if you ran `brew install <formula_with_python_bindings>` against the system Python. If you decide to switch to the brewed Python, then reinstall all formulae with python bindings (e.g. `pyside`, `wxwidgets`, `pygtk`, `pygobject`, `opencv`, `vtk` and `boost-python`).
|
**Warning!** Python may crash (see [Common Issues](Common-Issues.md)) if you `import <module>` from a brewed Python if you ran `brew install <formula_with_python_bindings>` against the system Python. If you decide to switch to the brewed Python, then reinstall all formulae with python bindings (e.g. `pyside`, `wxwidgets`, `pygtk`, `pygobject`, `opencv`, `vtk` and `boost-python`).
|
||||||
|
|
||||||
## Policy for non-brewed Python bindings
|
## Policy for non-brewed Python bindings
|
||||||
|
|
||||||
These should be installed via `pip install <x>`. To discover, you can use `pip search` or <https://pypi.python.org/pypi>. (**Note:** System Python does not provide `pip`. Follow the instructions at https://pip.readthedocs.org/en/stable/installing/#install-pip to install it for your system Python if you would like it.)
|
These should be installed via `pip install <x>`. To discover, you can use `pip search` or <https://pypi.python.org/pypi>. (**Note:** System Python does not provide `pip`. Follow the instructions at https://pip.readthedocs.org/en/stable/installing/#install-pip to install it for your system Python if you would like it.)
|
||||||
|
|
||||||
|
|
||||||
## Brewed Python modules
|
## Brewed Python modules
|
||||||
|
|
||||||
For brewed Python, modules installed with `pip` or `python setup.py install` will be installed to `$(brew --prefix)/lib/pythonX.Y/site-packages` directory (explained above). Executable python scripts will be in `$(brew --prefix)/bin`.
|
For brewed Python, modules installed with `pip` or `python setup.py install` will be installed to `$(brew --prefix)/lib/pythonX.Y/site-packages` directory (explained above). Executable python scripts will be in `$(brew --prefix)/bin`.
|
||||||
|
|
||||||
The system Python may not know which compiler flags to set in order to build bindings for software installed in Homebrew so you may need to:
|
The system Python may not know which compiler flags to set in order to build bindings for software installed in Homebrew so you may need to:
|
||||||
@ -79,7 +69,6 @@ The system Python may not know which compiler flags to set in order to build bin
|
|||||||
|
|
||||||
|
|
||||||
## Virtualenv
|
## Virtualenv
|
||||||
|
|
||||||
**WARNING:** When you `brew install` formulae that provide Python bindings, you should **not be in an active virtual environment**.
|
**WARNING:** When you `brew install` formulae that provide Python bindings, you should **not be in an active virtual environment**.
|
||||||
|
|
||||||
Activate the virtualenv *after* you've brewed, or brew in a fresh Terminal window.
|
Activate the virtualenv *after* you've brewed, or brew in a fresh Terminal window.
|
||||||
@ -88,5 +77,4 @@ Homebrew will still install Python modules into Homebrew's `site-packages` and *
|
|||||||
Virtualenv has a switch to allow "global" (i.e. Homebrew's) `site-packages` to be accessible from within the virtualenv.
|
Virtualenv has a switch to allow "global" (i.e. Homebrew's) `site-packages` to be accessible from within the virtualenv.
|
||||||
|
|
||||||
## Why is Homebrew's Python being installed as a dependency?
|
## Why is Homebrew's Python being installed as a dependency?
|
||||||
|
|
||||||
Formulae that depend on the special :python target are bottled against the Homebrew Python and require it to be installed. You can avoid installing Homebrew's Python by building these formulae with `--build-from-source`.
|
Formulae that depend on the special :python target are bottled against the Homebrew Python and require it to be installed. You can avoid installing Homebrew's Python by building these formulae with `--build-from-source`.
|
||||||
|
@ -3,7 +3,7 @@ The suggested and easiest way to install Homebrew is on the
|
|||||||
[homepage](http://brew.sh).
|
[homepage](http://brew.sh).
|
||||||
|
|
||||||
The standard script installs Homebrew to `/usr/local` so that
|
The standard script installs Homebrew to `/usr/local` so that
|
||||||
[you don’t need sudo](FAQ.md#why-does-homebrew-say-sudo-is-bad-) when you
|
[you don’t need sudo](FAQ.md) when you
|
||||||
`brew install`. It is a careful script, it can be run even if you have stuff
|
`brew install`. It is a careful script, it can be run even if you have stuff
|
||||||
installed to `/usr/local` already. It tells you exactly what it will do before
|
installed to `/usr/local` already. It tells you exactly what it will do before
|
||||||
it does it too. And you have to confirm everything it will do before it starts.
|
it does it too. And you have to confirm everything it will do before it starts.
|
||||||
@ -12,11 +12,12 @@ it does it too. And you have to confirm everything it will do before it starts.
|
|||||||
* An Intel CPU <sup>[1](#1)</sup>
|
* An Intel CPU <sup>[1](#1)</sup>
|
||||||
* OS X 10.10 or higher <sup>[2](#2)</sup>
|
* OS X 10.10 or higher <sup>[2](#2)</sup>
|
||||||
* Command Line Tools (CLT) for Xcode: `xcode-select --install`,
|
* Command Line Tools (CLT) for Xcode: `xcode-select --install`,
|
||||||
https://developer.apple.com/downloads or
|
[developer.apple.com/downloads](https://developer.apple.com/downloads) or
|
||||||
[Xcode](https://itunes.apple.com/us/app/xcode/id497799835) <sup>[3](#3)</sup>
|
[Xcode](https://itunes.apple.com/us/app/xcode/id497799835) <sup>[3](#3)</sup>
|
||||||
* A Bourne-compatible shell for installation (e.g. bash or zsh) <sup>[4](#4)</sup>
|
* A Bourne-compatible shell for installation (e.g. bash or zsh) <sup>[4](#4)</sup>
|
||||||
|
|
||||||
## Alternative Installs
|
## Alternative Installs
|
||||||
|
|
||||||
### Untar anywhere
|
### Untar anywhere
|
||||||
Just extract (or `git clone`) Homebrew wherever you want. Just
|
Just extract (or `git clone`) Homebrew wherever you want. Just
|
||||||
avoid:
|
avoid:
|
||||||
|
@ -18,10 +18,10 @@ A few requests:
|
|||||||
non-trivial (e.g. not a test or audit improvement or version bump) changes
|
non-trivial (e.g. not a test or audit improvement or version bump) changes
|
||||||
to formulae code and don't merge them unless you get at least one approval
|
to formulae code and don't merge them unless you get at least one approval
|
||||||
and passing tests.
|
and passing tests.
|
||||||
- use `brew pull` for formulae changes that require new bottles or change
|
- use `brew pull` for formulae changes that require new bottles or change
|
||||||
multiple formulae and let it auto-close issues wherever possible (it may
|
multiple formulae and let it auto-close issues wherever possible (it may
|
||||||
take ~5m). When this isn't necessary use GitHub's "Merge pull request"
|
take ~5m). When this isn't necessary use GitHub's "Merge pull request"
|
||||||
button in "create a merge commit" mode for Homebrew/brew or "squash and
|
button in "create a merge commit" mode for Homebrew/brew or "squash and
|
||||||
merge" for a single formulae change. If in doubt, check with e.g. GitX that
|
merge" for a single formulae change. If in doubt, check with e.g. GitX that
|
||||||
you've not accidentally added merge commits
|
you've not accidentally added merge commits
|
||||||
- still create your branches on your fork rather than in the main repository
|
- still create your branches on your fork rather than in the main repository
|
||||||
@ -38,14 +38,14 @@ Thanks for all your work so far!
|
|||||||
|
|
||||||
If they accept, follow a few steps to get them set up:
|
If they accept, follow a few steps to get them set up:
|
||||||
|
|
||||||
- [x] Invite them to the [**@Homebrew/maintainers** team](https://github.com/orgs/Homebrew/teams/maintainers) to give them write access to all repositories (but don't make them owners yet). They will need to enable [GitHub's Two Factor Authentication](https://help.github.com/articles/about-two-factor-authentication/).
|
- Invite them to the [**@Homebrew/maintainers** team](https://github.com/orgs/Homebrew/teams/maintainers) to give them write access to all repositories (but don't make them owners yet). They will need to enable [GitHub's Two Factor Authentication](https://help.github.com/articles/about-two-factor-authentication/).
|
||||||
- [x] Ask them to sign in to [Bintray](https://bintray.com) using their GitHub account and they should auto-sync to [Bintray's Homebrew organisation](https://bintray.com/homebrew/organization/edit/members) as a member so they can publish new bottles
|
- Ask them to sign in to [Bintray](https://bintray.com) using their GitHub account and they should auto-sync to [Bintray's Homebrew organisation](https://bintray.com/homebrew/organization/edit/members) as a member so they can publish new bottles
|
||||||
- [x] Add them to the [Jenkins' GitHub Authorization Settings admin user names](https://bot.brew.sh/configureSecurity/) so they can adjust settings and restart jobs
|
- Add them to the [Jenkins' GitHub Authorization Settings admin user names](https://bot.brew.sh/configureSecurity/) so they can adjust settings and restart jobs
|
||||||
- [x] Add them to the [Jenkins' GitHub Pull Request Builder admin list](https://bot.brew.sh/configure) to enable `@BrewTestBot test this please` for them
|
- Add them to the [Jenkins' GitHub Pull Request Builder admin list](https://bot.brew.sh/configure) to enable `@BrewTestBot test this please` for them
|
||||||
- [x] Invite them to the [`homebrew-dev` private maintainers mailing list](https://groups.google.com/forum/#!managemembers/homebrew-dev/invite)
|
- Invite them to the [`homebrew-dev` private maintainers mailing list](https://groups.google.com/forum/#!managemembers/homebrew-dev/invite)
|
||||||
- [x] Invite them to the [`machomebrew` private maintainers Slack](https://machomebrew.slack.com/admin/invites)
|
- Invite them to the [`machomebrew` private maintainers Slack](https://machomebrew.slack.com/admin/invites)
|
||||||
- [x] Invite them to the [`homebrew` private maintainers 1Password](https://homebrew.1password.com/signin)
|
- Invite them to the [`homebrew` private maintainers 1Password](https://homebrew.1password.com/signin)
|
||||||
- [x] Add them to [Homebrew's README](https://github.com/Homebrew/brew/edit/master/README.md)
|
- Add them to [Homebrew's README](https://github.com/Homebrew/brew/edit/master/README.md)
|
||||||
|
|
||||||
After a few weeks/months with no problems consider making them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people).
|
After a few weeks/months with no problems consider making them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people).
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ If you submit a formula with this syntax to core, you may be asked to rewrite it
|
|||||||
## Python declarations
|
## Python declarations
|
||||||
|
|
||||||
Applications that are compatible with Python 2 **should** use the Apple-provided system Python in /usr/bin on systems that provide Python 2.7. To do this, declare:
|
Applications that are compatible with Python 2 **should** use the Apple-provided system Python in /usr/bin on systems that provide Python 2.7. To do this, declare:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
depends_on :python if MacOS.version <= :snow_leopard
|
depends_on :python if MacOS.version <= :snow_leopard
|
||||||
```
|
```
|
||||||
@ -159,6 +160,7 @@ Bindings should follow the same advice for Python module dependencies as librari
|
|||||||
## Installing bindings
|
## Installing bindings
|
||||||
|
|
||||||
If the bindings are installed by invoking a `setup.py`, do something like:
|
If the bindings are installed by invoking a `setup.py`, do something like:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
cd "source/python" do
|
cd "source/python" do
|
||||||
system "python", *Language::Python.setup_install_args(prefix)
|
system "python", *Language::Python.setup_install_args(prefix)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Querying Brew
|
# Querying `brew`
|
||||||
_In this document we will be using [jq](https://stedolan.github.io/jq/) to parse JSON, available from Homebrew using `brew install jq`._
|
_In this document we will be using [jq](https://stedolan.github.io/jq/) to parse JSON, available from Homebrew using `brew install jq`._
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
@ -1,34 +1,43 @@
|
|||||||
# README
|
# Documentation
|
||||||
Homebrew installs the stuff you need that Apple didn’t.
|
|
||||||
|
|
||||||
- [Install Homebrew](Installation.md)
|
## Users
|
||||||
|
- [Troubleshooting](Troubleshooting.md)
|
||||||
|
- [Installation](Installation.md)
|
||||||
- [Frequently Asked Questions](FAQ.md)
|
- [Frequently Asked Questions](FAQ.md)
|
||||||
|
- [Common Issues](Common-Issues.md)
|
||||||
|
|
||||||
- [Tips and Tricks](Tips-N'-Tricks.md)
|
- [Tips and Tricks](Tips-N'-Tricks.md)
|
||||||
- [Gems, Eggs and Perl Modules](Gems,-Eggs-and-Perl-Modules.md)
|
- [Bottles (binary packages)](Bottles.md)
|
||||||
- [Homebrew and Python](Homebrew-and-Python.md)
|
- [Taps (third-party repositories)](brew-tap.md)
|
||||||
|
- [Interesting Taps and Forks](Interesting-Taps-&-Forks.md)
|
||||||
|
- [Anonymous Aggregate User Behaviour Analytics](Analytics.md)
|
||||||
|
|
||||||
Please note: Homebrew generally works well, but when it doesn’t we’d hope you
|
- [Querying `brew`](Querying-Brew.md)
|
||||||
report the bug.
|
- [C++ Standard Libraries](C++-Standard-Libraries.md)
|
||||||
|
- [MD5 and SHA-1 Deprecation](Checksum_Deprecation.md)
|
||||||
|
- [Custom GCC and Cross Compilers](Custom-GCC-and-cross-compilers.md)
|
||||||
|
- [External Commands](External-Commands.md)
|
||||||
|
- [Ruby Gems, Python Eggs and Perl Modules](Gems,-Eggs-and-Perl-Modules.md)
|
||||||
|
- [Python](Homebrew-and-Python.md)
|
||||||
|
- [How To Build Software Outside Homebrew With Homebrew `keg_only` dependencies](How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md)
|
||||||
|
- [Xcode](Xcode.md)
|
||||||
|
- [Kickstarter Supporters](Kickstarter-Supporters.md)
|
||||||
|
|
||||||
## Troubleshooting
|
## Contributors
|
||||||
First, please run `brew update` (twice) and `brew doctor`.
|
- [How To Open A Pull Request (and get it merged)](How-To-Open-a-Homebrew-Pull-Request.md)
|
||||||
|
- [Formula Cookbook](Formula-Cookbook.md)
|
||||||
|
- [Acceptable Formulae](Acceptable-Formulae.md)
|
||||||
|
- [Node for Formula Authors](Node-for-Formula-Authors.md)
|
||||||
|
- [Python for Formula Authors](Python-for-Formula-Authors.md)
|
||||||
|
- [Migrating A Formula To A Tap](Migrating-A-Formula-To-A-Tap.md)
|
||||||
|
- [Rename A Formula](Rename-A-Formula.md)
|
||||||
|
- [How To Create (And Maintain) A Tap](How-to-Create-and-Maintain-a-Tap.md)
|
||||||
|
- [Brew Test Bot](Brew-Test-Bot.md)
|
||||||
|
- [Prose Style Guidelines](Prose-Style-Guidelines.md)
|
||||||
|
|
||||||
Second, please read the [Troubleshooting Checklist](Troubleshooting.md).
|
## Maintainers
|
||||||
|
- [New Maintainer Checklist](New-Maintainer-Checklist.md)
|
||||||
**If you don’t follow these steps it will take us far longer to help you with
|
- [Maintainers Avoiding Burnout](Maintainers-Avoiding-Burnout.md)
|
||||||
your problem.**
|
- [Maintainer Guidelines](Maintainer-Guidelines.md)
|
||||||
|
- [Brew Test Bot For Maintainers](Brew-Test-Bot-For-Core-Contributors.md)
|
||||||
However! Fixing build issues is easier than you think: try
|
- [Common Issues for Maintainers](Common-Issues-for-Core-Contributors.md)
|
||||||
`brew edit $FORMULA` and see how you fare.
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
Read [CONTRIBUTING.md](/CONTRIBUTING.md).
|
|
||||||
|
|
||||||
### Community Forums
|
|
||||||
- [@MacHomebrew](https://twitter.com/MacHomebrew)
|
|
||||||
- [homebrew-discuss@googlegroups.com](mailto:homebrew-discuss@googlegroups.com) ([archive](https://groups.google.com/forum/#!forum/homebrew-discuss)) - subscribe by sending a mail to [homebrew-discuss+subscribe@googlegroups.com](mailto:homebrew-discuss+subscribe@googlegroups.com)
|
|
||||||
- [freenode.net\#machomebrew](irc://irc.freenode.net/#machomebrew)
|
|
||||||
|
|
||||||
## Supporters
|
|
||||||
[A list of the awesome people who gave £5 or more to our
|
|
||||||
Kickstarter](./Kickstarter-Supporters.md).
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Tips N' Tricks
|
# Tips and Tricks
|
||||||
|
|
||||||
## Installing previous versions of formulae
|
## Installing previous versions of formulae
|
||||||
|
|
||||||
@ -7,16 +7,14 @@ some formulae is to see if there is a versions formula like e.g. `gcc@6` availab
|
|||||||
pull request](https://github.com/Homebrew/brew/blob/master/docs/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md)!
|
pull request](https://github.com/Homebrew/brew/blob/master/docs/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md)!
|
||||||
|
|
||||||
### Installing directly from pull-requests
|
### Installing directly from pull-requests
|
||||||
|
You can [browse pull requests](https://github.com/Homebrew/homebrew-core/pulls)
|
||||||
You can browse pull requests https://github.com/Homebrew/homebrew-core/pulls
|
and install through the direct link. For example Python 3.3.0 pull request [Homebrew/homebrew#15199](https://github.com/Homebrew/homebrew/pull/15199)
|
||||||
and install through the direct link. For example Python 3.3.0 pull request https://github.com/Homebrew/homebrew/pull/15199
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew install https://raw.github.com/dsr/homebrew/9b22d42f50fcbc5e52c764448b3ac002bc153bd7/Library/Formula/python3.rb
|
brew install https://raw.github.com/dsr/homebrew/9b22d42f50fcbc5e52c764448b3ac002bc153bd7/Library/Formula/python3.rb
|
||||||
```
|
```
|
||||||
|
|
||||||
## Quickly remove something from /usr/local
|
## Quickly remove something from /usr/local
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew unlink $FORMULA
|
brew unlink $FORMULA
|
||||||
```
|
```
|
||||||
@ -26,7 +24,6 @@ This can be useful if a package can't build against the version of something you
|
|||||||
And of course, you can simply `brew link $FORMULA` again afterwards!
|
And of course, you can simply `brew link $FORMULA` again afterwards!
|
||||||
|
|
||||||
## Activate a previously installed version of a formula
|
## Activate a previously installed version of a formula
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew info $FORMULA
|
brew info $FORMULA
|
||||||
brew switch $FORMULA $VERSION
|
brew switch $FORMULA $VERSION
|
||||||
@ -35,21 +32,18 @@ brew switch $FORMULA $VERSION
|
|||||||
Use `brew info $FORMULA` to check what versions are installed but not currently activated, then `brew switch $FORMULA $VERSION` to activate the desired version. This can be useful if you would like to switch between versions of a formula.
|
Use `brew info $FORMULA` to check what versions are installed but not currently activated, then `brew switch $FORMULA $VERSION` to activate the desired version. This can be useful if you would like to switch between versions of a formula.
|
||||||
|
|
||||||
## Install into Homebrew without formulae
|
## Install into Homebrew without formulae
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./configure --prefix=/usr/local/Cellar/foo/1.2 && make && make install && brew link foo
|
./configure --prefix=/usr/local/Cellar/foo/1.2 && make && make install && brew link foo
|
||||||
```
|
```
|
||||||
|
|
||||||
## Pre-downloading a file for a formula
|
## Pre-downloading a file for a formula
|
||||||
|
|
||||||
Sometimes it's faster to download a file via means other than those
|
Sometimes it's faster to download a file via means other than those
|
||||||
strategies that are available as part of Homebrew. For example,
|
strategies that are available as part of Homebrew. For example,
|
||||||
Erlang provides a torrent that'll let you download at 4–5× the normal
|
Erlang provides a torrent that'll let you download at 4–5× the normal
|
||||||
HTTP method.
|
HTTP method.
|
||||||
|
|
||||||
Download the file and drop it in `~/Library/Caches/Homebrew`, but
|
Download the file and drop it in `~/Library/Caches/Homebrew`, but
|
||||||
watch the file name. Homebrew downloads files as <code>{{ formula
|
watch the file name. Homebrew downloads files as <code>${FORMULA_NAME}-${VERSION}</code>. In the case of Erlang, this requires
|
||||||
name }}-{{ version }}</code>. In the case of Erlang, this requires
|
|
||||||
renaming the file from <code>otp_src_R13B03</code> to
|
renaming the file from <code>otp_src_R13B03</code> to
|
||||||
<code>erlang-R13B03</code>.
|
<code>erlang-R13B03</code>.
|
||||||
|
|
||||||
@ -60,7 +54,6 @@ run `mv the_tarball $(brew --cache -s $FORMULA)`.
|
|||||||
You can also pre-cache the download by using the command `brew fetch formula` which also displays the SHA256 value. This can be useful for updating formulae to new versions.
|
You can also pre-cache the download by using the command `brew fetch formula` which also displays the SHA256 value. This can be useful for updating formulae to new versions.
|
||||||
|
|
||||||
## Using Homebrew behind a proxy
|
## Using Homebrew behind a proxy
|
||||||
|
|
||||||
Behind the scenes, Homebrew uses several commands for downloading files (e.g. curl, git, svn). Many of these tools can download via a proxy. It's a common (though not universal) convention for these command-line tools to observe getting the proxy parameters from environment variables (e.g. `http_proxy`). Unfortunately, most tools are inconsistent in their use of these environment parameters (e.g. curl supports `http_proxy`, `HTTPS_PROXY`, `FTP_PROXY`, `GOPHER_PROXY`, `ALL_PROXY`, `NO_PROXY`).
|
Behind the scenes, Homebrew uses several commands for downloading files (e.g. curl, git, svn). Many of these tools can download via a proxy. It's a common (though not universal) convention for these command-line tools to observe getting the proxy parameters from environment variables (e.g. `http_proxy`). Unfortunately, most tools are inconsistent in their use of these environment parameters (e.g. curl supports `http_proxy`, `HTTPS_PROXY`, `FTP_PROXY`, `GOPHER_PROXY`, `ALL_PROXY`, `NO_PROXY`).
|
||||||
|
|
||||||
Luckily, for the majority of cases setting `http_proxy` is enough.
|
Luckily, for the majority of cases setting `http_proxy` is enough.
|
||||||
@ -72,13 +65,11 @@ http_proxy=http://<proxyhost>:<proxyport> brew install $FORMULA
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Proxy Authentication
|
### Proxy Authentication
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
http_proxy=http://<user>:<password>@<proxyhost>:<proxyport> brew install $FORMULA
|
http_proxy=http://<user>:<password>@<proxyhost>:<proxyport> brew install $FORMULA
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing stuff without the Xcode-CLT
|
## Installing stuff without the Xcode-CLT
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ brew sh # or: eval $(brew --env)
|
$ brew sh # or: eval $(brew --env)
|
||||||
$ gem install ronn # or c-programs
|
$ gem install ronn # or c-programs
|
||||||
@ -87,13 +78,11 @@ $ gem install ronn # or c-programs
|
|||||||
This imports the brew environment into your existing shell, gem will pick up the environment variables and be able to build. As a bonus brew's automatically determined optimization flags are set.
|
This imports the brew environment into your existing shell, gem will pick up the environment variables and be able to build. As a bonus brew's automatically determined optimization flags are set.
|
||||||
|
|
||||||
## Install only a formula's dependencies (not the formula)
|
## Install only a formula's dependencies (not the formula)
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew install --only-dependencies $FORMULA
|
brew install --only-dependencies $FORMULA
|
||||||
```
|
```
|
||||||
|
|
||||||
## Interactive Homebrew Shell
|
## Interactive Homebrew Shell
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ brew irb
|
$ brew irb
|
||||||
1.8.7 :001 > Formula.factory("ace").methods - Object.methods
|
1.8.7 :001 > Formula.factory("ace").methods - Object.methods
|
||||||
@ -102,7 +91,6 @@ $ brew irb
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Hiding the beer mug emoji when finishing a build
|
## Hiding the beer mug emoji when finishing a build
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
export HOMEBREW_NO_EMOJI=1
|
export HOMEBREW_NO_EMOJI=1
|
||||||
```
|
```
|
||||||
@ -125,12 +113,10 @@ In Sublime Text 2/3, you can use Package Control to install
|
|||||||
which adds highlighting for inline patches.
|
which adds highlighting for inline patches.
|
||||||
|
|
||||||
### Vim
|
### Vim
|
||||||
|
|
||||||
[brew.vim](https://github.com/xu-cheng/brew.vim) adds highlighting to
|
[brew.vim](https://github.com/xu-cheng/brew.vim) adds highlighting to
|
||||||
inline patches in Vim.
|
inline patches in Vim.
|
||||||
|
|
||||||
### Emacs
|
### Emacs
|
||||||
|
|
||||||
[homebrew-mode](https://github.com/dunn/homebrew-mode) provides syntax
|
[homebrew-mode](https://github.com/dunn/homebrew-mode) provides syntax
|
||||||
highlighting for inline patches as well as a number of helper functions
|
highlighting for inline patches as well as a number of helper functions
|
||||||
for editing formula files.
|
for editing formula files.
|
||||||
@ -139,7 +125,6 @@ for editing formula files.
|
|||||||
for emacs shell-mode and eshell-mode.
|
for emacs shell-mode and eshell-mode.
|
||||||
|
|
||||||
### Atom
|
### Atom
|
||||||
|
|
||||||
[language-homebrew-formula](https://atom.io/packages/language-homebrew-formula)
|
[language-homebrew-formula](https://atom.io/packages/language-homebrew-formula)
|
||||||
adds highlighting and diff support (with the
|
adds highlighting and diff support (with the
|
||||||
[language-diff](https://atom.io/packages/language-diff) plugin).
|
[language-diff](https://atom.io/packages/language-diff) plugin).
|
||||||
|
120
docs/Xcode.md
120
docs/Xcode.md
@ -1,71 +1,71 @@
|
|||||||
# Xcode
|
# Xcode
|
||||||
|
|
||||||
## Supported Xcode Versions
|
## Supported Xcode Versions
|
||||||
Homebrew supports and recommends the latest Xcode and/or Command Line
|
Homebrew supports and recommends the latest Xcode and/or Command Line
|
||||||
Tools available for your platform:
|
Tools available for your platform:
|
||||||
|
|
||||||
macOS | Xcode | Command Line Tools
|
| macOS | Xcode | Command Line Tools |
|
||||||
----- | ----- | ----------------------------
|
|-------|-------|--------------------|
|
||||||
10.6 | 3.2.6 | N/A
|
| 10.6 | 3.2.6 | N/A |
|
||||||
10.7 | 4.6.3 | April 2013
|
| 10.7 | 4.6.3 | April 2013 |
|
||||||
10.8 | 5.1.1 | April 2014
|
| 10.8 | 5.1.1 | April 2014 |
|
||||||
10.9 | 6.2 | 6.2
|
| 10.9 | 6.2 | 6.2 |
|
||||||
10.10 | 7.2.1 | 7.2
|
| 10.10 | 7.2.1 | 7.2 |
|
||||||
10.11 | 8.0 | 7.3
|
| 10.11 | 8.0 | 7.3 |
|
||||||
10.12 | 8.0 | 8.0
|
| 10.12 | 8.0 | 8.0 |
|
||||||
|
|
||||||
|
|
||||||
## Compiler Version Database
|
## Compiler Version Database
|
||||||
|
|
||||||
Xcode | GCC 4.0 | GCC 4.2 | LLVM-GCC 4.2 | LLVM | Clang | LLVM (SVN)
|
| Xcode | GCC 4.0 | GCC 4.2 | LLVM-GCC 4.2 | LLVM | Clang | LLVM (SVN) |
|
||||||
--------- | ----------- | ----------- | ---------------- | ----------- | --------------- | ----------
|
|-------|---------|---------|--------------|------------|-----------------|------------|
|
||||||
2.5.0 | 5370 | — | — | — | — | —
|
| 2.5.0 | 5370 | — | — | — | — | — |
|
||||||
3.1.4 | 5493 | 5577 | 5555 | 2064.3 | — | —
|
| 3.1.4 | 5493 | 5577 | 5555 | 2064.3 | — | — |
|
||||||
3.2.0 | 5493 | 5646 | 5646 | 2118 | — | —
|
| 3.2.0 | 5493 | 5646 | 5646 | 2118 | — | — |
|
||||||
3.2.1 | 5493 | 5646 | 5646 | 2206 | — | —
|
| 3.2.1 | 5493 | 5646 | 5646 | 2206 | — | — |
|
||||||
3.2.2 | 5493 | 5659 | 5646 | 2207.5 | 1.0.2 | —
|
| 3.2.2 | 5493 | 5659 | 5646 | 2207.5 | 1.0.2 | — |
|
||||||
3.2.3 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | —
|
| 3.2.3 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | — |
|
||||||
3.2.4 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | —
|
| 3.2.4 | 5494 | 5664 | 5658 | 2326.10 | 1.5 (60) | — |
|
||||||
3.2.5 | 5494 | 5664 | 5658 | 2333.4 | 1.6 (70) | —
|
| 3.2.5 | 5494 | 5664 | 5658 | 2333.4 | 1.6 (70) | — |
|
||||||
3.2.6 | 5494 | 5666 | 5658 | 2335.6 | 1.7 (77) | 2.9
|
| 3.2.6 | 5494 | 5666 | 5658 | 2335.6 | 1.7 (77) | 2.9 |
|
||||||
4.0.0 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9
|
| 4.0.0 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9 |
|
||||||
4.0.2 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9
|
| 4.0.2 | 5494 | 5666 | 5658 | 2335.9 | 2.0 (137) | 2.9 |
|
||||||
4.1.0 | — | 5666 | 5658 | 2335.15.00 | 2.1 (163.7.1) | 3.0
|
| 4.1.0 | — | 5666 | 5658 | 2335.15.00 | 2.1 (163.7.1) | 3.0 |
|
||||||
4.2.0 | — | — | 5658 | 2336.1.00 | 3.0 (211.10.1) | 3.0
|
| 4.2.0 | — | — | 5658 | 2336.1.00 | 3.0 (211.10.1) | 3.0 |
|
||||||
4.3.0 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.45) | 3.1
|
| 4.3.0 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.45) | 3.1 |
|
||||||
4.3.1 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.54) | 3.1
|
| 4.3.1 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.54) | 3.1 |
|
||||||
4.3.2 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.58) | 3.1
|
| 4.3.2 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.58) | 3.1 |
|
||||||
4.3.3 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.61) | 3.1
|
| 4.3.3 | — | — | 5658 | 2336.9.00 | 3.1 (318.0.61) | 3.1 |
|
||||||
4.4.0 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.57) | 3.1
|
| 4.4.0 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.57) | 3.1 |
|
||||||
4.4.1 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.60) | 3.1
|
| 4.4.1 | — | — | 5658 | 2336.11.00 | 4.0 (421.0.60) | 3.1 |
|
||||||
4.5.0 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.65) | 3.1
|
| 4.5.0 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.65) | 3.1 |
|
||||||
4.5.1 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1
|
| 4.5.1 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1 |
|
||||||
4.5.2 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1
|
| 4.5.2 | — | — | 5658 | 2336.11.00 | 4.1 (421.11.66) | 3.1 |
|
||||||
4.6.0 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.24) | 3.2
|
| 4.6.0 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.24) | 3.2 |
|
||||||
4.6.1 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.27) | 3.2
|
| 4.6.1 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.27) | 3.2 |
|
||||||
4.6.2 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2
|
| 4.6.2 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2 |
|
||||||
4.6.3 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2
|
| 4.6.3 | — | — | 5658 | 2336.11.00 | 4.2 (425.0.28) | 3.2 |
|
||||||
5.0.0 | — | — | — | — | 5.0 (500.2.76) | 3.3
|
| 5.0.0 | — | — | — | — | 5.0 (500.2.76) | 3.3 |
|
||||||
5.0.1 | — | — | — | — | 5.0 (500.2.78) | 3.3
|
| 5.0.1 | — | — | — | — | 5.0 (500.2.78) | 3.3 |
|
||||||
5.0.1 | — | — | — | — | 5.0 (500.2.79) | 3.3
|
| 5.0.1 | — | — | — | — | 5.0 (500.2.79) | 3.3 |
|
||||||
5.1 | — | — | — | — | 5.1 (503.0.38) | 3.4
|
| 5.1 | — | — | — | — | 5.1 (503.0.38) | 3.4 |
|
||||||
5.1.1 | — | — | — | — | 5.1 (503.0.40) | 3.4
|
| 5.1.1 | — | — | — | — | 5.1 (503.0.40) | 3.4 |
|
||||||
6.0 | — | — | — | — | 6.0 (600.0.51) | 3.5
|
| 6.0 | — | — | — | — | 6.0 (600.0.51) | 3.5 |
|
||||||
6.0.1 | — | — | — | — | 6.0 (600.0.51) | 3.5
|
| 6.0.1 | — | — | — | — | 6.0 (600.0.51) | 3.5 |
|
||||||
6.1 | — | — | — | — | 6.0 (600.0.54) | 3.5
|
| 6.1 | — | — | — | — | 6.0 (600.0.54) | 3.5 |
|
||||||
6.2 | — | — | — | — | 6.0 (600.0.57) | 3.5
|
| 6.2 | — | — | — | — | 6.0 (600.0.57) | 3.5 |
|
||||||
6.3 | — | — | — | — | 6.1 (602.0.49) | 3.6
|
| 6.3 | — | — | — | — | 6.1 (602.0.49) | 3.6 |
|
||||||
6.3.1 | — | — | — | — | 6.1 (602.0.49) | 3.6
|
| 6.3.1 | — | — | — | — | 6.1 (602.0.49) | 3.6 |
|
||||||
6.3.2 | — | — | — | — | 6.1 (602.0.53) | 3.6
|
| 6.3.2 | — | — | — | — | 6.1 (602.0.53) | 3.6 |
|
||||||
6.4 | — | — | — | — | 6.1 (602.0.53) | 3.6
|
| 6.4 | — | — | — | — | 6.1 (602.0.53) | 3.6 |
|
||||||
7.0 | — | — | — | — | 7.0 (700.0.72) | -
|
| 7.0 | — | — | — | — | 7.0 (700.0.72) | - |
|
||||||
7.0.1 | — | — | — | — | 7.0 (700.0.72) | -
|
| 7.0.1 | — | — | — | — | 7.0 (700.0.72) | - |
|
||||||
7.1 | — | — | — | — | 7.0 (700.1.76) | -
|
| 7.1 | — | — | — | — | 7.0 (700.1.76) | - |
|
||||||
7.1.1 | — | — | — | — | 7.0 (700.1.76) | -
|
| 7.1.1 | — | — | — | — | 7.0 (700.1.76) | - |
|
||||||
7.2 | — | — | — | — | 7.0 (700.1.81) | -
|
| 7.2 | — | — | — | — | 7.0 (700.1.81) | - |
|
||||||
7.2.1 | — | — | — | — | 7.0 (700.1.81) | -
|
| 7.2.1 | — | — | — | — | 7.0 (700.1.81) | - |
|
||||||
7.3 | — | — | — | — | 7.3 (703.0.29) | -
|
| 7.3 | — | — | — | — | 7.3 (703.0.29) | - |
|
||||||
7.3.1 | — | — | — | — | 7.3 (703.0.31) | -
|
| 7.3.1 | — | — | — | — | 7.3 (703.0.31) | - |
|
||||||
8.0 | — | — | — | — | 8.0 (800.0.38) | -
|
| 8.0 | — | — | — | — | 8.0 (800.0.38) | - |
|
||||||
|
|
||||||
## References to Xcode and compiler versions in code
|
## References to Xcode and compiler versions in code
|
||||||
When a new Xcode release is made, the following things need to be
|
When a new Xcode release is made, the following things need to be
|
||||||
|
@ -1 +1,2 @@
|
|||||||
theme: jekyll-theme-cayman
|
theme: jekyll-theme-cayman
|
||||||
|
exclude: [bin, vendor, CNAME, Gemfile, Gemfile.lock]
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
# brew tap
|
# Taps (third-party repositories)
|
||||||
|
|
||||||
`brew tap` adds more repos to the list of formulae that `brew` tracks, updates,
|
`brew tap` adds more repos to the list of formulae that `brew` tracks, updates,
|
||||||
and installs from. By default, `tap` assumes that the repos come from GitHub,
|
and installs from. By default, `tap` assumes that the repos come from GitHub,
|
||||||
but the command isn't limited to any one location.
|
but the command isn't limited to any one location.
|
||||||
|
|
||||||
## The command
|
## The command (`brew tap`)
|
||||||
|
|
||||||
* `brew tap` without arguments lists the currently tapped repositories. For
|
* `brew tap` without arguments lists the currently tapped repositories. For
|
||||||
example:
|
example:
|
||||||
|
@ -780,9 +780,9 @@ your shell profile, or you can use it before a brew command:</p>
|
|||||||
|
|
||||||
<p>Homebrew's lead maintainer is Mike McQuaid.</p>
|
<p>Homebrew's lead maintainer is Mike McQuaid.</p>
|
||||||
|
|
||||||
<p>Homebrew's current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Josh Hagins, Baptiste Fontaine, Markus Reiter, ilovezfs, Martin Afanasjew, Tom Schoonjans, Uladzislau Shablinski, Tim Smith and Alex Dunn.</p>
|
<p>Homebrew's current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Josh Hagins, Baptiste Fontaine, Markus Reiter, ilovezfs, Tom Schoonjans, Uladzislau Shablinski, Tim Smith and Alex Dunn.</p>
|
||||||
|
|
||||||
<p>Former maintainers with significant contributions include Dominyk Tiller, Brett Koonce, Jack Nagel, Adam Vandenberg and Homebrew's creator: Max Howell.</p>
|
<p>Former maintainers with significant contributions include Martin Afanasjew, Dominyk Tiller, Brett Koonce, Jack Nagel, Adam Vandenberg and Homebrew's creator: Max Howell.</p>
|
||||||
|
|
||||||
<h2 id="BUGS">BUGS</h2>
|
<h2 id="BUGS">BUGS</h2>
|
||||||
|
|
||||||
|
@ -1046,10 +1046,10 @@ Homebrew Documentation: \fIhttps://github\.com/Homebrew/brew/blob/master/docs/\f
|
|||||||
Homebrew\'s lead maintainer is Mike McQuaid\.
|
Homebrew\'s lead maintainer is Mike McQuaid\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
Homebrew\'s current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Josh Hagins, Baptiste Fontaine, Markus Reiter, ilovezfs, Martin Afanasjew, Tom Schoonjans, Uladzislau Shablinski, Tim Smith and Alex Dunn\.
|
Homebrew\'s current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Josh Hagins, Baptiste Fontaine, Markus Reiter, ilovezfs, Tom Schoonjans, Uladzislau Shablinski, Tim Smith and Alex Dunn\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
Former maintainers with significant contributions include Dominyk Tiller, Brett Koonce, Jack Nagel, Adam Vandenberg and Homebrew\'s creator: Max Howell\.
|
Former maintainers with significant contributions include Martin Afanasjew, Dominyk Tiller, Brett Koonce, Jack Nagel, Adam Vandenberg and Homebrew\'s creator: Max Howell\.
|
||||||
.
|
.
|
||||||
.SH "BUGS"
|
.SH "BUGS"
|
||||||
See our issues on GitHub:
|
See our issues on GitHub:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user