5180 Commits

Author SHA1 Message Date
Misty De Meo
a43f450544 Clarify keg-only caveats 2014-08-12 17:28:49 -07:00
Jack Nagel
f40650ecd0 Set the remote config manually
See 5cd6b35 and 8eefd4e.
2014-08-12 01:46:12 -05:00
Jack Nagel
15162911e3 Deep copies of the build object are no longer needed 2014-08-11 17:48:30 -05:00
Jack Nagel
b7b8b88cea Replace the build object rather than mutate it 2014-08-11 17:48:30 -05:00
Jack Nagel
0b468c528c Allow build to be set externally 2014-08-11 17:48:30 -05:00
Mike McQuaid
1455d83dd8 formula_installer: check for recommended/optional.
build.without? seemingly always returns true for requirements that are
neither recommended nor optional so check these before deciding not to
install a default formula.

Closes Homebrew/homebrew#31511.
2014-08-11 20:18:15 +01:00
Mike McQuaid
4790d4cba9 formula_installer: default_formula using build.
Use the build options instead of whether the requirement is optional to
work out if it is needed. This handles the case of an optional
requirement becoming needed because it's a dependency for another
formula.

Closes Homebrew/homebrew#31476.
2014-08-11 15:33:35 +01:00
Jack Nagel
045a02aa74 Use public api when adding legacy options 2014-08-10 23:17:53 -05:00
Jack Nagel
161778f0f4 Stop exposing defined options from the build object 2014-08-10 22:55:28 -05:00
Jack Nagel
8beb85a7fc options.each only yields one argument to the block 2014-08-10 22:24:56 -05:00
Jack Nagel
2f1d40a764 Disconnect defined options from the build object 2014-08-10 21:45:24 -05:00
Jack Nagel
8fc4bba03a Remove user-defined options method after evaluation
Now we can use the superclass options method for our own purposes.
2014-08-10 21:45:23 -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
f306e56d21 Add a test for legacy options 2014-08-10 16:47:34 -05:00
Mike McQuaid
064aff2591 Revert "formula_installer: fix reqs default formulae."
This reverts commit 435092ae0521e79d8ea21c8d4708031e3b4b17a3.
2014-08-10 16:41:30 +01:00
Tomasz Pajor
03cf38c451 formula_installer: fix reqs default formulae.
(Commit message written by Mike McQuaid)

With the change in a0a93f1b3b7b2be9b8a319be91086ffe220f8e32
unfortunately requirements with default formulae no longer could be
resolved when the default formulae were not installed. This commit
fixes this problem.

Closes Homebrew/homebrew#31476.
Closes Homebrew/homebrew#31444.
Closes Homebrew/homebrew#30901.
Closes Homebrew/homebrew#31471.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-08-10 15:26:13 +01:00
Jack Nagel
11470e2a1a Don't compare versions against floating point numbers 2014-08-09 22:01:28 -05:00
Jack Nagel
04056284ba Realign case statement 2014-08-09 22:01:28 -05:00
Jack Nagel
62c6b281c9 Update unreleased version check 2014-08-09 22:01:28 -05:00
Dominyk Tiller
97af5a29f7 Initial Yosemite Support
Closes Homebrew/homebrew#31435.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-08-09 21:57:04 -05:00
Jack Nagel
2a5218dacc Remove unnecessary lasgn 2014-08-09 17:50:55 -05:00
Jack Nagel
47a82b036e Move tab creation outside of the debug loop 2014-08-09 17:50:53 -05:00
Jack Nagel
105db77fc0 Extract build-time stdlib check to a method 2014-08-09 17:50:52 -05:00
Jack Nagel
f743351c60 Cache options hash lookup on the stack 2014-08-09 17:38:45 -05:00
Jack Nagel
ca3c727267 Stop exposing combined options from the tab 2014-08-09 16:27:57 -05:00
Jack Nagel
e0f86a1a86 Pull effective arch detection into a method 2014-08-09 14:57:09 -05:00
Jack Nagel
f0b75b2869 Stop duping options when duping the build object
The options collection cannot be mutated from the build object, so it
can be shared among copies safely.
2014-08-09 10:30:43 -05:00
Jack Nagel
618bb9b413 Better assertions in tab test 2014-08-08 23:31:58 -05:00
Misty De Meo
2c9ad45784 doctor: retire Mono warning
We haven't actually had any complaints about this in awhile; it appears
that cmake no longer picks up this specific framework.

Refs Homebrew/homebrew#11030.
2014-08-08 20:17:25 -07:00
Jack Nagel
a6bf5fa2ba Read from the error pipe in a separate thread
If the build process tries to write more bytes than will fit in the pipe
buffer, it will block until the parent process does a read. However, the
parent process will only do a read after the child process has exited or
died, leading to a deadlock. Fix this by doing the read in a separate
thread.
2014-08-08 17:31:13 -05:00
Jack Nagel
dfe1de7acd Delegate homepage to the class instead of storing it on the instance 2014-08-08 10:53:00 -05:00
Jack Nagel
392407c5f1 Default description to the empty string in top-level option DSL 2014-08-08 01:34:45 -05:00
Jack Nagel
af804f7475 Remove another unnecessary default argument 2014-08-08 01:34:45 -05:00
Jack Nagel
472a2cec1e Avoid using setters in tab tests 2014-08-07 17:39:55 -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
8039107afb Default to the empty string instead of nil 2014-08-07 00:48:13 -05:00
Jack Nagel
6718bc554f Spell out the empty string instead of calling to_s on nil 2014-08-07 00:48:13 -05:00
Jack Nagel
22d1f6516f Remove a defensive to_s call
This method is only used internally and we always pass strings.
2014-08-07 00:48:13 -05:00
Jack Nagel
dc9872eb83 Remove default argument
This method is called in two places, always with two arguments.
2014-08-07 00:48:13 -05:00
Jack Nagel
acc1c35f35 Raise ArgumentError for argument errors 2014-08-07 00:48:13 -05:00
Jack Nagel
20452f3edc Add more test coverage for option descriptions 2014-08-07 00:48:13 -05:00
Jack Nagel
e34a497b3e Prefer interpolation 2014-08-07 00:11:14 -05:00
Jack Nagel
fa88b9697c Add a test for cxx11 option special case 2014-08-07 00:03:32 -05:00
Jack Nagel
9f6bd0798f Use opt_bin 2014-08-06 20:52:36 -05:00
Jack Nagel
1eecf1ac0b Don't use Hash#first
Fixes Homebrew/homebrew#31360.
2014-08-06 09:56:09 -05:00
Federico Bond
22a98624d2 utils: use the $stderr global variable.
For easier capturing.

Closes Homebrew/homebrew#31303.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-08-04 13:17:10 +01:00
Jack Nagel
f1cf62a4b5 Add predicate methods to Tab to match BuildOptions 2014-08-03 18:17:49 -05:00
Jack Nagel
cf3c12dd5b Add inspect to CxxStdlib 2014-08-03 15:28:51 -05:00
Jack Nagel
9aac71045c Add inspect to CompilerFailure 2014-08-03 15:28:51 -05:00