This project is mirrored from https://github.com/Homebrew/brew.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jan 27, 2013
-
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
The array of options that is passed to the spawned build process is a combination of the current ARGV, options passed in by a dependent formula, and an existing install receipt. The objects that are interacting here each expect the resulting collection to have certain properties, and the expectations are not consistent. Clear up this confusing mess by only dealing with Options collections. This keeps our representation of options uniform across the codebase. We can remove BuildOptions dependency on HomebrewArgvExtension, which allows us to pass any Array-like collection to Tab.create. The only other site inside of FormulaInstaller that uses the array is the #exec call, and there it is splatted and thus we can substitute our Options collection there as well.
-
Jack Nagel authored
Formulae can now pass build options to dependencies. The following syntax is supported: depends_on 'foo' => 'with-bar' depends_on 'foo' => ['with-bar', 'with-baz'] If a dependency is already installed but lacks the required build options, an exception is raised. Eventually we may be able to just stash the existing keg and reinstall it with the combined set of used_options and passed options, but enabling that is left for another day.
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
Move Formula.expand_dependencies into the Dependency class, and extend it to allow arbitrary filters to be applied when enumerating deps. When supplied with a block, expand_dependencies will yield a [dependent, dependency] pair for each dependency, allowing callers to filter out dependencies that may not be applicable or useful in a given situation. Deps can be skipped by simple calling Dependency.prune in the block, e.g.: Dependency.expand_dependencies do |f, dep| Dependency.prune if dep.to_formula.installed? end The return value of the method is the filtered list. If no block is supplied, a default filter that omits optional or recommended deps based on what the dependent formula has requested is applied. Formula#recursive_dependencies is now implemented on top of this, allowing FormulaInstaller to exact detailed control over what deps are installed. `brew missing` and `brew upgrade` can learn to use this to apply the installed options set when expanding dependencies. Move Formula.expand_deps and Formula#recursive_deps into compat, because these methods do not respect the new optional and recommended tags and thus should no longer be used.
-
Adam Vandenberg authored
-
Adam Vandenberg authored
Optional deps are not installed by default but generate a corresponding "with-foo" option for the formula. Recommended deps _are_ installed by default, and generate a corresponding "without-foo" option.
-
Adam Vandenberg authored
-
Jack Nagel authored
FormulaInstaller now attempts to take a lock on a "foo.brewing" file for the formula and all of its dependencies before attempting installation. The lock is an advisory lock implemented using flock(), and as such it only locks out other processes that attempt to take the lock. It also means that it is never necessary to manually remove the lock file, because the lock is not enforced by I/O. The uninstall, link, and unlink commands all learn to respect this lock as well, so that the installation cannot be corrupted by a concurrent Homebrew process, and keg operations cannot occur simultaneously.
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
This behaves like recursive_deps, but the resulting list consists of Dependency objects instead of Formula objects. The list maintains the installable order property of recursive_deps. While in the area, add some comments clarifying the purpose of related methods.
-
Jack Nagel authored
Eventually a common interface could be factored out into a module, but for now this will suffice.
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
Currently we handle options in several ways, and it is hard to remember what code needs an option string ("--foo"), what needs only the name ("foo") and what needs an Option object. Now that Option objects can act as strings and be converted to JSON, we can start using them instead of passing around strings between Formula objects, Tab objects, and ARGV-style arrays. The Options class is a special collection that can be queried for the inclusion of options in any form: '--foo', 'foo', or Option.new("foo").
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
-
Jack Nagel authored
We want to be able to use Option objects in place of strings and have this be transparent. Defining to_str means that methods like Kernel#system and Kernel#exec will be able to perform an implicit conversion.
-
Jack Nagel authored
-
Jack Nagel authored
-
- Jan 26, 2013
-
-
Mike McQuaid authored
-
Mike McQuaid authored
Closes Homebrew/homebrew#14359.
-
Mike McQuaid authored
References Homebrew/homebrew#13951.
-
Mike McQuaid authored
-
Mike McQuaid authored
-
Mike McQuaid authored
-
Mike McQuaid authored
-
Mike McQuaid authored
-
Mike McQuaid authored
-
- Jan 25, 2013
-
-
Samuel John authored
Superenv normally filters out "-m32" flag, preventing 32bit builds. Some software, however, still only work in 32bit mode. If ENV.m32 is called, superenv does not filter out the "-m32" flag. Also note, superenv, does not explicitly add the -m32 flag and expects the build system of the software to know when and where to provide this flag. Closes Homebrew/homebrew#16350. Signed-off-by:
Adam Vandenberg <flangy@gmail.com>
-
- Jan 24, 2013
-
-
Adam Vandenberg authored
Closes Homebrew/homebrew#16607.
-
Samuel John authored
Closes Homebrew/homebrew#17267. Signed-off-by:
Adam Vandenberg <flangy@gmail.com>
-
Adam Vandenberg authored
-
Jack Nagel authored
Closes Homebrew/homebrew#16457.
-