898 Commits

Author SHA1 Message Date
Jack Nagel
ffbe5bf22c Let commands decide what mode the installer should use 2014-03-02 00:21:13 -06:00
Jack Nagel
ea85812c58 Reduce the number of ways options can be passed to the installer 2014-03-02 00:03:08 -06:00
Jack Nagel
a12d3918d4 Remove unnecessary memoization from FormulaInstaller#build_argv 2014-03-01 23:55:21 -06:00
Jack Nagel
40369dbbcd Only propagate universal option if the formula defines it 2014-03-01 18:55:32 -06:00
Jack Nagel
b168361ed0 Automatically install taps for cross-tap dependencies
Closes Homebrew/homebrew#27099.
2014-02-28 16:09:36 -06:00
Jack Nagel
7e76f02824 Don't verify deps when ignoring them 2014-02-28 15:57:55 -06:00
Jack Nagel
369f9b3251 FormulaInstaller: verify dependencies map to formulae before locking 2014-02-28 11:16:55 -06:00
Jack Nagel
793d6de6c3 Pass expansion-time build options to install_dependency 2014-02-27 14:22:43 -06:00
Jack Nagel
97dd879159 Clean up FormulaInstaller#install_dependency 2014-02-27 14:22:42 -06:00
Jack Nagel
e9b687070a Remove requested? dependency magic 2014-02-27 14:22:42 -06:00
Adam Vandenberg
1f86923ec2 ignore skip_clean :all 2014-02-23 15:53:26 -08:00
Adam Vandenberg
9559e162b2 Cleaner: do work in clean instead of constructor 2014-02-23 15:53:25 -08:00
Jack Nagel
19ca1bb601 Access bottle directly in FormulaInstaller 2014-02-21 00:41:07 -05:00
Mike McQuaid
8108ccc374 formula_installer: print bottle failure exception. 2014-02-02 21:29:06 +00:00
Misty De Meo
d885d98164 C++ stdlibs: issue warning, don't fail the build 2014-02-02 11:04:30 -08:00
Misty De Meo
edf474cb63 C++ stdlib check: don't check executables for deps
This avoids some possible false positives, as happens with, e.g., qt4.
2014-02-02 11:04:30 -08:00
Jack Nagel
76a45df325 Note when --only-dependencies is a no-op 2013-12-19 16:43:46 -06:00
Steven Peters
b524943226 install: add --only-dependencies option
The traditional approach to installing the dependencies of a formula is
the following:

  brew install `brew deps formula`

This approach ignores any options that are specified in the parent
formula. This pull request adds a --only-dependencies option to brew
install that installs the dependencies of a formula with optional flags,
but returns before installing the parent formula.

Closes Homebrew/homebrew#25272.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-12-19 16:43:42 -06:00
Jack Nagel
bc3ebd8343 Build install summary in a separate method and print all at once
This prevents interleaved output, e.g. when running with Ruby warnings
turned on.
2013-12-12 15:42:35 -06:00
Jack Nagel
b174012b17 Initialize ivars to silence warnings 2013-12-12 15:42:35 -06:00
Jack Nagel
f579d90458 Expand requirements of default deps added by other requirements
Dependencies built from requirements with a default formula may
themselves have requirements, and these requirements may have default
formulae, which may have more requirements, etc., so we have to keep
expanding until this isn't the case.

Fixes Homebrew/homebrew#25025.
Fixes Homebrew/homebrew#25037.
2013-12-09 14:36:10 -06:00
Jack Nagel
08055e1776 Ensure option names are consistent for default formula requirements 2013-12-09 14:36:10 -06:00
Jack Nagel
901902b53b Compute recursive deps for default_formula deps 2013-12-09 14:36:10 -06:00
Jack Nagel
293bde278a Rename filter_deps to expand_dependencies 2013-12-09 14:36:10 -06:00
Jack Nagel
be5f9545dd Move dependency expansion logic up one level 2013-12-09 14:36:10 -06:00
Jack Nagel
0b9c29a667 Use separate collection for requirement deps 2013-12-09 14:36:10 -06:00
Jack Nagel
961e5a4e13 Run post_install after linking and relocation
Closes Homebrew/homebrew#24962.
2013-12-05 12:48:56 -06:00
Jack Nagel
0daa33668b Run relocation machinery on local bottles
Since we now use placeholders for the prefix and cellar, we need to run
the relocation machinery on all bottles.
2013-12-04 22:37:58 -06:00
Jack Nagel
f2aaa5f0ac Teach installer about prefix and cellar placeholders 2013-12-04 22:37:57 -06:00
Jack Nagel
690474dd3b Extract compute_and_install_dependencies 2013-12-02 12:49:58 -06:00
Jack Nagel
b5f83e60f9 Re-check requirements if a bottle installation fails 2013-12-02 12:49:58 -06:00
Jack Nagel
69dcc2592c Don't mutate deps collection when expanding requirements
Fixes Homebrew/homebrew-science#213.
2013-12-02 12:47:50 -06:00
Jack Nagel
bcfafca56b Always clear unsatisfied_deps after installation 2013-12-02 12:44:28 -06:00
Jack Nagel
24a853ebe5 unsatisfied_deps cannot be nil 2013-12-02 12:44:28 -06:00
Jack Nagel
2b23c163af Rename effective_deps to unsatisfied_deps 2013-12-02 12:44:28 -06:00
Jack Nagel
ae1d00e31f Revert "FormulaInstaller: flush before closing writes."
This reverts commit 5ce8f7a3a494e1d8e812369301fd4c4a05a7d9b7.
2013-11-29 21:05:27 -06:00
Mike McQuaid
3c3bd76528 FormulaInstaller: flush before closing writes.
This seems to help the problem with `brew install -v` sometimes truncating output.

Closes Homebrew/homebrew#24666.
2013-11-26 16:28:27 +00:00
Alexis Hildebrandt
76b69a8eb4 Add HOMEBREW_INSTALL_BADGE environment variable
with which the beer emoji displayed upon successful build
can be changed.

Closes Homebrew/homebrew#23194.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-11-15 07:50:23 -08:00
Todd Persen
8c6c4185b7 Ensure build-time deps are installed when bottle installation fails
Fixes Homebrew/homebrew#22245.
Closes Homebrew/homebrew#24324.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-11-15 09:36:01 -06:00
Adam Vandenberg
fbb7d80a32 grammar 2013-11-14 06:23:05 -08:00
Adam Vandenberg
81bf8a168a audit generic binary names
Binaries with names like 'run' or 'service' are likely to conflict.
Warn about these and suggest a libexec-style install instead.
2013-11-12 07:10:13 -08:00
Mike McQuaid
a28b57d3fb git-etc: remove all code.
I've given up on this; too many edge cases.
If someone else wants to pick it up then send me a message and I'll walk
you through the approach.
2013-10-30 16:15:31 -07:00
Misty De Meo
2775a4b12c Move bottle stdlib tracking post-pour
This allows us to track the actual stdlib in use, and prevents warnings
for bottles with no C++ code.
2013-10-26 21:54:29 -07:00
Misty De Meo
3657393017 Move stdlib tracking postinstall
This moves stdlib tracking after the install completes, which allows
the tracking to have access to the actual stdlib in use.

This unfortunately means that builds can error out *after* a build,
resulting in wasted time; however, it reduces false positives, and the
overall user experience is still likely to be better this way.
2013-10-26 21:54:29 -07:00
Mike McQuaid
3fb38ea69e formula_installer: further fix tab file handling.
Closes Homebrew/homebrew#23477.
2013-10-23 14:02:51 +01:00
Mike McQuaid
71218a29d2 installer: don't try and unlink nil tabfile.
Closes Homebrew/homebrew#23472.
2013-10-23 12:42:20 +01:00
Jack Nagel
c511d7d2f4 Add OS.mac? and OS.linux? 2013-10-18 12:56:51 -05:00
Jack Nagel
ba06e2504c Don't print multiple deps messages when only installing one dep 2013-10-16 15:34:43 -05:00
Mike McQuaid
cf2a8913c5 git_etc: create etc if it doesn't exist. 2013-10-12 10:54:16 +01:00
Misty De Meo
4a9cf0dd14 CxxStdlib: use f.recursive_dependencies in stdlib check 2013-10-10 09:09:53 -07:00