aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
AgeCommit message (Collapse)Author
2013-01-26FormulaInstaller: skip build-time deps for bottlesJack Nagel
2013-01-26FormulaInstaller: factor out dependency installationJack Nagel
2013-01-26FormulaInstaller: factor out requirement checkingJack Nagel
2013-01-26Dependency#to_formula and associated helpersJack Nagel
2013-01-26Formula#recursive_dependenciesJack Nagel
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.
2013-01-26Tab#with? to mirror BuildOptions#with?Jack Nagel
Eventually a common interface could be factored out into a module, but for now this will suffice.
2013-01-26Tests for BuildOptionsJack Nagel
2013-01-26Move BuildOptions to a separate fileJack Nagel
2013-01-26Refactor option handling internalsJack Nagel
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").
2013-01-26BuildOptions: check has_option? for universal and 32-bitJack Nagel
2013-01-26BuildOptions: simplify setting descriptionJack Nagel
2013-01-26Options can be dumped as JSONJack Nagel
2013-01-26Options can be used interchangeably with StringsJack Nagel
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.
2013-01-26Move option comparison into BuildOptionsJack Nagel
2013-01-26Clean up Tab creationJack Nagel
2013-01-26Allow depending on requirement class or instance.Mike McQuaid
2013-01-26brew-cleanup: don't whine about permission denied.Mike McQuaid
Closes #14359.
2013-01-26Add tmux warning for launchctl caveats.Mike McQuaid
References #13951.
2013-01-26We use formulae as the plural of formula.Mike McQuaid
2013-01-26brew-test: use SHA-1 in all testballs.Mike McQuaid
2013-01-26brew-fetch: remove MD5 output.Mike McQuaid
2013-01-24superenv: Allow ENV.m32 (for 32bit builds)Samuel John
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 #16350. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-23Check ownership of logs folderAdam Vandenberg
Closes #16607.
2013-01-23brew search looks in samueljohn/python, too.Samuel John
Closes #17267. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-23Add Homebrew-completions to searchAdam Vandenberg
2013-01-23CurlApacheMirrorDownloadStrategy: fetch mirrors in JSON formatJack Nagel
Closes #16457.
2013-01-22Infer path to be added for requirements that search PATHJack Nagel
When a requirement is specified like: satisfy { which "foo" } There is no reason that we should inject all of ENV.userpaths! into the build environment. Instead, infer the directory to be added to PATH from the Pathname that is returned. This is another step towards condensing the "which program" requirements down into a one-liner DSL element.
2013-01-22requirements: enable userpaths by default during evaluationJack Nagel
2013-01-22Add tests for ARGV.filter_for_dependenciesJack Nagel
2013-01-22Add tests for ENV.with_build_environmentJack Nagel
2013-01-21Use new requirement syntaxJack Nagel
2013-01-21Allow satisfied? to be specified in a blockJack Nagel
Instead of overriding #satisfied?, Requirement subclasses can specify the condition in a block: satisfy do some_condition? end The contents of the block are evaluated in the context of the instance, and so have access to instance variables and instance methods as before. Additionally, it is wrapped in an ENV.with_build_environment block. This can be disabled by passing :build_env => false to satisfy: satisfy :build_env => false do some_condition? end
2013-01-21Block-style env DSL examplesJack Nagel
2013-01-21Object#instance_exec for Ruby 1.8.6Jack Nagel
Not thread safe! But I don't think we care. We want to evaluate the env DSL block in the context of ENV for asthetic reasons, but we also want access to methods on the requirement instance. We can use #instance_exec to pass the requirement itself into the block: class Foo < Requirement env do |req| append 'PATH', req.some_path end def some_path which 'something' end end Also add a simplified version of Object#instance_exec for Ruby 1.8.6.
2013-01-21Allow env DSL to take a blockJack Nagel
In addition to env :userpaths env :std requirements can now do env do append 'PATH', '/some/path/to/bin' # and more end
2013-01-21ENV.with_build_environmentJack Nagel
2013-01-21build: reorganize #install for readabilityJack Nagel
2013-01-21tests: add mocha mocking libraryJack Nagel
2013-01-21brew upgrade: improve exit codes.Matt Di Pasquale
exit 1 if formulae given but none outdated Closes #17199. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-20superenv: favor /opt/X11 over /usr/X11 when both existJack Nagel
This is the order of precedence used elsewhere in Homebrew when detecting X11 versions and prefixes. Fixes #16598.
2013-01-19Allow hiding Homebrew emoji with an env var.Randy Thiemann
Closes #17085. Closes #17086. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-17Fix JSON smoke testJack Nagel
- Simplify encoding example because hashes are unordered. - Fix broken require
2013-01-17doctor: loosen git origin regexpJack Nagel
If the repository is set up by `brew update`, the remote URL is https://github.com/mxcl/homebrew.git, but if it is set up by the install script, the .git suffix is omitted.
2013-01-17Update multi_json to 1.5.0Jack Nagel
This contains updates to the OkJson library that allow objects to define to_json for serialization, and this will be used in the upcoming options and deps work.
2013-01-17Make Formula#installed? more idiomaticJack Nagel
2013-01-17Doctor check for originSimon Sigurdhsson
Added checks on doctor.rb for: * Missing git origin * git origin not pointing at mxcl/homebrew Tests use `git config --get remote.origin.url`. Also added printout of origin to --config.rb. Fixes #14399. Closes #17117. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-01-15Tests for Requirement DSLJack Nagel
2013-01-15Tests for BuildEnvironmentJack Nagel
2013-01-15version: mark some methods as protectedJack Nagel
2013-01-14fix grammarAdam Vandenberg