aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
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.
2016-09-18Make Formula#installed_alias_target_changed? clearerAlyssa Ross
2016-09-18upgrade, outdated: follow alias changesAlyssa Ross
2016-09-18Use new "macOS" naming where appropriate.Mike McQuaid
Not quite a mass replacement as I've used OS X and Mac OS X where describing specific older versions and added compatibility methods for things in the DSL.
2016-09-18Add Formula#installed_alias_pathAlyssa Ross
2016-09-18Merge pull request #989 from MikeMcQuaid/rubocop-finalMike McQuaid
Rubocop: apply auto-corrections and don't use hash-rockets
2016-09-17rubocop --auto-correct all remaining files.Mike McQuaid
But remove some manual `.freeze`s on constants that shouldn't be constants.
2016-09-17formula: set TERM to dumb during testZhiming Wang
Software that tries to print different things (e.g. ANSI color) based on different termcaps often relies on the TERM environment variable, and could fail without it. This results in confusing test issues where certain tests can be successfully run by users testing locally with TERM set, but choke up on our CI. Always setting TERM to dumb leads to better consistency between local tests and CI tests, and saves much probing in certain cases.
2016-09-15Use constants for LinkedKegs/PinnedKegs/Locks.Mike McQuaid
These definitions are scattered throughout the codebase which makes it hard to refactor them later (my goal is to move them outside of HOMEBREW_LIBRARY). Unify their definitions for clearer code and easier movement later.
2016-09-09Merge pull request #863 from penman/preserve_aliasMike McQuaid
Save aliases in INSTALL_RECEIPT
2016-09-05Formula#specified_pathAlyssa Ross
2016-09-05Formula: include Utils::ShellMisty De Meo
2016-09-05Replace install_name/install_ref with alias_pathAlyssa Ross
2016-09-03Preserve alias when installing formulaeAlyssa Ross
Part of #567
2016-09-01formula: pinned keg is not eligible for cleanupVlad Shablinsky
If formula is pinned it shouldn't be eligible for cleanup. Otherwise we can encounter the following behaviour: 1. Install <formula> 2. Pin <formula> 3. <formula> gets outdated 4. Install <other_formula> that depends on <formula>, which requires up-to-date installation of <formula>. Thus, <formula> gets updated. 5. Now, if we cleanup <formula> we don't remove pin, so it points to the keg which doesn't exist any longer. The right behaviour is not to cleanup pinned kegs, which is done in this commit. Also see #831 for further info.
2016-08-31docs: fix a typo in plist_optionsRoss Penman
While using `"true"` instead of `true` wouldn't break anything, it doesn't seem to be expected, and using `"false"` instead of `false` _would_ break things.
2016-08-26Restrict TMPDIR etc. changes to install, post_install and testZhiming Wang
See discussion in Homebrew/brew#800.
2016-08-19separate build and test logsAndrew Janke
2016-08-19separate build and test logsAndrew Janke
2016-08-18Rename bottle's revision to rebuild.Mike McQuaid
2016-08-18Use epochs in tabsVlad Shablinsky
2016-08-18formula: add epochVlad Shablinsky
2016-08-06Cache outdated_versions for FormulaVlad Shablinsky
Closes #584. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-08-06formula: detect outdated HEAD in outdated_versionsVlad Shablinsky
2016-08-06formula: don't return outdated head in installed_prefixVlad Shablinsky
2016-08-06formula: add new HEAD methodsVlad Shablinsky
* add `latest_head_version` to return latest HEAD version installed * add `latest_head_prefix` to return Pathname with latest HEAD version * add `head_version_outdated?` to check if HEAD version is up-to-date
2016-08-05various: eliminate the usage of `any?` (#638)Xu Cheng
`any?` is not the opposite of `empty?`. Besides the case that `[false, nil].any?` will return false, `any?`(O(n)) has much worse performance than `empty?`(O(1)).
2016-07-18remove unnecessary build options manipulation for test and postinstallXu Cheng
We already loaded build options in ARGV.resolved_formulae for test and postinstall