| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
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.
|
|
|
|
* lets more text types get picked up
* better filter for `brew list`
|
|
Added doctor check for .curlrc rather than silently ignoring it (#13836).
Closes Homebrew/homebrew#15419.
Signed-off-by: Max Howell <mxcl@me.com>
Removed test in doctor where it actually curl'd a file. It's enough to warn if the curlrc exists. I understand people want to remove the warnings, but the point in the doctor is to help diagnose and not to be some ramification of your UNIX system.
|
|
|
|
Now that we are monkeypatching copy_metadata, we should load our
extension up front for consistency.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
- Avoid ENOTDIR by ensuring that the directories we are checking are
actually directories.
- DRY up the check_PATH method; paths are already available via the
global ORIGINAL_PATHS.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
File.expand_path raises ArgumentError when it is passed a path with a
nonexistent username, e.g.:
$ PATH=~foo/bin:$PATH brew
/usr/local/Library/Homebrew/global.rb:97:in `expand_path': user foo
doesn't exist (ArgumentError)
However, `brew doctor` does its own expansion of PATH entries and
outputs warnings if this happens, so let's just ignore it here and
continue on our way.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Adding MacOS.dev_tools_path to our PATH was slow. We no longer need to do this because of the previous commit making a script wrapper for git and svn. It was slow because the function calls out to lots of slow utilities to determine this path.
|
|
This matches the semantics of other path methods, such as Xcode.prefix.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Closes Homebrew/homebrew#13689.
Signed-off-by: Max Howell <mxcl@me.com>
There are subtle distinctions between writable? and writable_real? we don't
understand precisely why we need this, but it fixes the bugs :/
|
|
0.9.2 includes the formula specs refactoring.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
- Make ORIGINAL_PATHS an array of Pathnames instead of strings
- Append the dev tools path once in global.rb instead of build.rb
Closes Homebrew/homebrew#13075.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Bump the version number due to the Xcode/CLT change.
|
|
Fixes Homebrew/homebrew#12674.
|
|
Allow XCode without the Command Line Tools to
work with homebrew, so it's not necessary
to register an Apple Dev ID and/or go to the
XCode prefs and download the CLT. Yay!
Further, this commit allows to use the CLT
solely (without the need for XCode).
Saves quite some megs.
(Some furmulae require xcodebuild)
Of course XCode together with the CLT is still
fine and has been tested on 10.7 and 10.6
with Xcode 4 and Xcode 3.
Only on Lion or above, tell the user about the options,
which are
- Xcode without CLT
- CLT without Xcode
- both (ok, it's not directly stated, but implicit)
So if no Xcode is found and we are on Lion or above,
we don't fail but check for the CLTs now.
For older Macs, the old message that Xcode is needed
and the installer should be run is still displayed.
If the CLT are not found but Xcode is, then we
print out about the experimental status of this setup.
Closes Homebrew/homebrew#10510.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
|
|
Closes Homebrew/homebrew#11044.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
|
|
I got fed up writing HOMEBREW_REPOSITORY/"Library" and also correcting mistakes when I did HOMEBREW_PREFIX instead.
|
|
We don't penalise existing users; if ~/Library/Caches/Homebrew already exists and is writable, we select that.
This is the correct choice, the cache should be the same directory whichever user is used and whatever instance of brew is invoked.
The Cache directory is set to 0777 this allows any user to write to it and fixes Homebrew/homebrew#10857.
|
|
|
|
|
|
This version number is arbitrary, and only used to differentiate versions
in bug reports.
There have been enough changes to compiler detection since 0.8 that it makes
sense to bump the version here.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Several issues have been caused by conflicts between the options
Homebrew passes to curl and those read from $HOME/.curlrc. Passing '-q'
will force curl to ignore settings in that file.
Suggested in Homebrew/homebrew#9027.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Also tidied error output. Still could be tidied quite a lot but I am still considering how best to go about it.
|
|
|
|
Allow compatibility to be disabled with --no-compat or HOMEBREW_NO_COMPAT environment variable.
|
|
|
|
|
|
Brews installed via URL are now checked from the cache when
other commands are run. This allows for instance:
brew install <vim-url>
brew info vim
|
|
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
|
|
|
|
|
|
|
|
The code was sucking. To the extent that maintenance was hard. It's a lot
easier to work with code that is sensibly split at sensible boundaries. So
now it is more like that.
But the refactor is minimal. Because we don't want you to have more merge
hell than absolutely necessary.
If you merge you will need to pay attention to brew.h.rb (as it is deleted)
and bin/brew (as command logic is gone). It will be painful, but you will just
have to help git out by moving any changes around manually.
Note compatibility.rb. It ensures that any function renames or removals don't
break anything. We're pretty serious about backwards compatibility. And that's
because we encourage you to hack around with the innards. And we couldn't do
that if we would then just make stuff disappear behind your back.
|
|
The Homebrew version number is mainly useful for bug reports. Since it is
included in "brew --config" output, it is an easy way to see roughly how
new the a user's version of Homebrew is.
Bumping the micro version now, in anticipation of some more version-changing
events in the near future.
|
|
|
|
Changes in this version include:
* Aliases are now defined by relative symlinks rather than in the
formulae themselves. Many commands are faster now that they don't
have to read every formula to find aliases.
* "url" now supports the same features as "head", including ":using"
and version specifiers for VCS systems.
* Files and methods marked for deprecation in 0.7 have been removed.
* The Formula DSL now supports "skip_clean :all" and "keg_only 'reason'"
|
|
|