aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/dependency.rb
AgeCommit message (Collapse)Author
2013-06-08Use actual class of dep when recreating merged depsJack Nagel
Refs #19182.
2013-06-08Merge repeated deps with differing optionsJack Nagel
When expanding dependencies, repeated deps are treated as equal and all but the first are discarded when #uniq is called on the resulting array. However, they may have different sets of options attached, so we cannot assume they are the same. After the initial expansion, we group them by name and then create a new Dependency object for each name, merging the options from each group. Fixes #20335.
2013-06-07Add Dependency#inspectJack Nagel
2013-06-03Allow explicit conversion of requirements to depsJack Nagel
Fixes #19857.
2013-06-03Python 2.x and 3.x supportSamuel John
New `depends_on :python` Dependency. New `depends_on :python3` Dependency. To avoid having multiple formulae with endings -py2 and -py3, we will handle support for different pythons (2.x vs. 3.x) in the same formula. Further brewed vs. external python will be transparently supported. The formula also gets a new object `python`, which is false if no Python is available or the user has disabled it. Otherwise it is defined and provides several support methods: python.site_packages # the site-packages in the formula's Cellar python.global_site_packages python.binary # the full path to the python binary python.prefix python.version python.version.major python.version.minor python.xy # => e.g. "python2.7" python.incdir # includes of python python.libdir # the python dylib library python.pkg_config_path # used internally by brew python.from_osx? python.framework? python.universal? python.pypy? python.standard_caveats # Text to set PYTHONPATH for python.from_osx? python.if3then3 # => "" for 2.x and to "3" for 3.x. Further, to avoid code duplication, `python` takes an optional block that is run twice if the formula defines depends_on :python AND :python3. python do system python, 'setup.py', "--prefix=#{prefix}" end Read more in the Homebrew wiki.
2013-05-25Dependency: use instanceof? in eql?Jack Nagel
This matches the eql? definition for requirements.
2013-05-10Refactor Dependency.expandJack Nagel
2013-05-06Reduce allocations in dependency constructionJack Nagel
By always passing around a single, unnested array rather than splatting and then defensively flattening and compacting things, we can avoid allocating a bunch of unnecessary arrays. This gives a performance boost of roughly 4% when enumerating 2500 formulae, and has the side effect of cleaning up the dependency API.
2013-01-31Update documentation for Dependency.expandJack Nagel
2013-01-27Extract unsatisfied dependency logic from installerJack Nagel
2013-01-26Split dependency classes into separate filesJack Nagel