13122 Commits

Author SHA1 Message Date
Andre Arko
d3954d3d77 Add HOMEBREW_REPOSITORY prefix for brew up
Signed-off-by: Max Howell <max@methylblue.com>

I removed whitespace changes and changed readlink to realpath as readlink raises if it's not a link.
2009-09-29 23:34:16 +01:00
Andre Arko
195e75c1b2 Search by substring unless term is inside /../ 2009-09-29 23:34:16 +01:00
Kieran Pilkington
0e9edbb285 An additional reference for warn_about_macports_or_fink 2009-09-29 16:26:38 +01:00
Kieran Pilkington
aedaaf79bf brew list --unbrewed
Very quick way to find files not installed by homebrew.

Taken from a command by mxcl on the homebrew wiki.

.DS_Store files and bin/brew are ignored.
2009-09-29 16:26:37 +01:00
Max Howell
14818039ae If brew create can't figure out the name, prompt for it
This was adapted from adamv@d5e78ee26535dec4b11c33d14832a9ee945a29fd

I decided prompting would was the most usable solution here, as the stem is
unlikely to be useful so the user would have to rename the file and change
the class name as well as type the command once and then again with --force.

Dissent welcome.

Fixes Homebrew/homebrew#15
2009-09-29 15:46:34 +01:00
Adam Vandenberg
14b3ea887a Add option to downgrade from LLVM to gcc.
Signed-off-by: Max Howell <max@methylblue.com>

I added ENV tests.
2009-09-29 15:45:48 +01:00
Max Howell
5abe20b410 ENV.O3 -- for when O4 takes forever
Which makes me wonder if it's worth it? Oh well, you can't find these things
out without experimentation.
2009-09-29 14:23:00 +01:00
Max Howell
1004df181e fix_PATH changed to warn_about_macports_or_fink
We shouldn't mess with the user's PATH anyway. So assume our users are smart and just warn them about potential issues instead.
2009-09-28 00:20:51 +01:00
Eloy Duran
fab877de18 Made the tests green for the updater component 2009-09-28 00:20:51 +01:00
Eloy Duran
1022c23990 Properly distinguish between added and updated formulae. 2009-09-28 00:20:50 +01:00
Max Howell
af6c890294 Quote path parameters where appropriate
Our build directories are space-less, but the final destination may have
spaces, especially since OS X often uses your full name as your home directory
path.
2009-09-28 00:20:50 +01:00
Max Howell
3971a5666c Oops. Don't raise for homepages. Silly. 2009-09-26 02:20:00 +01:00
Max Howell
4b5d39feab Throw if no homepage set
That'll teach you!
2009-09-25 19:22:02 +01:00
Adam Vandenberg
f49bd4a9fa Add test for matching formula filename/class. 2009-09-25 19:21:03 +01:00
Adam Vandenberg
b2a857da54 Add better error message for misnamed formula class. 2009-09-25 19:20:59 +01:00
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
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
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
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
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
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
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
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
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
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