aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
AgeCommit message (Collapse)Author
2009-09-17Make sure git commands in RefreshBrew are executed with the proper working dir.Eloy Duran
2009-09-17Added `update' to banner.Eloy Duran
2009-09-17Update Homebrew and list the updated formulae.Eloy Duran
2009-09-16Default to patch level 1Max Howell
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-16Allow formulae to use __END__Max Howell
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-16Support patching using diffs on local filesystemMax Howell
2009-09-16Teach patch to uncompress patches if necessary.Brian Smyth
This change also eliminates the somewhat duplicate codepath if patches returns and Array rather than a Hash.
2009-09-14Clear CDPATH to avoid make issues that depend on changing directoriesJoshua Peek
2009-09-14Fix unittest test_arch_for_command for 10.5David Höppner
2009-09-14Clean up indentationClinton R. Nixon
Signed-off-by: Max Howell <max@methylblue.com> I didn't commit it all, apologies. But I just can't read the sections nearly as easily if you indent private and protected. If it's a Ruby convention it frankly seems at odds with the rest of Ruby spacing conventions.
2009-09-14Escape $ inreplace 'after' parameterMax Howell
2009-09-14Ant formulaClinton R. Nixon
Ant is a Java-based build tool. In theory, it is kind of like Make, without Make's wrinkles and with the full portability of pure Java code.
2009-09-14Couchdb and dependency formulaeSean Wolfe
Signed-off-by: Max Howell <max@methylblue.com> I squashed a number of commits here, and also replaced the use of nspr.prefix with HOMEBREW_PREFIX as in theory we are flexible with our requirement for dependencies, although with the limited build system that SpiderMonkey possesses this is difficult for us to achieve anyway…
2009-09-14Formula::varMax Howell
Points to eg. Cellar/wget/var rather than Cellar/wget/1.1.5/var Discussion: 1689bbc326f1201ea979178ebcadba344abf2568
2009-09-11Overriding Object.class was not my intentionMax Howell
Renamed to Formula::class_s.
2009-09-11Fix lame version, eg. 398-2Max Howell
Included test this time!
2009-09-10Only allow --interactive with one formula argumentMax Howell
See comments in commit for details.
2009-09-10Don't install dependencies that are already installedMax Howell
2009-09-10Dependency resolutionMax Howell
Specify dependencies in your formula's deps function. You can return an Array, String or Hash, eg: def deps { :optional => 'libogg', :required => %w[flac sdl], :recommended => 'cmake' } end Note currently the Hash is flattened and qualifications are ignored. If you only return an Array or String, the qualification is assumed to be :required. Other packaging systems have problems when it comes to packages requiring a specific version of a package, or some patches that may not work well with other software. With Homebrew we have some options: 1. If the formula is vanilla but an older version we can cherry-pick the old version and install it in the Cellar in parallel, but just not symlink it into /usr/local while forcing the formula that depends on it to link to that one and not any other versions of it. 2. If the dependency requires patches then we shouldn't install this for use by any other tools, (I guess this needs to be decided on a per-situation basis). It can be installed into the parent formula's prefix, and not symlinked into /usr/local. In this case the dependency's Formula derivation should be saved in the parent formula's file (check git or flac for an example of this). Both the above can be done currently with hacks, so I'll flesh out a proper way sometime this week.
2009-09-10Add llvm switch to ENVJoshua Peek
2009-09-10Function to return a binary's Mach-O architecturesAdam Vandenberg
Added a utility method to get an array of architecture names for a given executable. This will be useful for, say, figuring out what Python was compiled for, to know what to compile a C-based module as. Signed Off By: Max Howell <max@methylblue.com> I added a test and made the function use `which` if the path provided is not absolute. I considered allowing relative paths, but then it is possible for the function to take eg. the svn binary from the current directory when you meant the one in the path, and that could be a confusing bug.
2009-09-10Display exit code when nonzero.Adam Vandenberg
Brew fails if a tool (make, or whatever) doesn't return an exit code of 0. This patch displays the non-zero code on failure, so we can better diagnose what caused the build to fail (or if we need to add that exit code as exception 'success code'.)
2009-09-10Handle $EDITOR with spacesMax Howell
Fixes Homebrew/homebrew#40
2009-09-10We should certainly have a Formula::share()Max Howell
I removed this months back as I found it confusing, does it mean: prefix+'share' or prefix+'share'+name() But honestly, it's obvious, it's the former. It's the same as the other path functions.
2009-09-07Add support for SHA256Étienne Barrié
2009-09-07Add test for SHA1Étienne Barrié
2009-09-07`brew make' becomes `brew create'Max Howell
This is because I have observed two people confuse make with the "make" tool and thus assume `brew make' is `brew install'. `brew make' will be deprecated at 0.7, until then it shows a warning.
2009-09-05No spurious error due to Interrupt during curlMax Howell
Only delete the file that is downloaded if an error occurs while downloading it.
2009-09-05Fix double newline after InterruptMax Howell
Seems to be an issue with Ruby system() call doing a double fork.
2009-09-05Use ENV[EDITOR] if possiblescoates
Defaulting to EDITOR, then checking for the mate command, and then using vim as a last resort. Signed Off By: Max Howell <max@methylblue.com> Plain brew edit still uses Textmate though because a client that supported a project concept is required for that particular feature. Patches for that welcome.
2009-09-05Typo in usageMax Howell
I patched the patch wrongly.
2009-09-05`brew search' commandAndre Arko
Example usage: brew search w # formulae containing w brew search ^w # formulae starting with w No parameters lists all packages. Also adds puts_columns to util, and uses it for output. Signed Off By: Max Howell <max@methylblue.com> I changed the command from 'available' to search because this is more similar to how other tools call this function. The short form is -S, which is the "pacman" tool equivalent.
2009-09-05ENV.no_optimizationMax Howell
For when we optimize too much and things seem to break. In my experience the GCC optimizer is pretty safe nowadays, but at least this allows you to test the hypothesis the optimization is breaking the build.
2009-09-05Don't trim ohai message in verbose modeMax Howell
2009-09-05Cache ARGV calcsMax Howell
Means unshift doesn't work, but well, that's almost a feature :P
2009-09-05watch_out_for_spillEloy Duran
New method which uses RubyCocoa with the FSEvents API from Rucola to watch if files aren't installed outside the Homebrew prefix. Right now the paths being watched are: /System, /usr, /etc, /sbin, /bin, and /Applications.
2009-09-04Nehalem supports SSE4.2Adam Vandenberg
Signed Off By: Max Howell <max@methylblue.com> I realised that -msse4.1 and -msse4.2 aren't supported by GCC 4.0, so I made the brash decision that we require GCC 4.2. It comes with Xcode 3.1 so people can upgrade if they have to. Requiring a single compiler is better for us anyway -- less possible errors and failures. Formulae can still request gcc-4.0.1, but at least then those formulae still only use a single compiler and not possibly two.
2009-09-04Sort the output from `brew install`Bjørn Arild Mæland
2009-09-04Fixes Homebrew/homebrew#30 -- GCC can't create executablesMax Howell
The fix is to error out if GCC isn't installed, and to ensure we aren't setting CC and CXX to something that doesn't exist.
2009-09-04Plain Core Duo can't execute 64 bit codeTom von Schwerdtner
2009-09-04Fix SSE support on Core 2 processorsBen Alpert
DRY it off a bit.
2009-09-03Fixes Homebrew/homebrew#32 -- Create directory, don't symlink perl5/site_perlMax Howell
2009-09-03Fix some "GCC cannot create executables"Max Howell
This regards Issue Homebrew/homebrew#30. Turns out -march=native isn't supported by Apple's GCC, but while investigating it I found they'd back ported the -march=core2 option, so we win anyway. Logic reverted to how it was yesterday. I moved the gcc options stuff back to brewkit.rb as we manipulate the cflags more later and it seemed bad form to split the logic for this area over two files. Additionally the brew command exits immediately on powerpc now. Brewkit doesn't throw as theoretically it is a useful library file for other projects.
2009-09-03Closes Homebrew/homebrew#27 (permissions to strict)Max Howell
I went with 0555 as the permissions changing only occurs to bin, sbin and lib, so there shouldn't be any files in there for editing in general anyway. Formulae can specify not to "clean" any particular file by reimplementing the skip_clean? function, in case some config file or what not ends up in there. Also committing cosmetic fix to pretty_duration function.
2009-09-03Thrift formulaAsk Solem
Thrift is a software framework for scalable cross-language services development. It combines a powerful software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, and Ruby. Thrift was developed at Facebook and released as open source.
2009-09-03Improvements to build environment determinationspicyj
Simplified hardware model testing. Even smarter compiler option generation using sysctl and new GCC 4.2 features. Get processor count from sysctl and thus remove our dependency on RubyCocoa.
2009-09-02If the download fails, delete the half-fileMax Howell
Otherwise next time it will assume the half-file is the whole file and fail the md5 check.
2009-09-02Fix apr formula by aliasing deparallelize to j1Max Howell
2009-09-02brew info FIX if git isn't installedMax Howell
2009-09-02Only time the build, not the download tooMax Howell