Jack Nagel
b14851903c
Add a method for retrieving only flags from ARGV
2014-08-29 19:38:32 -05:00
Jack Nagel
7adbb1ccb9
Single character options should not be used in a formula
2014-08-28 23:54:00 -05:00
Jack Nagel
023f02b90a
Make fails_with available in spec blocks
...
Closes Homebrew/homebrew#31706 .
2014-08-19 17:14:02 -05:00
Jack Nagel
268cd143be
Replace Options.coerce with an alternate constructor
2014-08-13 11:09:57 -05:00
Jack Nagel
c5a888fb3a
Always pass an Options instance to the BuildOptions constructor
2014-08-13 11:09:57 -05:00
Mike McQuaid
9f14262d92
Revert "Always pass an Options instance to the BuildOptions constructor"
...
This reverts commit e143bcef259ca76b2124e6e73bd9bdf872418723.
Closes Homebrew/homebrew#31557 .
Closes Homebrew/homebrew#31559 .
Closes Homebrew/homebrew#31561 .
Closes Homebrew/homebrew#31562 .
2014-08-13 08:46:17 +01:00
Mike McQuaid
a61c3615d2
Revert "Replace Options.coerce with an alternate constructor"
...
This reverts commit 8d2ef974a3a87bf4207f71ccb8a7b4776e16a016.
2014-08-13 08:45:06 +01:00
Jack Nagel
25395c6de6
Replace Options.coerce with an alternate constructor
2014-08-12 23:55:28 -05:00
Jack Nagel
ecaf1592a0
Always pass an Options instance to the BuildOptions constructor
2014-08-12 20:09:35 -05:00
Jack Nagel
d122ae8eea
Handle legacy options in the method_added hook
...
We only need to process the legacy options at load time, not each time
the class is instantiated, and only when there is an options method
defined.
2014-08-10 21:45:23 -05:00
Jack Nagel
0c51cf1245
Use predefined options for universal, cxx11, and 32-bit options
...
:universal and :cxx11 are now handled directly, so we don't need to
always convert symbols to strings in this method. Symbols should be
reserved for future use.
2014-08-07 10:45:32 -05:00
Jack Nagel
efd63447d8
Move management of options collection to the spec object
2014-08-07 10:45:32 -05:00
Jack Nagel
acc1c35f35
Raise ArgumentError for argument errors
2014-08-07 00:48:13 -05:00
Jack Nagel
f4ae1c9e1b
Hide the options data structure better
2014-07-31 19:59:09 -05:00
Jack Nagel
abdff27cd7
Make options available on the spec objects
2014-07-31 19:37:39 -05:00
Jack Nagel
bc937f56e7
Rename resource? to resource_defined?
2014-07-30 18:56:37 -05:00
Jack Nagel
a55e196f5f
Simplify internal representation of patches
...
- remove support for IO objects, since we no longer access ::DATA
directly
- since we don't need to support IO objects, use a separate class for
string patches and stop wrapping strings in StringIO ojects
2014-07-29 16:22:06 -05:00
Jack Nagel
c3a5b1152e
Stop exposing the downloader as an attribute
2014-07-22 19:14:30 -05:00
Jack Nagel
d99379bc63
Hide the downloader implementation from the installer
2014-07-22 19:14:30 -05:00
Jack Nagel
6f02314cba
Add a factory method that accepts a formula object
2014-07-18 15:15:12 -05:00
Jack Nagel
49a97c280a
Ask the filename object for the prefix
2014-07-18 15:15:12 -05:00
Jack Nagel
1cc3747094
Move bottle URL construction to the bottle object
2014-07-18 15:15:11 -05:00
Jack Nagel
a87d2108ea
Move bottle filename construction to a class
2014-07-18 15:14:57 -05:00
Jack Nagel
44fcb24606
Spell out "formula" in parameter name
2014-07-17 20:46:39 -05:00
Jack Nagel
33eed80ccc
Rename fetch_bottle_for to fetch_checksum_for
2014-07-16 14:52:18 -05:00
Jack Nagel
68326805ae
Implement []= on BottleCollector
2014-07-15 21:55:14 -05:00
Jack Nagel
33cdff99ba
Make some constant strings into actual constants
...
We only need one copy of each of these strings, not ~7500.
2014-05-27 21:16:15 -05:00
Jack Nagel
7d3215c9f4
Extract tag and checksum selection from DSL method
2014-04-01 16:03:08 -05:00
Jack Nagel
7552669719
Remove now unnecessary branching from bottle DSL methods
2014-04-01 16:03:07 -05:00
Jack Nagel
f1601f6d8a
Stop jumping through hoops to get at the collector object
2014-04-01 16:03:07 -05:00
Jack Nagel
45bdeadd94
Set bottle download strategy directly
...
We know what strategy we want, so going through DownloadStrategyDetector
is wasted work. Now we can remove those patterns from the detector and
have two fewer branches each time through.
2014-03-18 21:28:33 -05:00
Jack Nagel
4e48560701
Detect build-time deps from resource downloads
2014-03-14 23:46:20 -05:00
Jack Nagel
665b14c4a4
Enable new patch implementation with compatibility layer
2014-03-13 21:35:41 -05:00
Jack Nagel
bc6e4a1894
New patch implementation and DSL
...
This commit introduces a new patch implementation that supports
checksums and caching.
Patches are declared in blocks:
patch do
url ...
sha1 ...
end
A strip level of -p1 is assumed. It can be overridden using a symbol
argument:
patch :p0 do
url ...
sha1 ...
end
Patches can be declared in stable, devel, and head blocks. This form is
preferred over using conditionals.
stable do
# ...
patch do
url ...
sha1 ...
end
end
Embedded (__END__) patches are declared like so:
patch :DATA
patch :p0, :DATA
Patches can also be embedded by passing a string. This makes it possible
to provide multiple embedded patches while making only some of them
conditional.
patch :p0, "..."
2014-03-13 21:35:41 -05:00
Jack Nagel
7dcb54a963
Set bottle name so brew fetch --retry
works
2014-03-13 10:01:01 -05:00
Mike McQuaid
35093b7a37
Revert "software_spec: set a name for bottles."
...
This reverts commit 7cdcd13aa08ed91a73837b73dc185ad9147f7130.
2014-03-13 13:13:06 +00:00
Mike McQuaid
5d11b5e7a5
software_spec: set a name for bottles.
...
Avoids errors on `brew fetch --retry` with bottles.
2014-03-13 11:22:33 +00:00
Jack Nagel
32ab18c189
Wrap cellar compatibility check in a method
2014-03-10 14:56:02 -05:00
Jack Nagel
7da459874f
Make bottle implementation more generic
2014-03-10 14:56:02 -05:00
Jack Nagel
7e8c693218
Consolidate bottle defaults and remove a method
2014-03-05 10:24:33 -06:00
Jack Nagel
4928b4e02c
Set owner ivar in SoftwareSpec
2014-02-27 14:50:22 -06:00
Jack Nagel
9d3b9edb4d
Remove download_strategy from SoftwareSpec
2014-02-22 20:17:04 -05:00
Jack Nagel
fb350bad0f
Remove downloader from Formula
2014-02-21 00:41:07 -05:00
Jack Nagel
5e0a8668fb
Silence more warnings
2013-12-09 15:15:53 -06:00
Misty De Meo
a9823bc518
SoftwareSpec: compact array that may contain nil
2013-12-05 23:09:52 -08:00
Misty De Meo
e2af1cbeeb
Use BottleCollector in Bottle SoftwareSpec
2013-12-05 18:24:51 -08:00
Jack Nagel
85f424b270
SoftwareSpec: set resource version when missing
...
Closes Homebrew/homebrew#24695 .
2013-11-26 20:35:28 -06:00
Mike McQuaid
42c9ecd665
Bottle: handle legacy bottle OS tags.
...
Otherwise :mountainlion, :snowleopard in the history for CMake breaks
bottle_filenames from versions for new CMake bottles.
2013-10-28 10:50:02 +00:00
Xiyue Deng
f2132c47bd
C++11 support.
...
* Add options and ENV method to specify building in C++11 mode.
- Set C++ compiler flags to enable C++11 mode.
- To add options to support C++11 mode, a formula can now use
option :cxx11
to provide "--c++11" option, and detect and enable C++11 support in
install method using
ENV.cxx11 if build.cxx11?
Closes Homebrew/homebrew#22453 .
2013-10-26 22:17:04 -07: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