4625 Commits

Author SHA1 Message Date
Adam Vandenberg
4873062523 Deprecate using symbols to define deps 2010-08-07 18:08:51 -07:00
Adam Vandenberg
bbaac45e3e "url" now has same features as "head"
Specifically, it can accept all the VCS tag specs that head could,
making it more useful for defining stable versions that come from
VCS instead of tarballs.

A new "SoftwareSpecification" class was added to implement this.

This new class holds a "spec" for downloading a software package.
It combines the url (or head url) with the "specs" [1] that head has
been able to take.

This allows both the stable (url) and unstable (head) specification
for a software package to co-exist without stomping on each others
"specs".

[1] "specs" contain instructions on which branch/tag/revision/etc. to use
    from the source repository URL.
2010-08-07 18:08:51 -07:00
Alexander Kahn
a56466a4d3 Use ERB to generate formula template. 2010-08-07 18:08:51 -07:00
Adam Vandenberg
f990f083e8 ARGV - rename method that conflicts with optparse
optparse adds an "options" method to ARGV, and so does Homebrew.
Rename this method (and remove optparse blocking script) so that
Homebrew plays nicer with external Ruby software.

This fixes the issue where "gem install thin" would break
"brew server", for instance.
2010-08-07 18:08:51 -07:00
Max Howell
dad4bbb9e3 Use new alias system with brew search
Also don't show any aliases if you just type `brew search` as there is so
little context, it just looks messy.
2010-08-07 18:08:49 -07:00
Max Howell
0fcb584862 brew create uses new Aliasing system 2010-08-07 18:08:49 -07:00
Max Howell
28504229aa Resolve aliases in ARGV extension.
* This allows most brew commands to automatically accept aliases.
2010-08-07 18:08:49 -07:00
Adam Vandenberg
2ac2dbb591 Add 'aka' removal notice.
'aka' is no longer used to define aliases, but we'll keep the method
around with a warning so non-master brews have a chance to remove any
aka's; otherwise pushing the change will break private brews and we
don't want to do that.
2010-08-07 18:08:49 -07:00
Adam Vandenberg
7ff5de2ad8 Skip broken formulae 2010-08-07 18:08:48 -07:00
Max Howell
ef6488bf5e New Aliasing system is plenty less code :) 2010-08-07 18:08:48 -07:00
Adam Vandenberg
7768e59a50 Show changed examples on update [telemachus]
* Also move updater output into the class itself
2010-08-07 18:08:48 -07:00
Adam Vandenberg
0321acf9be Fix regex location 2010-08-07 18:08:48 -07:00
Adam Vandenberg
73125f1c18 Reword X11 brew doctor messages. 2010-08-07 11:46:20 -07:00
Adam Vandenberg
7e38c4c9c3 Re-wrap message. 2010-08-07 11:44:45 -07:00
Adam Vandenberg
0a018deb93 Don't version VCS checkout directories.
While tarballs are versioned to prevent conflicts when newer ones are downloaded,
we shouldn't be versioning the name of the VCS checkout when a formula uses
"HEAD" or a stable commit.

Append the name of the vcs system to the checkout path, in case a project changes
vcs providers, to prevent future conflicts.
2010-08-07 11:32:29 -07:00
James Harris
07ce6d6e16 archs_for_command now follows symlinks.
Tell file(1) to follow symlinks using the -L option.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-08-02 12:49:20 -07:00
Adam Vandenberg
bc82bfc6d5 brew doctor - check man access 2010-07-30 09:23:44 -07:00
Adam Vandenberg
37ea70ed5e Shorten 'bad man path' message. 2010-07-29 12:25:50 -07:00
Adam Vandenberg
5c3a96ae68 Move testing tarballs into subfolder 2010-07-29 12:03:23 -07:00
Adam Vandenberg
e0d936da5a Fix brew info test 2010-07-29 09:33:32 -07:00
Adam Vandenberg
b6d5fbb15e Just use Pathname.cd 2010-07-29 08:47:06 -07:00
Adam Vandenberg
2e881238de Add name to brew info url and remove external script 2010-07-29 08:40:22 -07:00
Adam Vandenberg
fa4671f59f Fix brew info --github 2010-07-27 06:37:49 -07:00
Adam Vandenberg
f2f68c6beb brew doctor - add check for non-standard X11
XQuartz is not known to work with Homebrew, though if you have it working
on your machine let us know.
2010-07-25 12:07:41 -07:00
Adam Vandenberg
5f5f820d12 Add Pathname.resolved_path 2010-07-25 12:07:35 -07:00
Adam Vandenberg
16bc177a4a Allow HOMEBREW_EDITOR for non-project editing.
If set, use "HOMEBREW_EDITOR" when editing a single file, or multiple
files in the same folder.

Note that this setting does not affect `brew edit`, since opening
all of Homebrew at once requires an editor with proper project support.
2010-07-25 10:58:00 -07:00
Adam Vandenberg
78ca4f35fb GitHub - use git for smart http repos 2010-07-23 21:39:12 -07:00
Adam Vandenberg
b355d6af25 Bump Xcode recommendation to 3.2.2 2010-07-21 09:45:31 -07:00
Adam Vandenberg
1f1da9266c Fix message and undent for external deps 2010-07-21 09:09:15 -07:00
Adam Vandenberg
f17a92ff40 Clean up test script & use system ruby to run tests 2010-07-20 21:16:33 -07:00
Adam Vandenberg
070421f441 Fix top-level formula having duplicate deps
If the top-level formula being installed has any keg-only
dependencies, the lib/include/bin/pkg-config paths for those
deps will be added twice to the ENV vars.

This doesn't break anything, but does make debug output somewhat longer
than it needs to be.

Tidy this up by calling uniq on deps before iterating.

(The cause of this duplication is related to how top-level formula are
run, to support keeping patches in __END__ blocks.)

Fixes Homebrew/homebrew#1110
2010-07-20 08:58:37 -07:00
Adam Vandenberg
14f0556d1c Remove "test/formula_test.rb"
This diagnostic script has been replaced by the "brew audit" external command.
2010-07-19 20:15:04 -07:00
Max Howell
bc5ee7c482 brew.h info takes a formula parameter rather than a string
* Preference is for commands to take instantiated formulae as parameters
  rather than formula names, so alias resolution can be centralized.
2010-07-18 13:52:01 -07:00
Max Howell
a496ca0166 Make expand_deps a class function 2010-07-18 10:45:57 -07:00
Max Howell
5d75197c04 Some String.dedent action 2010-07-18 10:44:44 -07:00
Adam Vandenberg
826ab8be71 Use build_head here too. 2010-07-18 10:44:31 -07:00
Adam Vandenberg
21c37fbac6 Add ARGV.build_head? and use it.
This allows both "--HEAD" and "-H" to be used consistently, which was the
intention in the first place.
2010-07-16 09:09:39 -07:00
Adam Vandenberg
ee794cd21a Add command "brew --env"
"brew --env" will set up a build environment and then dump certain ENV
variables (CC, CXX, LD, CFLAGS, CXXFLAGS, MAKEFLAGS).

If any of CC, CXX, LD are symlinks, now also output the target compiler.
(Typically these will be symlinks from eg /usr/bin/cc to /usr/bin/gcc-4.2).

This is a diagnostic command which may be merged into --config, turned
into an external command, or removed if it doesn't turn out to be useful.
2010-07-13 14:20:52 -07:00
Adam Vandenberg
984d0bd05d CurlUnsafeDownloadStrategy
This Download Strategy is provided for use with sites that
only provide HTTPS and also have a broken cert.
Try not to need this, as we probably won't accept the forulae
into trunk.
2010-07-10 12:00:11 -07:00
Adam Vandenberg
b5ba49b90e Usage should mention manpage. 2010-07-09 12:16:06 -07:00
Adam Vandenberg
d637e0a139 brew doctor and GitDownloadStrategy now check for Git.
GitDownloadStrategy now fails if git isn't in the path, same as other
VCS strategies.

`brew doctor` will also warn if Git isn't installed.
2010-07-09 07:15:28 -07:00
Adam Vandenberg
4c2d3e1f7f Improved Subversion support.
Homebrew will now use the svn binary pointed to by HOMEBREW_SVN if set,
use a Homebrew-installed svn if present, finally falling back to the
system-provided svn binary.

If a formula (mplayer) requires a newer version of Subversion than what
Leopard provides, it can use the "StrictSubversionDownloadStrategy"
download strategy to warn the user.

These changes also fix an issue with forcing exports not working on a
stock Leopard subversion, but letting the user either specify a specific
binary or install Subversion via Homebrew and pick that up instead.
2010-07-08 22:45:03 -07:00
Adam Vandenberg
281768cc07 Add some HOMEBREW env vars to the dump 2010-07-08 22:45:01 -07:00
Adam Vandenberg
7c4661edcf Comment the detect_download_strategy patterns. 2010-07-08 22:41:51 -07:00
Adam Vandenberg
41e8245534 Clarify cellar comment 2010-07-08 22:41:51 -07:00
Adam Vandenberg
696e49e87a Move exceptions from global to utils; remove duplicate defintions 2010-07-08 22:41:51 -07:00
Adam Vandenberg
a6b6de63a9 Move method from ObserverPathnameExtension to extend/Pathname
* This method is generally useful, even without the Observer extensions.
2010-07-08 22:41:50 -07:00
Adam Vandenberg
375f8094d3 Add debian style names to version checker. 2010-07-06 13:17:50 -07:00
Adam Vandenberg
4ae8029557 Update version tests 2010-07-06 13:17:43 -07:00
Adam Vandenberg
350aea60dc Pathname - fix RC version detection. 2010-07-04 14:10:04 -07:00