aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
2017-05-03Install etc/var files on postinstall.Mike McQuaid
Also, don't delete them after that. This means that `brew postinstall` becomes a way to easily reinstall configuration files for any formula without needing any changes to any bottles or requiring a reinstall.
2017-04-23Fix and remove various TODOs.Mike McQuaid
Fix those that can be done so without tearing Homebrew to pieces and remove the comments for those that can never be done.
2017-04-23Merge pull request #2524 from MikeMcQuaid/more-env-filtering-fixesMike McQuaid
Hide sensitive tokens from install/test/post.
2017-04-22Hide sensitive tokens from install/test/post.Mike McQuaid
Hide these tokens to avoid malicious subprocesses e.g. sending them over the network. Also, support using these tokens with environment filtering and clear `HOMEBREW_PATH` from subprocesses to stop them sniffing it. Finally, use `HOMEBREW_PATH` to detect Homebrew’s user’s PATH for e.g. `brew doctor` etc.
2017-04-22More deprecations.Mike McQuaid
Deprecate more methods. Internal APIs have been verified to be unused elsewhere and removed. External APIs have had deprecation methods added. Existing deprecations have been either upgraded to produce warnings or no longer deprecated and the reasoning documented.
2017-04-09formula: conflicts_with doc: give realistic :becauseJohn Hawkinson
The documentation should help a developer understand what the parameter is for. "stupid example" doesn't cut it.
2017-03-30Merge pull request #2422 from ↵Mike McQuaid
MikeMcQuaid/formula-missing-dependencies-handle-unavailable-formula formula: handle missing deps when formula missing.
2017-03-30formula: check installed_alias_path exists.Mike McQuaid
Otherwise return `nil`. Fixes https://github.com/Homebrew/brew/issues/2417
2017-03-30formula: handle missing deps when formula missing.Mike McQuaid
We could try and get a partial result but given it'll also be wrong it feels simpler to just return an empty array. Fixes #1928. Fixes #2027. Closes #2058. Fixes https://github.com/Homebrew/homebrew-core/issues/11827.
2017-02-25Merge pull request #2063 from MikeMcQuaid/caveats-clarifyMike McQuaid
formula: clarify caveats usage.
2017-02-20formula: clarify caveats usage.Mike McQuaid
2017-02-19Docs for tag-based urls use preferred formattingChris Long
2017-01-30cleanup: consider version_schemeXu Cheng
`brew cleanup` should cleanup formulae which have the older version scheme.
2017-01-18formula: installed_{as_dependency,on_request} hashMike McQuaid
Which, in turn, provides them for `brew info --json=v1` so other tools such as e.g. `brew bundle` can make use of this information.
2017-01-17Add `keg_only :versioned_formula`.Mike McQuaid
This is used to indicate a formula is a version of another formula. This will be used to provide a consistent interface for older formulae versions and replaces the use of `conflicts_with`.
2017-01-15formula: runtime_dependencies contains requirement formulae.Mike McQuaid
When a Requirement is converted to a Formula it should be listed under the runtime dependencies.
2017-01-09formula: return runtime_dependencies in to_hash.Mike McQuaid
Which, in turn, provides it for `brew info --json=v1` so other tools such as e.g. `brew bundle` can make use of this information.
2017-01-06Merge pull request #1782 from ilovezfs/prefix-fixupsilovezfs
Fix abv and prefix_linked?
2017-01-06formula: tweak versioned prefix approach.Mike McQuaid
2017-01-05Merge pull request #1780 from MikeMcQuaid/use-docs-linksMike McQuaid
Use docs.brew.sh links.
2017-01-05formula: correct grammar in commentsAlyssa Ross
2017-01-04formula: make prefix_linked? use versioned prefixilovezfs
otherwise whenever prefix is unversioned, prefix_Linked will be false
2017-01-04formula: realpath prefix before computing abvilovezfs
versioned prefix is a directory, but unversioned is a symlink, so realpath it before computing abv
2017-01-04Use docs.brew.sh links.Mike McQuaid
2017-01-03Merge pull request #1677 from MikeMcQuaid/formula-prefix-optMike McQuaid
formula: make prefix usually return opt_prefix.
2016-12-31formula, ARGV: don't output duplicate formulae.Mike McQuaid
If you specify a formula more than once or it exists in the Cellar with an alias name and the main name (e.g. `qt` and `qt5`) you can see the same formula showing up more than once. Instead, resolve these output lists of formulae such that they are unique based on their `name`. This doesn't use `full_name` as it's `name` that's use for the `Cellar`.
2016-12-31formula: make prefix usually return opt_prefix.Mike McQuaid
Return `opt_prefix` if it exists and `prefix` is not called from within the same formula's `install` or `post_install` methods. Otherwise, fall back to the existing functionality. This avoids the need to use `opt_prefix` etc. everywhere and generally means we don't expose an implementation detail (i.e. the full Cellar path) to dependents that have a habit of hard-coding it.
2016-12-23formula: make runtime_dependencies logic clearerAlyssa Ross
2016-12-23formula: don't expand unused optional dependenciesAlyssa Ross
This properly addresses Homebrew/homebrew-core#7826.
2016-12-23Revert "Revert "formula: runtime deps of build deps aren't runtime""Alyssa Ross
This reverts commit 862c3ba4a2fb76140e46fdf49a1ea6857f140a29.
2016-12-18Merge pull request #1673 from MikeMcQuaid/audit-fails-with-llvmMike McQuaid
audit: flag use of "fails_with :llvm".
2016-12-13Revert "formula: runtime deps of build deps aren't runtime"ilovezfs
2016-12-13audit: flag use of "fails_with :llvm".Mike McQuaid
Also, add TODOs for deprecating this properly at a later point.
2016-12-12Merge pull request #1592 from alyssais/runtime_dependenciesMike McQuaid
formula: runtime deps of build deps aren't runtime
2016-12-12Merge pull request #1616 from zachwhaley/zsh_functions_caveatsMike McQuaid
caveats: Differentiate zsh completion files and function files
2016-12-11Merge pull request #1343 from vladshablinsky/explicit-specsUladzislau Shablinski
Allow to install any spec
2016-12-08formula: Add convenience method for installing Zsh functionsZach Whaley
2016-12-04Add a method for installing fish function filesZach Whaley
Fish shell allows third-party software vendors to put their own function files in a directory for their software. For brew installed Fish shell, this is /usr/local/share/fish/vendor_functions.d
2016-12-03formula: add new methodsUladzislau Shablinski
* `Formula#linked?` returns true if formula linked * `Formula#optlinked?` returns true if formula linked to opt formula installed to the Cellar * `Formula#prefix_linked?` returns true if linked keg points to the prefix passed as an argument * `Formula#linked_version` to get linked version of the formula
2016-11-29formula: runtime deps of build deps aren't runtimeAlyssa Ross
Fixes #1554 (but only for new installations)
2016-11-24Fix broken linkTse Kit Yam
2016-11-18Merge pull request #1515 from alyssais/formula_cacheMike McQuaid
Fix flaky tests.
2016-11-17formula: update test_fixtures pathZhiming Wang
Fix regression caused by #1364.
2016-11-17formula: make cache clearing methods, *ahem*, clearerAlyssa Ross
2016-11-11Merge pull request #1082 from alyssais/uninstall_dependancy_errorMike McQuaid
uninstall: refuse when dependents still installed
2016-11-03Correct a few typosMandar Gokhale
...and update man pages where applicable
2016-10-25missing_deps: extract formula instance methodAlyssa Ross
2016-10-25uninstall: refuse when dependants still installedAlyssa Ross
Closes #934.
2016-10-24Move cask fixtures to `test/fixtures/cask`.Markus Reiter
2016-10-20formula: use names for formula comparisonUladzislau Shablinski
* Causes a bug in Formula#installed_alias_target_changed? when Formula#superseds_an_installed_formula? returns true because Formula#old_installed_formulae includes f for some Formula f. * Causes a bug when foo@2.4 with alias foo has HEAD or devel version and we try to `brew upgrade foo --devel|--HEAD` from stable. The upgrade fails while since we installing formula to the same prefix it's alredy installed. The reason for that is that we use `formula_to_install = outdated.map(&:latest_formula)` in cmd/upgrade before calling upgrade_formula on foo. ```ruby def latest_formula installed_alias_target_changed? ? current_installed_alias_target : self end ``` Formula#installed_alias_target_changed? compares formulae using Formula#==, which is wrong for this case, thus Formula#latest_formula doesn't return self and returns Formula#current_installed_alias_target with spec foo was initially installed instead of devel or HEAD, causing the error.