aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_installer.rb
AgeCommit message (Collapse)Author
2016-12-10formula_installer: remove dependency_installer.Mike McQuaid
This is no longer needed as the reason it was added (argument sanitisation) is now done properly. Also, remove `skip_deps_check?` in favour of `ignore_deps?` as it too is no longer needed.
2016-12-10Merge pull request #1647 from MikeMcQuaid/fix-dependency-option-handlingMike McQuaid
Fix dependency option handling.
2016-12-10Merge pull request #1642 from MikeMcQuaid/always-output-optionsMike McQuaid
reinstall/upgrade/install: always output options.
2016-12-10Fix dependency option handling.Mike McQuaid
- formula_installer: only recompute dependencies when necessary i.e. when a bottle pour fails. - formula_installer: re-add accidentally remove dependency options - dependency: missing options are only those that actually exist on a formula
2016-12-10reinstall/upgrade/install: always output options.Mike McQuaid
This is both easier for debugging and to communicate with users what is being done.
2016-12-09formulary: remap deprecated options from keg.Mike McQuaid
When reading a building a formula from a keg (rather than e.g. from name) then the deprecation options were not remapped correctly as they are only done in `Tab.for_formula` and not `Tab.for_keg`. Ensure that after we’ve created the formula that the `used_options` are remapped correctly.
2016-11-20install: print nothing if `@requirement_messages` is a String or nilKaito Udagawa
2016-11-19install: suppress redundunt warnings with `depends_on` requirementKaito Udagawa
When a formula depends on any requirements, they evaluated at most three times: before locking, before installing dependent, before building formula. When a non-fatal requirement is specified and thus evaluated three times, mostly the same warning message is also emitted three times. This change restricts printing the warning messages only when a bottle is successfully installed or before building. Since this timing is after the final dependency computation for each cases, the warnings will be most useful to check what is not yet satisfied.
2016-11-13No if/unless-modifier on multiline blocks.Markus Reiter
2016-11-13Merge pull request #1217 from MatzFan/invalid_build_option_warningsMike McQuaid
Invalid build option warnings - supersedes #1088
2016-11-12Filter formula build options based on those that exist.Mike McQuaid
If `--with-foo` is provided to a formula through a tab or through another formula depending on it and this option does not exist it should be filtered. If it is not (the prior behaviour) then this can prevent bottles being used unnecessarily. Fixes #1399.
2016-11-12@MikeMcQuaid requested changesBruce Steedman
2016-10-25formula_installer: fix regression in #1253Josh Hagins
Apparently `cellar :any_skip_relocation` doesn't actually mean we can skip relocation, at least for text files.
2016-10-24keg_relocate: refactor relocate_text_filesJosh Hagins
Replace relocate_text_files with three methods that clarify intent: replace_locations_with_placeholders, replace_placeholders_with_locations and replace_text_in_files, the first two calling the third.
2016-10-24keg_relocate: cache files rewritten during brew bottleJosh Hagins
`brew bottle` replaces instances of the Homebrew prefix, cellar, and repository with placeholders in all text files. Cache these files in INSTALL_RECEIPT.json so that we don't have to check every single text file for placeholders on install.
2016-10-17install: prune build-only deps of depsAndrew Janke
This avoids needlessly installing build-time dependencies of dependencies which are not themselves being built from source.
2016-10-12formula_installer: Remove obsolete hard dependency on cctools.William Woodruff
ruby-macho now performs all relocations in Homebrew. Additionally, delete the defunct CctoolsRequirement.
2016-10-03invalid build options - fixed conflicts; renameBruce Steedman
2016-10-01Add `Formatter` module.Markus Reiter
2016-10-01Merge pull request #1052 from sjackman/store-formulaMike McQuaid
Store the formula used to build the keg in the keg
2016-09-24Fix Style/GuardClause.Markus Reiter
2016-09-23Store the formula used to build the keg in the kegShaun Jackman
Store the formula used to build the keg inside the keg in a file named NAME/VERSION/.brew/NAME.rb after removing the bottle do ... end block. See https://github.com/Homebrew/brew-evolution/pull/6. Closes https://github.com/Homebrew/brew/issues/931.
2016-09-23Fix Style/IfUnlessModifier.Markus Reiter
2016-09-23Fix Style/MethodName.Markus Reiter
2016-09-23Fix DoubleNegation.Markus Reiter
2016-09-18Relocate HOMEBREW_REPOSITORY when necessary.Mike McQuaid
Now that the default from the installer, our CI and soon all users is `/usr/local/Homebrew` it's a lot easier to check if there's references to it (as we cannot look for `/usr/local` as it's a too commonly hardcoded path).
2016-09-17rubocop --auto-correct all hash-rocket usage.Mike McQuaid
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-13Make scons use stdenv only if immediate build depAlex Wang
formula_installer will use stdenv if scons is anywhere in the formula's recursive dependency list: https://github.com/Homebrew/legacy-homebrew/issues/40401#issuecomment-110066355 Having scons as a dependency should only require stdenv if it is an immediate build dependency, as otherwise scons shouldn't be invoked.
2016-09-09Merge pull request #863 from penman/preserve_aliasMike McQuaid
Save aliases in INSTALL_RECEIPT
2016-09-07formula_installer: don't allow pinned dependenciesVlad Shablinsky
Prompt user to unpin pinned dependencies of the formula
2016-09-05Formula#specified_pathAlyssa Ross
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_installer: install deps of dep before depilovezfs
Dependencies/requirements of a dependency need to be installed/satisfied before the dependency. The fact that @pour_failed may be false is irrelevant to that imperative if we weren't pouring to begin with, so this commit now checks for that case as well.
2016-08-19separate build and test logsAndrew Janke
2016-08-15formula_installer: use Sandbox.formula? method.Mike McQuaid
2016-08-12install_dependencies: Do not truncate dependenciesShaun Jackman
See Homebrew/legacy-homebrew#48449
2016-08-09formula_installer: report --HEAD/--devel usage.Mike McQuaid
2016-08-09formula_installer: tweak dependent requirements.Mike McQuaid
If a requirement is for a dependent that's already installed and that dependency is not using a `default_formula` (which would have already been converted from a `Requirement` to `Dependency` at this stage) then we want to stop it killing the build.
2016-08-09formula_installer: prevent MaximumMacOSRequirement leakageDominyk Tiller
Read the discussion in https://github.com/Homebrew/homebrew-core/pull/3703. If you have a better idea, please file a competing PR. I'm sick to death of discussion. Closes #662. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-08-08formula_installer: better handle missing conflict.Mike McQuaid
Doesn't feel like a good reason to abort installation for users if the formula author has specified a conflict that doesn't exist. Instead, behave more like the `TapFormulaUnavailableError` but print a message telling people to report to the formula authors. Closes https://github.com/Homebrew/homebrew-versions/issues/1327
2016-07-29Add missing development_tools requires.Mike McQuaid
2016-07-21FormulaInstaller#sanitized_ARGV_options: fix regexXu Cheng
This fixes a regression caused by 2e961dc9dee63f641f7f162fd7a2845c5fd092fe, where a misplaced `+` cause the regex only catch one character. Fixes https://github.com/Homebrew/homebrew-science/issues/3847.
2016-07-16Use HeadVersion for install/reinstallVlad Shablinsky
2016-07-09keg_relocate: port to generic OS. (#453)Mike McQuaid
2016-07-09emoji: extract logic into generic OS classes. (#450)Mike McQuaid
2016-07-07Use GitRepositoryExtension for HOMEBREW_REPOSITORYMartin Afanasjew
2016-07-06development_tools: add installed? method. (#455)Mike McQuaid
2016-06-02formula_installer: accumulate inherited optionsilovezfs
When a given dependency appears multiple times in a formula's dependency tree, the inherited options for that dependency should accumulate rather than being overwritten each time that dependency is considered by expand_dependencies. In particular, this impacts "universal" since the dependency should be built with universal unless all of its instances in the dependency tree don't have "universal" as opposed to only if the last instance considered has "universal." Closes Homebrew/homebrew-core#1604. Closes #308. Signed-off-by: ilovezfs <ilovezfs@icloud.com>