11155 Commits

Author SHA1 Message Date
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
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.
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
Mike McQuaid
1390d5cc12 formula_installer: don't duplicate bottle warning.
Closes Homebrew/homebrew#22569.
2013-09-18 12:26:32 +01:00
Jack Nagel
50d2f632d9 Allow partial installation of resources 2013-09-17 21:29:54 -05:00
Jack Nagel
28cb9978ee create: use resource for checksum detection 2013-09-17 21:29:54 -05:00
Jack Nagel
d46f500556 More useful error message for missing checksums 2013-09-17 21:29:54 -05:00
Jack Nagel
e3a3a0c320 Reorganize resource download methods 2013-09-17 21:29:53 -05:00
Jack Nagel
978f0887cb Download strategies take a resource now 2013-09-17 21:29:53 -05:00
Jack Nagel
9c7a18bdcb Make spec-scoped resources override top-level resources 2013-09-17 21:29:53 -05:00
Jack Nagel
b40b46e3f6 Make top-level resources apply to all specs 2013-09-17 21:29:53 -05:00
Jack Nagel
360a099faa Track initialized specs 2013-09-17 21:29:52 -05:00
Jack Nagel
6116450328 Move formula resources to SoftwareSpec 2013-09-17 21:29:52 -05:00
Jack Nagel
df537528c7 Reimplement SoftwareSpec on top of Resource 2013-09-17 21:29:52 -05:00