4448 Commits

Author SHA1 Message Date
Jack Nagel
5468733e63 MercurialDownloadStrategy: pull quietly in non-verbose mode 2013-09-28 17:09:05 -05:00
Jack Nagel
7deb2f85e8 MercurialDownloadStrategy: handle corrupt checkouts 2013-09-28 17:08:48 -05:00
Jack Nagel
c5289f2503 Infer dependencies from download strategies and URLs
Closes Homebrew/homebrew#20849.
Closes Homebrew/homebrew#22871.
2013-09-28 16:37:05 -05:00
Jack Nagel
a2c949bfb7 Allow Dependency objects to be marshaled
When an exception is raised in the build process, it is marshaled and
sent to the main process over a pipe. The marshaled exception has
a reference to the formula, so the formula and all objects it references
are marshaled as well.

Previously this did not include dependencies, as they were stored only
on the class and not referenced by an instance variable. However, now
they are stored on SoftwareSpec instances, to which the formula *does*
have a direct reference, so they must be marshalable.
2013-09-27 23:36:57 -05:00
Misty De Meo
29d204c697 Adjust CompilerSelectionError message 2013-09-27 20:33:15 -07:00
Jack Nagel
cb32f76f27 SoftwareSpec: remove dead code 2013-09-27 21:29:37 -05:00
Mike McQuaid
5c973bad74 pod2man: add ENV wrapper.
Closes Homebrew/homebrew#22528.
2013-09-27 21:35:03 +01:00
Mike McQuaid
72d1310636 brew-pull/test-bot: use stricter formula match. 2013-09-27 17:55:00 +01:00
Mike McQuaid
e4b6fc5ae0 Bottle: set version from stable spec. 2013-09-27 09:22:15 +01:00
Nikolaus Wittenstein
f17289f708 upgrade.rb: Fix plural_s when number = 0
Currently Upgrade prints out:
"Upgrading 0 outdated package, with result:"

This change makes it print:
"Upgrading 0 outdated packages, with result:"
correctly pluralizing "packages".

Closes Homebrew/homebrew#22854.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-09-26 22:54:51 -07:00
Jack Nagel
d1ce5bafc9 Raise when given an invalid download strategy spec
When DownloadStrategyDetector.detect is given a second argument, and
that argument is not a symbol or an AbstractDownloadStrategy subclass,
it is silently ignored, and we fall back to guessing the strategy based
on the URL.

This means I can do

  url 'http://foo.com/bar.tar.gz', :using => Class.new

and things will appear to work, even though I have clearly passed an
invalid value for :using.

A more useful behavior is to raise an exception for unknown strategy
specifications.
2013-09-26 17:00:00 -05:00
Jack Nagel
1fb9f85c5f Simplify setup for local bottle installation
Closes Homebrew/homebrew#22833.
2013-09-26 10:04:45 -05:00
Jack Nagel
e420683a07 Move "Pouring" message to relevant download strategies 2013-09-25 17:41:11 -05:00
Misty De Meo
cd3dc66696 Silence xcrun output in wrapper
Our wrapper always runs the real xcrun at least once, to try to find
the path of the tool being run, but this meant that we were generating
a huge number of error messages on every cc invocaton. Mostly this was
annoying but harmless, but notably it managed to break the compilation
of go.
2013-09-25 09:15:26 -07:00
Raymie Stata
694a9c2eed add S3DownloadStrategy
downloads tarballs from public and private S3 buckets

Closes Homebrew/homebrew#22779.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-09-24 20:43:34 -07:00
Mike McQuaid
8d0c8fd978 update: handle realpath exception. 2013-09-24 23:07:01 +01:00
Mike McQuaid
5e13933557 update: untap/retap formulae before/after pull.
This should fix problems like Homebrew/homebrew#19799 where we pull formulae from taps
into core. I want to get something similar merged ASAP so we can pull
GCC into core (see Homebrew/homebrew#20678).

Closes Homebrew/homebrew#19799.
2013-09-24 23:06:10 +01:00
Jack Nagel
c464c7549f Clean up SoftwareSpec and Resource initializers 2013-09-23 21:39:33 -05:00
Jack Nagel
567f3448c9 Set owner of resources to SoftwareSpec object 2013-09-23 21:39:33 -05:00
Jack Nagel
5d17f6fb97 Set name of SoftwareSpec to owner name 2013-09-23 21:39:32 -05:00
Jack Nagel
7e981fbedc Initialize cached filenames lazily
Closes Homebrew/homebrew#22751.
2013-09-23 21:39:24 -05:00
Mike McQuaid
b20335b314 bottle: add option to force no bottle revision. 2013-09-23 18:23:23 +01:00
Mike McQuaid
fd49e498fa bottle: fix merging .rb files. 2013-09-23 17:30:56 +01:00
Mike McQuaid
3de941f7c8 bottle: fix default Cellar output. 2013-09-23 17:30:55 +01:00
Adam Vandenberg
f218e87e32 don't audit jp sourceforge URLs 2013-09-22 22:06:53 -07:00
Jack Nagel
28c8395f3d Group DSL methods that delegate to the stable spec 2013-09-22 16:04:25 -05:00
Mike McQuaid
134210d9ed bottle: allow writing/committing new bottles. 2013-09-22 16:16:50 +01:00
Mike McQuaid
5d0f868f06 Move bottle.rb logic from test-bot to brew bottle. 2013-09-22 16:16:50 +01:00
Mike McQuaid
b2a983343b bottle: only output relocatable message if >1MB. 2013-09-22 16:01:03 +01:00
Mike McQuaid
fd34bd6b90 bottle: move bottle output to ERB. 2013-09-22 16:01:02 +01:00
Mike McQuaid
5de0b4964a SoftwareSpec: add method for bottle checksums. 2013-09-22 16:01:02 +01:00
Mike McQuaid
19618bddd4 bottle: use versions to access previous bottles. 2013-09-22 16:01:02 +01:00
Mike McQuaid
c883286840 versions: use bottle_filename only if f.bottle. 2013-09-22 16:01:02 +01:00
Mike McQuaid
82eee276e3 versions: add bottle filenames method.
Closes Homebrew/homebrew#22727.
2013-09-22 09:52:05 +01:00
Mike McQuaid
22e47ffa43 versions: add branch support in rev_list. 2013-09-22 09:52:05 +01:00
Mike McQuaid
4702774616 versions: split version_for_sha and use yield. 2013-09-22 09:52:05 +01:00
Jack Nagel
7531dfc219 Allow explicitly requiring universal deps
Previously, instructing Homebrew that all dependencies should be built
universal could be accomplished by redefining BuildOptions#universal? in
the class body:

  def build.universal?
    true
  end

However, the build object is no longer shared by all specs, so this is
insufficient. Instead, a new DSL method, "require_universal_deps", can
be used.

This feature is almost exclusively for wine, which requires universal
deps but does not itself have a universal option, since it is always
built 32-bit.
2013-09-21 19:27:24 -05:00
Jack Nagel
5511a8b3f5 Move dependencies to SoftwareSpec 2013-09-21 19:27:24 -05:00
Jack Nagel
a8d3aca169 Move options to SoftwareSpec 2013-09-21 19:27:24 -05:00
Jack Nagel
2eefba005f Give this condition a more revealing name 2013-09-21 19:27:24 -05:00
Mike McQuaid
36f3617494 bottle: fix --merge with multiple formulae. 2013-09-21 15:18:48 +01:00
Mike McQuaid
5d3d385a65 bottle: improve outputted messages. 2013-09-21 15:18:48 +01:00
Jack Nagel
65fc34cd03 Add tests to ensure ENV.compiler is correct 2013-09-20 22:54:07 -05:00
Jack Nagel
5b7b8fb5da At some point this started working again 2013-09-20 15:52:08 -05:00
Misty De Meo
497ccdc41c ENV: Ensure @compiler is set
If @compiler isn't set/checked by ENV.compiler and the ENV.clang/etc.
methods, ENV.compiler may return unexpected results after fails_with
picks a fallback compiler.

See Homebrew/homebrew#22674.
2013-09-19 23:36:15 -07:00
Adam Vandenberg
bda0a3102f Homebrew 0.9.5
Update version due to recent compiler selection fixes.
0.9.5
2013-09-19 23:10:09 -07:00
Jack Nagel
8c310d85cd More precise output for spec audits 2013-09-19 12:55:13 -05:00
Jack Nagel
a00048468f Audit spec resources 2013-09-19 12:55:13 -05:00
Jack Nagel
f072f40b0d Extract ResourceAuditor from FormulaAuditor 2013-09-19 12:55:12 -05:00
Mike McQuaid
a7e1dbae63 Bottles: use options hash for install_bottle? 2013-09-18 12:36:43 +01:00