372 Commits

Author SHA1 Message Date
Adam Vandenberg
a3668bef76 Find version number in *-src.tarball
Signed-Off-By: Max Howell <max@methylblue.com>

I added a unittest.
2009-09-25 18:57:44 +01:00
Max Howell
235987b032 Don't summarize brew list if piped to another command 2009-09-25 18:06:37 +01:00
Max Howell
d2943b9526 Default to LLVM on Snow Leopard
On Leopard you can enable it by defining the environment variable:

    HOMEBREW_USE_LLVM

I didn't enable it on Leopard by default because it doesn't get as much testing, and I don't want to rock the boat. On Snow Leopard people are forigiving of issues because it is new and many compiles fail anyway. And if you installed Snow Leopard you *want* the cutting edge.

Closes Homebrew/homebrew#29
2009-09-25 18:06:37 +01:00
Boris Gordon
cdd4c0266a Installation links were round the wrong way in the README 2009-09-25 18:05:29 +01:00
Christian Mayer
edb89a7829 Axel formula
Axel tries to accelerate downloads by using multiple connections (possibly to
multiple servers) for one download. Because of its size, it might be very
useful on bootdisks or other small systems as a wget replacement.
2009-09-25 15:31:55 +01:00
Piotr Usewicz
4ed3834be0 Add full version and build numbers to user agent
Signed-off-by: Max Howell <max@methylblue.com>

I adapted it slightly based on the user agent that Safari gives.
2009-09-25 01:24:05 +01:00
Ben Alpert
ad01b141b7 Don't use file, just check the magic numbers instead
Closes Homebrew/homebrew#58
2009-09-24 16:30:40 -06:00
Ben Alpert
e339a2a73f Add Hardware.is_64_bit? method
Closes Homebrew/homebrew#53
2009-09-24 16:30:26 -06:00
Max Howell
bab6515668 Summarised listings with brew list
I'm trying to only show the interesting stuff. You can see a full listing with
brew -v list, or by piping to other commands.

Tell me if you hate it or love it.
2009-09-24 22:38:42 +01:00
Max Howell
bfb3e1bfe0 brew log command
Shows the git-log for that formula.
2009-09-24 21:09:46 +01:00
Max Howell
dc0e64dc22 The term zeroconf only applies to networking apparently
Random guy on Twitter mentions it. Google confirms.
2009-09-24 18:54:27 +01:00
Max Howell
a6ba0c4800 Use new instance var syntax for brew create 2009-09-24 18:49:49 +01:00
Max Howell
44a1fa418e Use full paths to all system utilities
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…
2009-09-24 18:26:24 +01:00
Max Howell
034fc40ae1 Remove Fink and Macports from the PATH earlier
References issue Homebrew/homebrew#48
2009-09-24 18:26:24 +01:00
Max Howell
a03d13088f Return non-zero error code on errors
Stupidly I figured Ruby did this for us, but why would it?
2009-09-24 18:26:24 +01:00
Clinton R. Nixon
2668e2aeff DRYed up "@foo=self.class.foo unless @foo" statements
Using the example from the existing code:

  CHECKSUM_TYPES.each do |type|
    if !instance_variable_defined?("@#{type}")
      class_value = self.class.send(type)
      instance_variable_set("@#{type}", class_value) if class_value
    end
  end

I extracted that block into a method 'set_instance_variable' which I
then used in all places where this behavior was being used.
2009-09-24 18:26:16 +01:00
Clinton R. Nixon
44a3d59630 Added small DSL for formulas
You can now use "url", "version", "homepage", and any checksums as
class methods, like so:

    class Dos2unix <Formula
      url 'http://www.sfr-fresh.com/linux/misc/old/dos2unix-3.1.tar.gz'
      md5 '25ff56bab202de63ea6f6c211c416e96'
      homepage 'http://www.sfr-fresh.com/linux/misc/'
    end

The previous usage ("@url = 'http://example.com/tarball.tgz'") still
works, maintaining compatibility with previous formulas.

"dos2unix.rb" is translated into the new format as an example.
2009-09-23 14:51:11 -04:00
Max Howell
6f4c61e326 brew install --ignore-dependencies
I used the same option flag as ruby gems does.
2009-09-22 19:58:10 +01:00
Pierre Riteau
c9c7075dc1 Don't print text as columns when the output is not a tty
The code also makes sure to terminate with a newline, unless the
output is empty.
2009-09-22 20:43:06 +02:00
Max Howell
e60ea7bd20 Clean up the empty dir cleaner a little
Using more Pathname methods.

Only show text if verbose mode is on, as is typical for the rest of our install output.

TODO: would be nice if we knew you were a dev and automatically enabled verbose mode perhaps.
2009-09-22 11:38:22 +01:00
Adam Vandenberg
36bb590e82 Rename :libpng to :x11 and alias. 2009-09-21 20:55:41 -07:00
Adam Vandenberg
8d7ebb8ba3 length, not count. Fixes issue 55. 2009-09-21 16:53:04 -07:00
Adam Vandenberg
50b981a469 Replace perl one-liner for removing empty dirs with Ruby.
Allow Formula.skip_clean? to prevent empty folders from being removed
as part of the brewing cleanup process.
2009-09-21 16:12:01 -07:00
Max Howell
c9db120edf Some further uninstallation information
Corrected README path.
2009-09-22 00:04:55 +01:00
Max Howell
3094a162ac Don't always say "Patching" 2009-09-21 23:51:31 +01:00
Max Howell
7f56fe2532 ENV.cc; returns the compiler we use 2009-09-21 23:50:57 +01:00
Max Howell
444e2e05fc Remove some ohai() use
Ohai is for titles, to separate sections of output so it is more readable, it
truncates long lines for this purpose. So don't use it if the line you are
outputting is likely to be long and important. Instead prefix that line with
a summary header.
2009-09-21 22:02:35 +01:00
Max Howell
01b85d8521 Automatically add keg_only? deps to relevent ENV
Eg gettext gets added into LDFLAGS, INCLUDE and that. I hope I got everything
that is typical. Prolly not. But we'll find out.

Made readline keg_only because the BSD version is provided by OS X, and I
don't want bug reports that are tricky to solve due to unexpected differences
between the two.
2009-09-21 20:23:09 +01:00
Max Howell
e9701dbc81 Merge branch 'deps'
Conflicts:
	Library/Formula/imagemagick.rb
	Library/Formula/taglib.rb
	Library/Homebrew/brew.h.rb
	Library/Homebrew/formula.rb
	bin/brew
2009-09-21 18:46:28 +01:00
Max Howell
77dd27e8e6 Dependency resolution with fancy syntax
Is it a DSL? No. But people call it that apparently.

To add a dependency:

class Doe <Formula
  depends_on 'ray'
  depends_on 'mee' => :optional
  depends_on 'far' => :recommended
  depends_on Sew.new
end

Sew would be a formula you have defined in this Formula file. This is useful,
eg. see Python's formula. Formula specified in this fashion cannot be linked
into the HOMEBREW_PREFIX, they are considered private libraries. This allows
you to create custom installations that are very specific to your formula.

More features to come, like specifying versions
2009-09-21 18:27:48 +01:00
Max Howell
3d421c8649 Update references to masterbrew
I left update_from_masterbrew! as a historical reference.
2009-09-18 14:32:21 +01:00
Max Howell
a8d6a695bc mkpath for all directories under lib/perl5
Don't symlink, as multiple formula will install to this directory.
2009-09-17 22:01:27 +01:00
Max Howell
ee2b521ca8 Solving the GNU GetText issues
GNU GetText breaks eg. Ruby 1.9 builds, and some other formula I have been building too. But it is required by eg. glib. So to solve this we are going to by default not symlink gettext into the Homebrew prefix.

Formula that depend on GetText will have the gettext paths added to the brewing environment automatically. Neat.
2009-09-17 22:01:27 +01:00
dbr
84c5f4e0b3 Added .md extension to README so Github renders markdown 2009-09-17 19:51:48 +01:00
dbr
51891b9ced "brew mk" -> "brew create" in readme 2009-09-17 19:51:48 +01:00
dbr
944517ddc0 The "brew gen" command doesn't seem to exist, changed to "brew create", which isn't otherwise mentioned 2009-09-17 19:51:48 +01:00
Max Howell
2149d9035a Delete the partial download with any exception
Don't delete it if it doesn't exist.
2009-09-17 18:42:56 +01:00
Max Howell
a7315fce20 Error out if HOMEBREW_PREFIX isn't writable 2009-09-17 18:42:56 +01:00
Max Howell
357751633e Prettier install output
This way caveats and other warnings/errors don't appear connected to the Summary text.
2009-09-17 18:42:56 +01:00
Max Howell
b3c6c3f591 Warning for bin dirs not in the PATH
Eg. sbin may be part of the formula, but that isn't in the default Mac PATH. Also will avoid bug reports for users who forget to amend their PATH and stick Homebrew somewhere different.
2009-09-17 18:42:56 +01:00
Max Howell
9d63bf9e14 Add license header to update.rb 2009-09-17 18:40:21 +01:00
Max Howell
710a160b8f Rename refresh_brew.rb to update.rb
I didn't change the class name, it's clear from the context where it is used what it does. However when just looking at files to figure out the nature of Homebrew I believe in clear naming.

Otherwise funny names earn you points.
2009-09-17 18:39:58 +01:00
Max Howell
cb28a0f477 Error out if a git command fails during update 2009-09-17 18:27:12 +01:00
Eloy Duran
7ebd012128 Made the Library tests green on 10.6.0 2009-09-17 00:24:59 +02:00
Eloy Duran
91736e24cb Changed verbose output of git commands during update to use the existing style. 2009-09-17 00:24:12 +02:00
Eloy Duran
d296038ead Don't break if RubyCocoa can't be loaded, but try to help the user. 2009-09-17 00:24:11 +02:00
Eloy Duran
3b8f3ad409 Made the output of updating a bit nicer and log more if --verbose. 2009-09-17 00:24:11 +02:00
Eloy Duran
bb03db8e6c Before trying to update, first checkout the masterbrew branch. 2009-09-17 00:24:11 +02:00
Eloy Duran
4691fcb3d7 Don't print that there are _and_ aren't formulae updates. 2009-09-17 00:24:11 +02:00
Eloy Duran
9ff551a524 Removed the old 'update' when clause and fixed a small spelling error. 2009-09-17 00:24:11 +02:00