483 Commits

Author SHA1 Message Date
Adam Vandenberg
d2b2ecbd0b Add test script to extract version from URL/path. 2010-04-04 11:49:09 -07:00
Adam Vandenberg
e1c9e24920 Add s.get_make_var
This allows more complicated transformations to happen,
such as stripping out part of the variable.
2010-04-03 17:54:49 -07:00
Adam Vandenberg
e7d7ceccee Allow archs_for_command to take Pathnames. Fixes Homebrew/homebrew#1106. 2010-04-03 11:51:46 -07:00
Adam Vandenberg
0b56c62bf5 Add support for rar archives. 2010-03-31 12:10:08 -07:00
Jake Good
8ce7abce73 More hashing refactoring to work with byte chunks
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-30 09:24:12 -07:00
Joshua Peek
04855ddd48 fix github version parser with multidigit number
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-27 14:01:19 -07:00
Jake Good
9fbc26a39f More effective use of incremental MD5 to eliminate loading entire tarball into memory
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-23 21:23:25 -07:00
Adam Vandenberg
6586f89a29 Add md5 on 'brew create' if we can figure it out. 2010-03-22 21:19:20 -07:00
Adam Vandenberg
ff03763931 brew create - warn if version cannot be determined from URL. 2010-03-22 14:10:31 -07:00
Adam Vandenberg
d84b1711d0 Fix external perl checker. 2010-03-19 14:03:44 -07:00
Adam Vandenberg
97b66ea1de Add log to bash completions. 2010-03-19 11:56:11 -07:00
Adam Vandenberg
9cf7845015 Bug fix: gcc_4_0_1 wasn't removing sse4 flags correctly. 2010-03-17 15:33:37 -07:00
Adam Vandenberg
3825535310 Move recommended compiler versions into constants. 2010-03-16 20:58:12 -07:00
Robert Shaw
ca313defe4 Add GCC 4.0 info to --config output.
* Adds GCC 4.0 version info to --config output.
* Splits gcc_build into gcc_40_build and gcc_42_build.
* Adds alias gcc_build to gcc_42_build for compatibility.
* Updates Xcode checking to also check GCC 4.0 version.

These changes are a combination of work by AdamV and my work
on my Tiger branch. This information would be useful for all
installs since some formulae compile with GCC 4.0.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-16 20:46:10 -07:00
Adam Vandenberg
098b97801b Use tab/space when finding vars (and not newlines). 2010-03-16 12:00:00 -07:00
Martin Kühl
d03411775f Fix change_make_var! for empty variables.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-16 11:54:09 -07:00
Eero Saynatkari
f56e96dfff 1.9 fix, String is not an Enumerable.
* 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
2010-03-13 14:36:47 +00:00
Adam Vandenberg
485d480722 Add a snapshot of ENV to BuildError and show some flags with the stack trace. 2010-03-11 15:58:17 -08:00
Max Howell
c29219e27c Actually remove info pages in skip step
Lets stop removing docs and doc (though moving share/docs to share/doc would make sense) as I was being lame when I decided nobody ever needs local documentation.

I still wouldn't use it (the INTRAWEBS is pretty good nowadays), but I admit, for some people, it's essential.
2010-03-10 12:20:21 +00:00
Daniel Schauenberg
9f443853fa Bring zsh completion command list more up-to-date
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-03-09 09:03:51 -08:00
Adam Vandenberg
1e7a71bfef Change the return value of Pathname.install.
The change to Pathname to support renaming changed the return value.
This commit puts it back, so the associated unit test passes again.
2010-03-08 23:42:01 -08:00
Adam Vandenberg
cb6449c2d9 Homebrew is now at version 0.6
We've bumped the version number, as Homebrew no longer tries to use LLVM
by default (on Snow Leopard.)
2010-03-08 15:55:30 -08:00
Max Howell
58b19ed495 Error out if brew diy doesn't know the build system 2010-03-08 00:34:23 +00:00
Max Howell
99df82c568 Fixes Pathname.install(:foo => :bar) to work when File.exist?(:bar) 2010-03-07 11:24:22 -08:00
Adam Vandenberg
3927972a2a Allow Pathname.install to take a Hash.
The keys of the hash are original file names, the values are new file
names. Originals are renamed, and then installed under the new name.
2010-03-07 11:24:22 -08:00
Max Howell
799dd7108e String.undent for prettier HEREDOCs 2010-03-07 17:57:05 +00:00
Adam Vandenberg
3555a3c18f REVERT SubversionDownloadStrategy change.
Change 45ce0c963a52293063432674d5c360ebe65254e2 was done in error.
This submit reverts that change (which will go in a future commit.)

I apologize for the inconvenience.
2010-03-01 14:14:07 -08:00
Adam Vandenberg
a9b19f0255 Move license block to separate LICENSE file. 2010-03-01 11:41:24 -08:00
Fergal Hainey
69bc0cbf67 Improvements to new SubversionDownloadStrategy
Now makes use of `svn up` to make cache act like
a cache. Externals without a revision specified
are now checked out at HEAD, whereas before they
were ignored. Escaping arguments to backticks.
Making sure main repo is checked out before the
externals.
2010-03-01 09:59:25 -08:00
Adam Vandenberg
1ade7ef4e0 Update bash completions
* Bring command list up-to-date
* Subcommand completion now ignores switches
2010-02-27 19:33:10 -08:00
Max Howell
1dfab1350a Add outdated to brew help
Also rearrange and alphabetise.
2010-02-27 16:06:05 +00:00
Max Howell
991bae91a9 Pathname.subdirs and Pathname.cd{} 2010-02-27 12:29:45 +00:00
Andre Arko
c2f1a41bbc Add support for external ruby deps, and fix external deps system.
Kernel#system special-cases the first argument, so you have to
make the first argument the entire command to be invoked, and
subsequent arguments the actual arguments to that command. In
order to use the user's interpreter, the first argument must be
"/usr/bin/env <name>".

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-02-25 09:17:00 -08:00
Adam Vandenberg
080a7ee3dc brew --cache [formula]
This developer-oriented command lets you ask Homebrew what the cached
filename will be for a brew's tarball.
2010-02-24 11:15:12 -08:00
Max Howell
1149b082bb We need to set CC and CXX for many formula
Fixes Homebrew/homebrew#807; Fixes Homebrew/homebrew#808
2010-02-24 15:13:20 +00:00
Martin Kuehl
37189cbe34 Fix brew cleanup: don't bail out early
Running `brew cleanup` (with no arguments or multiple arguments) raises
an error and stops as soon as it finds any formula whose most recent
version is not installed.

With this change it will instead print a warning, then continue with the
next formula.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-02-20 22:59:24 -08:00
Max Howell
15e145709b Fix inreplace barfing over Pathnames
This fix should be fairly tolerant of types.
2010-02-20 02:07:51 +00:00
Max Howell
786775152e No longer compile with LLVM by default
Justification:
* LLVM is too immature, it often fails to compile, sometimes irreproducibly
* The performance of the resulting bytecode is often slower than the GCC
  equivalent (eg MySQL)

If you want to continue using LLVM you can. Set HOMEBREW_USE_LLVM or brew with
--use-llvm.

We also now use the default compiler for each platform. So GCC 4.2 on Snow and
GCC 4.0 on Leopard. This also means that new formula are more likely to just
work as many over complicated build systems get upset when you mix things up.

I also did a bunch more new research regarding compiler flags. We now set the
right -march for nehalem procs and don't add redundant flags like msse3 (which
is automatically applied for all the -march settings we use).

Reducing the number of cflags will improve the overall reliability of our
platform.
2010-02-19 17:50:23 +00:00
Max Howell
b48d46d4bc Allow inreplace to operate over arrays
I like that String.each is interchangeable with Array.each :)
2010-02-19 17:34:40 +00:00
Max Howell
8cdb504b14 Fix Pathname.install for relative symlinks
If you have a bunch of symlinks and they all point at one file and you use Pathname.install on them all the error checking would fail if the file was moved before the symlinks because the symlinks would then point at a non existent file.
2010-02-18 17:16:02 +00:00
Max Howell
e0999078dc Fix GitHub tarball version detection 2010-02-18 11:59:29 +00:00
Graham Hughes
a4bd7c008d Don't merge flags in checkout-index
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-02-16 15:25:28 -08:00
Martin Kuehl
e3a9e961bf Fix brew cleanup: less pruning
Running `brew cleanup` (with no arguments or multiple arguments) will
run `brew prune` after _every_ cleaned formula, i.e. possibly after
every installed formula.

With this change it will instead only run `prune` after all formulae are
cleaned, and only when no arguments were given to `cleanup`.

Signed-off-by: Max Howell <max@methylblue.com>

Closes Homebrew/homebrew#743
2010-02-16 22:52:18 +00:00
Aleksandar Topuzović
2e3585872b Set correct LDFLAGS for universal binaries
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-02-13 17:21:42 -08:00
Max Howell
9a1af42a5e Fixes Homebrew/homebrew#571; brew update doesn't report "Already up-to-date" 2010-02-13 13:12:40 +00:00
Adam Vandenberg
6671d6275d remove_make_var! should not leave an empty assignment 2010-02-09 09:21:25 -08:00
Adam Vandenberg
07adef4954 ENV.cxx was not retrieving proper ENV flag. 2010-02-08 14:23:01 -08:00
Adam Vandenberg
3c47f7918b Add formula check for crufy SourceForge URLs. 2010-02-04 17:29:47 -08:00
Adam Vandenberg
a309403d8a Update test suite.
* Break single test case class into several test cases.
* Fix broken arch test.
* Make update tests optional (seem to only work for mxcl).
* Add more tests.
* Move fixtures to separate folder.
2010-02-02 09:08:10 -08:00
Adam Vandenberg
5474cf1a95 Let change_make_var! append to existing value.
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.
2010-02-02 08:57:56 -08:00