aboutsummaryrefslogtreecommitdiffstats
path: root/Library
AgeCommit message (Collapse)Author
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 Homebrew/homebrew#16350. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-23Check ownership of logs folderAdam Vandenberg
Closes Homebrew/homebrew#16607.
2013-01-23brew search looks in samueljohn/python, too.Samuel John
Closes Homebrew/homebrew#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 Homebrew/homebrew#16457.
2013-01-23superenv: allow -W[alp], style arguments to pass throughJack Nagel
We already (correctly) allow -Wl, style linker arguments to pass through; extend this to -Wp, (preprocessor) and -Wa, (assembler). Fixes Homebrew/homebrew#17252.
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 Homebrew/homebrew#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 Homebrew/homebrew#16598.
2013-01-19Document HOMEBREW_NO_EMOJI in manpageMisty De Meo
2013-01-19Allow hiding Homebrew emoji with an env var.Randy Thiemann
Closes Homebrew/homebrew#17085. Closes Homebrew/homebrew#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 Homebrew/homebrew#14399. Closes Homebrew/homebrew#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
2013-01-14options: sort options consistentlyJack Nagel
2013-01-14info: sort conflicts consistentlyJack Nagel
2013-01-14Restore keg-only caveatsJack Nagel
Fixes Homebrew/homebrew#16989.
2013-01-14Fix uses cmdChad Catlett
Fixes Homebrew/homebrew#17074. Closes Homebrew/homebrew#17075. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-13Split up dependency test coverageJack Nagel
The DependencyCollector tests are really integration tests, while the rest are closer to real unit tests. Split them up so that the tests can be run in isolation on a per-class basis.
2013-01-13Remove <=> from Dependency interfaceJack Nagel
It is important that dep equality corresponds to the name attribute, but we may want to use the Comparable interface to sort them by installation order in the future. Code that needs to sort them alphabetically should just use sort_by.
2013-01-13Add tex requirementXiyue Deng
* Detect `latex' and `bibtex' commands. * Recommend installing MacTeX when no LaTeX installation is found. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-13Only mark install as attempted if it was actually attemptedJack Nagel
Commit 30a08f5cc707 ("Don't attempt installation multiple times") was correct in raising FormulaInstallationAlreadyAttemptedError early enough to prevent the other exceptions in #check_install_sanity from being raised, but it should not have moved the point at which formulae are added to the attempted set. Doing so prevents the installer from being instantiated multiple times on the same formula, even if installation was never attempted. Put it back where it belongs.
2013-01-12Beef up deps testsJack Nagel
2013-01-12Define HOMEBREW_LIBRARY for testsJack Nagel
2013-01-11Give a fresh 🍺 after hard work of brew installSamuel John
- Name of the brewed formula in "Summary" heading. - At the beginning of the summary line a 🍺 is given out (but only on Lion or above). This acts as a nice visual marker for the end of a brew-ing process. - When brewing a dependency, the name is highlighted in green. - `oh1` is bold, too (like ohai). Closes Homebrew/homebrew#16020. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-10Don't attempt installation multiple timesJack Nagel
When a dependency of a formula specified on the command-line is also specified, *after* the dependent formula, installation proceeds as part of the dependent's dependency tree and then is attempted again because the user asked for it explicitly. This results in the installer raising a CannotInstallFormulaError because it has already been installed. For example: $ brew install graphviz pkg-config ==> Installing graphviz dependency: pkg-config ... ==> Installing graphviz ... Error: pkg-config-0.27.1 already installed We already have a mechanism for dealing with this, but it does not kick in early enough. Move the installation attempt check into FormulaInstaller#check_install_sanity and catch the exception in the appropriate places. Fixes Homebrew/homebrew#16957.
2013-01-10Make MPIRequirement satisfied on Xcode-only MacsSamuel John
Closes Homebrew/homebrew#16409. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-01-10Restore ARGV even if an exception is raisedJack Nagel
2013-01-09More robust way to avoid attempting to marshal ProcsJack Nagel
2013-01-09Don't store test Proc if we might need to marshall the formulaJack Nagel
Procs cannot be marshalled, but formula objects may be as part of the BuildError exception. If the formula object has a reference to a Proc, this will fail. Work around it by not storing the test Procs during installations.
2013-01-09Define Symbol#to_proc for Ruby 1.8.6Jack Nagel
Ruby 1.8.6 doesn't have Symbol#to_proc, which allows things like map(&:to_s) rather than map { |o| o.to_s }. 1.8.7 does, though, and since it is used in a bunch of the superenv code we should attempt to keep it compatible with 1.8.6. Closes Homebrew/homebrew#16046.
2013-01-09doctor: use -V for python versionMisty De Meo
`python --version` doesn't work in some (very) old versions of python. While I doubt this is going to come up very often, it's theoretically possible someone has an old python first in their path. (python -V works on all versions I'm aware of, including python3, and comes before --version in the --help anyway.) Also skips the warning in case the regexp matches nothing, which probably shouldn't happen. But if it does we shouldn't produce the wrong warning.
2013-01-09Set userpaths before processing requirement ENV modificationsJack Nagel