38364 Commits

Author SHA1 Message Date
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
Eloy Duran
c9f056c327 Make sure git commands in RefreshBrew are executed with the proper working dir. 2009-09-17 00:24:11 +02:00
Eloy Duran
52efea0e7d Added `update' to banner. 2009-09-17 00:24:11 +02:00
Eloy Duran
c1989b79ad Update Homebrew and list the updated formulae. 2009-09-17 00:24:11 +02:00
Max Howell
c71d4ad2bc Default to patch level 1
Having gone through our patches it's clear that p1 is more standard.

Also fixed a bug where returning DATA outside of an array would fail to patch.
2009-09-16 17:08:32 +01:00
Hunter Morris
aafbdcc115 Added 'man' to be ignored
Signed-off-by: Max Howell <max@methylblue.com>

Homebrew doesn't install to man, but if it's already there, we should indeed ignore it.
2009-09-16 15:05:22 +01:00
Darcy Laycock
8ecb7b0612 Add fish completions for the brew binary
See Library/Contributions
2009-09-16 14:49:06 +01:00
Max Howell
c28bd7b571 Allow formulae to use __END__
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.
2009-09-16 14:49:06 +01:00
Max Howell
fd5ed391be Support patching using diffs on local filesystem 2009-09-16 14:49:05 +01:00