| Age | Commit message (Collapse) | Author |
|
Tell file(1) to follow symlinks using the -L option.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
If set, use "HOMEBREW_EDITOR" when editing a single file, or multiple
files in the same folder.
Note that this setting does not affect `brew edit`, since opening
all of Homebrew at once requires an editor with proper project support.
|
|
"brew --env" will set up a build environment and then dump certain ENV
variables (CC, CXX, LD, CFLAGS, CXXFLAGS, MAKEFLAGS).
If any of CC, CXX, LD are symlinks, now also output the target compiler.
(Typically these will be symlinks from eg /usr/bin/cc to /usr/bin/gcc-4.2).
This is a diagnostic command which may be merged into --config, turned
into an external command, or removed if it doesn't turn out to be useful.
|
|
Homebrew will now use the svn binary pointed to by HOMEBREW_SVN if set,
use a Homebrew-installed svn if present, finally falling back to the
system-provided svn binary.
If a formula (mplayer) requires a newer version of Subversion than what
Leopard provides, it can use the "StrictSubversionDownloadStrategy"
download strategy to warn the user.
These changes also fix an issue with forcing exports not working on a
stock Leopard subversion, but letting the user either specify a specific
binary or install Subversion via Homebrew and pick that up instead.
|
|
|
|
|
|
While it is useful to be able to see the user's path in bug reports, it is
perhaps slightly too intrusive to post this without the user's permission.
A path can have usernames or other project sensitive information, and several
Homebrew users were editing their bug reports to omit this information.
`brew doctor` will still report on the path issues that we typically care
about, so dropping automatic posting of PATH.
|
|
When an "install -d formula" fails, and the user gets dropped into an
interactive shell, set the HOMEBREW_DEBUG_INSTALL env var to the name
for the formula that failed. Also set variable if the user requests an
interactive install in the first place.
Note that this may be different than the formula being installed, since
it may have been a dep that failed.
Also remove todo in utils; users can now look for HOMEBREW_DEBUG_INSTALL
in their prompt command, and adjust their prompts accordingly.
|
|
* Work on commands or dylibs
* Use an extension for the list of arches
|
|
|
|
|
|
This allows more complicated transformations to happen,
such as stripping out part of the variable.
|
|
|
|
|
|
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
* Removed use of String altogether since all use cases
are Arrays currently. YAGNI.
* #max_by would have been more elegant, but this way we
can support 1.8.6.
Signed-off-by: Max Howell <max@methylblue.com>
I made the diff less gratuitous. Don't bloat diffs to meet personal coding style preferences :P
Closes Homebrew/homebrew#896
|
|
|
|
This fix should be fairly tolerant of types.
|
|
I like that String.each is interchangeable with Array.each :)
|
|
|
|
To existing flag value can be specified with "\\1".
To append values to a flag, call with:
s.change_make_var! "THE_FLAG", "\\1 more-flag-values"
The same trick can be used to prepend or surround values as well.
|
|
Removing the spaces around equals for make-style variables makes
the change_make_var! method compatible with shell scripts as well
as makefiles.
|
|
|
|
Fixes Homebrew/homebrew#453.
|
|
Same as Kernel.system, but prints no output.
|
|
|
|
Use inject for concision.
Rename to archs from arch as it returns an array.
|
|
|
|
|
|
|
|
In the FFMPEG formula the revision number is represented as an integer,
this ends up as an argument to Kernel#exec and it doesn't really like
that. The fix is to cast all arguments to a string.
Fixes Homebrew/homebrew#171.
|
|
Rather than showing a backtrace that says "couldn't find command blah". Admittedly it's possible that the error will be something else, but unlikely. And this is neater.
Ideally we'd push the bt through an error pipe like we do with install.rb. And I guess we'll do this eventually.
|
|
|
|
|
|
It just seems to behave strangely with SIGINT. Eg. SIGINT causes tar to exit, but the SIGINT is ignored by our process. This is not the case when used with curl.
|
|
The rationale here is that the --verbose mode had a bug where it didn't escape its parameters properly. Which caused ocassionally cryptic issues.
|
|
|
|
I found yet another instance where the escaping wasn't perfect, so got fed up and just did it in Ruby. I hope this works for all existing usage. It should.
The bonus here is that you can use RegExps now.
|
|
|
|
Changed format of Errors and Warnings slightly.
|
|
The classes better reflect their contents. I'm sure this change may be
contentious, but I am a sucker for trying to create source bases that are easy
to get to grips with and easy to navigate.
brewkit.rb is now a deprecated file.
|
|
|
|
Otherwise you run the risk of not running the exact version / make of the utility you planned.
Fixes Homebrew/homebrew#48
Really we need to do this formula too, so I guess a make and cmake function are on the way…
|
|
The code also makes sure to terminate with a newline, unless the
output is empty.
|
|
This way caveats and other warnings/errors don't appear connected to the Summary text.
|
|
For this to work the "running script" must be the formulae file. Making this
so wasn't so hard, there is now an install.rb script which is included with
the -r flag to the ruby executable. An at_exit handler calls the install
function.
Having the install logic in its own file made it feel like there was so much
space that I added extra error handling. So there is something to be said for
separating functionality out into its own files.
Still the error handling sucks, we'll need to marshall the exception back to
the bin/brew command. Which is another PITA.
Still overall I think this will prove worthwhile. But if it doesn't we'll
revert.
As a first usage, you can put a diff after __END__ and return DATA from
Formula::patches to make Homebrew aware of it.
|
|
Added a utility method to get an array of architecture names for
a given executable.
This will be useful for, say, figuring out what Python was compiled for,
to know what to compile a C-based module as.
Signed Off By: Max Howell <max@methylblue.com>
I added a test and made the function use `which` if the path provided is not
absolute. I considered allowing relative paths, but then it is possible for
the function to take eg. the svn binary from the current directory when you
meant the one in the path, and that could be a confusing bug.
|
|
Brew fails if a tool (make, or whatever) doesn't return an exit code
of 0. This patch displays the non-zero code on failure, so we can
better diagnose what caused the build to fail (or if we need to add
that exit code as exception 'success code'.)
|
|
Fixes Homebrew/homebrew#40
|
|
Seems to be an issue with Ruby system() call doing a double fork.
|