aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
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.
2016-09-24RuboCop: Style/AccessorMethodNameMarkus Reiter
2016-09-24Fix Style/GuardClause.Markus Reiter
2016-09-23Style/Alias: Prefer `alias`.Markus Reiter
2016-09-23Fix Style/FormatString.Markus Reiter
2016-09-23Fix Style/IfUnlessModifier.Markus Reiter
2016-09-23Fix RuboCop CaseEquality.Markus Reiter
2016-09-22formula: help CMake with 10.12 SDK on 10.11ilovezfs
This adds a CMake cache entry to std_cmake_args specifying that the function clock_gettime is not available on 10.11 in order to avoid runtime errors such as dyld: lazy symbol binding failed: Symbol not found: _clock_gettime when the build system is confused by Xcode 8's weak symbols. Other weak symbols on 10.11, which may merit the same treatment in the future, can be found with grep 'weak$os10.11' MacOSX.sdk/usr/lib/system/libsystem_c.tbd
2016-09-20Update documentation links.Mike McQuaid
2016-09-19Save runtime dependencies in INSTALL_RECEIPT.jsonAlyssa Ross
Fixes #930
2016-09-19Fix `brew style` from #971.Mike McQuaid
2016-09-19Merge pull request #971 from penman/follow_aliasMike McQuaid
Make `brew upgrade` and `brew outdated` follow alias changes
2016-09-19Formulae aren't outdated if replacement formula installedAlyssa Ross
2016-09-18Formula#old_installed_formula?: fix some bugsAlyssa Ross
Previously, this method would: - Include the current formula - Include the current target of the installed alias, which by definition is not "old" This commit fixes both of these issues. Only formulae that are the current target of the alias they were installed with are now considered to have old installed formulae.