4625 Commits

Author SHA1 Message Date
Mike McQuaid
e2fbfc8390 Add hooks for pouring bottles.
This should give us a bit of control over what e.g. Boxen are doing
whilst at the same time stopping us from accidentally breaking each
other's stuff every so often.

I'm aware this may be somewhat controversial so I'm open to other
approaches.
2014-04-10 15:25:30 +01:00
Jack Nagel
9f3a74096d unlink: prefer "symlinks" since that's how it is reported by link
cf. Homebrew/homebrew#28244.
2014-04-08 13:54:53 -05:00
Jack Nagel
b63fb8d086 GithubGistFormula doesn't need to know the exact signature of initialize 2014-04-07 18:50:42 -05:00
Jack Nagel
af272e04c7 Restore recursive tap search
Fixes Homebrew/homebrew#28234.
2014-04-07 18:44:29 -05:00
Jack Nagel
872f46dc1e Restore documented behavior of brew uses foo bar
`brew uses foo bar` is supposed to return the intersection of formulae
that use foo and bar. However, this was broken by changes made to
support requirements that can coerce to regular dependencies.
2014-04-07 13:07:04 -05:00
Jack Nagel
574fc99258 uses: only check ARGV for recursive flag once 2014-04-07 13:07:04 -05:00
Jack Nagel
a9461dd01b doctor: fix typo
Fixes Homebrew/homebrew#28221.
2014-04-07 10:03:44 -05:00
Jack Nagel
c1366b111f Initialize cxxstdlib set lazily
This is used rarely and only at build-time, so we don't need to create
it when instantiating the formula.
2014-04-06 18:41:27 -05:00
Jack Nagel
da2a2ab748 drop unnecessary nil checks 2014-04-06 16:11:02 -05:00
Jack Nagel
27e3ab781c Clean up test classes 2014-04-06 15:55:25 -05:00
Jack Nagel
90574a6a4b Drop conditional that is always false 2014-04-06 14:01:06 -05:00
Adam Vandenberg
b24ef38bc1 show formula version in failed build output 2014-04-06 12:00:34 -07:00
Jack Nagel
a2a75aca1a Mirror unlink logic when checking for linked keg-only formulae 2014-04-06 13:56:26 -05:00
Jack Nagel
260a351663 Recognize and extract xar files 2014-04-06 12:35:54 -05:00
Lee Hanxue
af4aff8c13 brew audit: show line number for whitespace
Closes Homebrew/homebrew#24481.
Closes Homebrew/homebrew#24490.
2014-04-06 10:30:36 -07:00
Mike McQuaid
edef6508bd pathname: use ln_sf in install_symlink.
Closes Homebrew/homebrew#28136.
2014-04-06 18:12:02 +01:00
Jack Nagel
7541f13164 Extract common decompression code to a method 2014-04-06 11:34:08 -05:00
Jack Nagel
cb5da28b5c Handle untarred bzip2 files
Fixes Homebrew/homebrew#28187.
2014-04-06 11:33:50 -05:00
Jack Nagel
607605dd8f Use a case statement in Pathname#compression_type 2014-04-06 11:18:25 -05:00
Samuel John
93d9f610bb python caveats: use > instead of >>
The `homebrew.pth` should be a file with a single line in it.
Also (at least on zsh) if the file does not exist, `>>` will
result in an error. The `>` works in both, bash and zsh and
creates the file with the `echo`ed contet.

Closes Homebrew/homebrew#28201.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-06 10:35:59 -05:00
Jack Nagel
cfee535786 Remove now unnecessary realpath calls 2014-04-06 00:31:07 -05:00
Jack Nagel
d0831c4ef7 Always resolve one symlink when loading formula files
This means that tapped formula will always have the correct path, and we
can stop calling realpath everywhere.
2014-04-06 00:31:07 -05:00
Jack Nagel
f7f200591c Fall back to open/write when atomic_write fails
Fixes Homebrew/homebrew#28190.
2014-04-06 00:28:15 -05:00
Jack Nagel
d8bdcf84af Remove obsolete guards around canonical_name return value 2014-04-05 22:03:49 -05:00
Jack Nagel
20f4b31763 Implement canonical_name in Formulary 2014-04-05 22:03:49 -05:00
Jack Nagel
e891bb4272 Drop support for passing incomplete paths
`brew install ./foo` treats `./foo` like `./foo.rb`. This requires
a confusing special case in the name resolution logic and doesn't make
a whole lot of sense from a UX perspective.

Drop support for this. The argument should be an absolute path,
a relative path, or a formula name, rather than a hybrid.

cf. https://github.com/Homebrew/homebrew/issues/23430#issuecomment-26776962
2014-04-05 22:03:40 -05:00
Jack Nagel
0d90deac27 Extract alias resolution to a separate loader class 2014-04-05 22:03:40 -05:00
Jack Nagel
caaa32325c Use StandardLoader when we know the path already 2014-04-05 22:03:40 -05:00
Jack Nagel
686ab7ad7f Drop readable? check since we don't do that for any other case 2014-04-05 22:03:40 -05:00
Jack Nagel
757c8ade0b Simplify tap formula loading 2014-04-05 22:03:40 -05:00
Jack Nagel
e008ceb332 Pass path directly to StandardLoader when possible
Now we can avoid computing the path twice in the common case.
2014-04-05 22:03:39 -05:00
Jack Nagel
ca3688e33e Eliminate repeated work in Formulary.factory
Much of the name resolution done in Formula.canonical_name is repeated
Formulary.factory. Here we eliminate the repeated work by duplicating
the code from canonical_name. Later we will refactor it so that both
methods can share the bulk of the logic.
2014-04-05 22:03:39 -05:00
Jack Nagel
9b24903875 Guard against nil in inherited_options hash
Fixes Homebrew/homebrew#28188.
2014-04-05 20:02:07 -05:00
Jack Nagel
aa556177f7 Combine conditional branches that do the same thing 2014-04-05 17:41:37 -05:00
Jack Nagel
2b8f1ca94b FromPathLoader already calls expand_path 2014-04-05 17:41:36 -05:00
Jack Nagel
ce367e711b Prefer File.extname to regexp 2014-04-05 17:41:36 -05:00
Jack Nagel
8c88d48af7 More correct "symlink already exists" check 2014-04-05 12:17:19 -05:00
Jack Nagel
ce1f598e98 Avoid realpath where it is not necessary
Symlinks in opt and LinkedKegs point directly at a keg in the cellar, so
only resolving one symlink should suffice, and make it clear what path
we are actually interested in.
2014-04-05 12:17:19 -05:00
Jack Nagel
a44f725c8b Ignore interrupts while cleaning up 2014-04-05 10:48:54 -05:00
Jack Nagel
309171e4f4 Automatically reinstall up-to-date dependencies that are missing options
Closes Homebrew/homebrew#21223.
2014-04-05 10:48:54 -05:00
Jack Nagel
710db1fb72 Rename outdated_keg to linked_keg 2014-04-05 10:48:54 -05:00
Jack Nagel
e4f41b9b24 Load install receipt before performing any operations on existing kegs 2014-04-05 10:48:54 -05:00
Jack Nagel
1e20d9149b Ensure build deps are installed for deps with inherited options
Fixes Homebrew/homebrew#28144.
2014-04-05 10:44:54 -05:00
Clemens Gruber
dbe06bbbfc Add Xcode 5.1.1 (=Golden master build) clang version
Closes Homebrew/homebrew#28173.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-05 09:41:30 -05:00
Jack Nagel
dc3691eccd Clean up some concatentation inside interpolation 2014-04-04 22:02:48 -05:00
Misty De Meo
89692b34a8 Xcode.prefix: remove osx-gcc-installer hack
This hack is starting to outlive its usefulness, and produces false
positives.

Fixes Homebrew/homebrew#28147.
2014-04-04 15:26:41 -07:00
Jack Nagel
7c3c67d722 Need to still check formula build state for some reason 2014-04-04 10:31:27 -05:00
Jack Nagel
611f1a1b42 Fix universal option inheritance during upgrades 2014-04-04 10:14:24 -05:00
Mike McQuaid
efe7fe77a1 python_dependency: don't block pour when :build. 2014-04-04 11:55:36 +01:00
Jack Nagel
2110aa2379 0644 is not executable 2014-04-04 00:07:28 -05:00