| Age | Commit message (Collapse) | Author |
|
Keg#link would sometimes count a linked file when doing mkpath, even if
the target directory already exists; #unlink would never count it. This
meant that "brew ln" and "brew unlink" counts for the same keg could be
out of sync with each other.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Depending on `open-mpi` or `mpich2` will cause problems since both formulae
install components with the same names. `brew audit` now recommends using
MPIDependency.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
|
|
All versions of OS X prior to Lion shipped with some version of Open-MPI, but
without working compiler wrappers for Fortran. Homebrew currently has two
formulae that can supply this software: open-mpi and mpich2.
This commit adds a `MPIDependency` Requirement that can be passed one of four
values when constructed:
:cc, :cxx, :f90, :f77
This will ensure the `mpi<value>` compiler is available and working. For
example, if `depends_on MPIDependency.new(:cc, :f90)` is used, the Requirement
will search for working `mpicc` and `mpif90` wrappers.
If the required wrappers cannot be found, an error message will be displayed
that prompts the user to install one of the Homebrew formulae that provides
MPI.
For each language passed to a MPIDependency Requirement, environment variables
be will set that point to the compilers.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
|
|
Because of some quirks in how formulae are loaded, DSL methods invoked
in the class definition are called multiple times. This results in, for
example, duplicate dependencies and requirements.
Code that iterates over requirements and takes some action for each can
thus repeat things that shouldn't be repeated, like appending to
environment variables.
Make DependencyCollector's external_deps a Set, and define eql? and hash
on Requirement to prevent these duplicates.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Rather than doing type introspection in build.rb, just define a method
to perform the necessary environment setup for Requirements.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
MacOS.sdk_path is meant to return the SDK path that matches the version
argument, so store the result in a hash.
Fixes Homebrew/homebrew#13623.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Following feedback from @mxcl on bcda0d.
|
|
The fish completion hadn't been updated since 2009; this brings it up
to date. Changes include:
* Create the list of commands the same way as in bash completion
* Add every option for every current command, with descriptions
* Fixes a bug in fish_complete_brew_command
* Allow fish_complete_brew_command to take multiple commands
* Expand functionality of fish_complete_homebrew_formula to support
other commands and taps, and change name to reflect new functionality
Tested on fishfish, but should be compatible with fish.
|
|
Fixes the problems discussed in 34c970 to ensure that `brew doctor`
does not look like it is broken on user setup problems but still
returns a sensible exit code for e.g. BrewBot.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Checking "not clt_version.empty?" is unnecessary if we are also checking
that dev_tools_path is /usr/bin.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Refusing to unlink files from another keg introduced issues when
files changed between formula versions; for instance, this
introduced issues when upgrading from gtk+ 2.24.10 to 2.24.11.
See Homebrew/homebrew#12778.
|
|
|
|
|
|
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
Fixes Homebrew/homebrew#13535.
|
|
Rather than skip unlinking if there's no linked keg record, check to
see whether the destination's realpath is the same as the source file
in the keg being unlinked.
|
|
|
|
|
|
This caused weird issues in the case that multiple formulae provide
the same file.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Closes Homebrew/homebrew#13495.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Also updates the bash-completion to ignore subdirectories, rather than
specific filename patterns.
|
|
Hides files with the extensions ".css" and ".erb" to ensure that the
brew-bot's support files don't show up in tab-completion.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Since 3ee9b7bd88a2d9017cdf005b10567a1d6d8ec211 ("SoftwareSpec:
initialize @mirrors"), @active_spec.mirrors will always be non-nil.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Fixes Homebrew/homebrew#13434.
|
|
|
|
Eventually I will stop making this mistake.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Commit 3b5d7939d9a660a83e29a86e6bab234f3e9f2dcb added completion for
`brew link` options, but disabled completion of the actual command
itself.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
The last make_relative_symlink was missing the mode argument, which
caused spurious linking under certain circumstances.
|
|
|
|
|
|
|
|
The symbol versions of :autoconf, :automake and :libtool only activate
for OS X / Xcode combinations that do not provide autotools.
|
|
|
|
Some programs fail where they would otherwise succeed if stdout or stderr is
closed. For example, using mpicc from the mpich2 formula:
quiet_system 'mpicc', '--version'
Fails with:
LLVM ERROR: IO failure on output stream.
While
system 'mpicc', '--version'
Succeeds.
Closes Homebrew/homebrew#13253.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
|
|
Add an ARGV.dry_run? helper method for '--dry-run'/'-n' now that
'-n' is being used as a git-style dry-run in two commands.
Closes Homebrew/homebrew#12898.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
|
|
`brew link` can now be made to delete any conflicting files using
the --force argument. It also has a --dry-run option, similar to
git clean -n, which will list any files which would be deleted
without touching the filesystem.
Closes Homebrew/homebrew#11811.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
|
|
SDK/usr/include and lib now appended instead of prepended.
Prepending overwrote our precedence of HOMEBREW_PREFIX/include and lib.
Closes Homebrew/homebrew#13292.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
|