28944 Commits

Author SHA1 Message Date
Max Howell
d1be193cfe MercurialDownloadStrategy can find hg again
Was broken after superenv PATH modification.

Fixes Homebrew/homebrew#15078.
2012-09-25 11:31:56 -04:00
Max Howell
a217b03952 Clean up and improve build-error output and logs
All logs are now stored from each command executed in Formula.install.

Error output is truncated to five lines in an attempt to not overwhelm the user and to encourage users to read the error output and report the bug properly. Maybe we can get that figure up from 70% to 90%.
2012-09-25 11:31:56 -04:00
Max Howell
1100818100 Fix fixopt and fixopt error handling
The Keg constructor was throwing because we were returning a relative path, and the error-handler was just returning a string rather than raising a string.

Worrying because a lot of opts have not been fixed and I thought this was essential for depending on keg-only formula nowadays.

Refs Homebrew/homebrew#15077.
2012-09-24 11:41:21 -04:00
Max Howell
bda8bb08e3 Attempt to fix opt-paths for all deps
Since we changed superenv to set a PATH without /usr/local, all deps need to have opt paths.

Fixes Homebrew/homebrew#15077.
2012-09-24 11:09:13 -04:00
Max Howell
c076a272ee Work even when RUBYLIB='-'
Apparently setting RUBYLIB to '-' causes the library path to be unset. So we need to set our own library path in our scripts.

Fixes Homebrew/homebrew-versions/#47.
2012-09-24 09:49:54 -04:00
Max Howell
ca14962ab9 Assign DEVELOPER_DIR before it is needed
On a broken set up, setting DEVELOPER_DIR can fix builds, provided it is set early enough to impact them.
2012-09-24 09:49:54 -04:00
Max Howell
1ae0e93d7e Abort if xcrun -find foo returns superbin/foo
Fixes Homebrew/homebrew#14691.

Rewrite in Ruby to facilitate checking PATHs properly.
2012-09-24 09:49:53 -04:00
Max Howell
82c58bb615 Fix doctor hanging if xcode-select is bad
Also fix typo in the superenv DEVELOPER_DIR set detection code.
2012-09-24 08:49:58 -04:00
Max Howell
bcf0d6f245 superenv: Remove HOMEBREW_PREFIX/bin from PATH
We add the bins from all deps instead. Rationale: formula find and use eg. GNU-coreutils versions of things and then break. Only allow formula to use tools that they depend on and expect.

I want to go further and only add include paths etc. for dependencies, I have done some work on this, but I fear it may be impossible. If an include path is eg. /usr/local/lib/foo/include, is it possible to know if this path is bad? Not always AFAICT.
2012-09-23 21:26:50 -04:00
Max Howell
a0df6180b7 Set DEVELOPER_DIR; Fixes bad xcode-select path
In cases where the xcode-select -print-path is '/' xcrun still hangs indefinitely, setting DEVELOPER_DIR to something (preferably the Xcode path) fixes that. So let's.
2012-09-23 20:57:41 -04:00
Max Howell
7aa38b5d03 Always unpack the source tarball, not the bottle 2012-09-23 20:38:16 -04:00
Max Howell
9ac477b07c brew unpack: support -gpf
-g sets up git repo. -f forces even if already there. I found these useful.
2012-09-23 18:31:10 -04:00
Max Howell
4973329a60 brew cleanup -n: less scary 2012-09-22 00:29:17 -04:00
Max Howell
6e4a01c70a brew --env: Use fetch rather than []
Because we mess with the return value from [] in superenv due to many formula assuming CFLAGS etc. would not be nil.
2012-09-21 23:30:34 -04:00
Max Howell
d147a4b989 superenv: don't set LD
Some compile issue will no doubt elapse, but we can address these on a case-by-case basis.

Refs Homebrew/homebrew#14943.
2012-09-21 23:22:35 -04:00
Jack Nagel
5ebf0416ce cleanup: look for "HEAD", not "sha" in receipt
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-20 16:47:00 -05:00
Jack Nagel
5adea8c1e1 Update Xcode.latest_version for 4.5
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-19 21:27:59 -05:00
Jack Nagel
4db4d90440 Update Xcode guess for 4.5
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-19 15:51:21 -05:00
Max Howell
24b4d445cf Provide more information about bad sf urls 2012-09-18 16:27:35 -04:00
Max Howell
12d17155cf If we delete stuff in the clean step, make fuss
/cc @jwheare
2012-09-18 16:27:34 -04:00
Mike McQuaid
55dc5466fb Fix building bottles from source. 2012-09-18 20:05:03 +01:00
Jack Nagel
bd4f69a718 Don't try to fix @rpath install names
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-18 13:07:00 -05:00
Misty De Meo
2f2645e962 info: Add JSON output
Output JSON with the --json=v1 option. Output is in an array, and
supports one or more formulae (or all, with the --all option).

Why 'v1'? The format is unstable, presumably we'll deprecate it
someday. It should be solid by Homebrew 1.0.

Closes Homebrew/homebrew#13299.
2012-09-17 20:01:37 -05:00
Misty De Meo
ee4c696380 ARGV: add .json
Used by brew info; may be used by other commands in the future.
2012-09-17 19:06:40 -05:00
Misty De Meo
3473bbc010 Make check for stray developer dir more specific
It looks like there can be harmless stuff leftover in
/Developer/Library, even after Xcode uninstalls older versions. The
existence of the uninstall-developer-folder script should be a better
indicator.

Fixes Homebrew/homebrew#14970.
2012-09-16 14:07:38 -05:00
Christian Höltje
d56957d2f8 Prevent linkapps from creating duplicate aliases
`brew linkapps` was creating `MacVim` on the first run, then
`MacVim alias` on the second run.

Closes Homebrew/homebrew#14955.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-15 12:56:18 -07:00
Misty De Meo
e8c372a315 Skip standard compilers check for unknown Xcode
Rescuing false on the StandardCompilers map meant that the doctor
check assumed that the compilers were incorrect, not merely
unknown.

Instead, skip the check and return nil for unknown Xcode; nil
should be interpreted as "dunno", instead of "true" or "false",
and the doctor check no longer prints on nil.
2012-09-14 17:11:51 -05:00
Misty De Meo
50efa98638 Add Xcode 4.5 to StandardCompilers map
We now have several reports of compiler versions for the GM,
e.g. Homebrew/homebrew#14944.
2012-09-14 17:03:35 -05:00
Jack Nagel
2761d3ee49 Restore X11 description to --config output
Oops.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-14 12:29:51 -05:00
Adam Vandenberg
88ad4c061d Support env :std, :userpaths
Closes Homebrew/homebrew#14654.
2012-09-14 09:14:48 -07:00
Max Howell
4bf72a3e62 Puts build-tool args first
build-tool provided args must be considered first by cc, etc. Generally this already occurred for -I flags, because most of our -I flags were -isystem. However it didn't occur for keg-only flags and -L paths.

This was an error.

I amended the refurbishment code to ensure any paths we want to control the order of are thoroughly scrubbed out of the build-tool provided args. This ensures reliability for our builds.

However this path-scrubbing should always occur, even during configure (I am fairly sure of this). So more work is required.

Fixes Homebrew/homebrew#14781.
2012-09-14 11:55:59 -04:00
Max Howell
da1905f216 Make xcrun wrapper search /usr/bin too
The usual xcrun would, and this wrapper exists to also work around broken xcode-select paths.
2012-09-13 17:00:02 -04:00
Max Howell
523f50862b Install plists in FormulaInstaller, not build.rb
Build rb should only build!
2012-09-13 17:00:02 -04:00
Max Howell
fe295faffe ghc requires std-env
Because it builds a tool (cabal) that uses the same env that built it to build stuff.
2012-09-13 16:49:53 -04:00
Max Howell
d1f1d736e8 Don't add GL paths to superenv if depends_on X
Fixes Homebrew/homebrew#14780.
2012-09-13 12:13:36 -04:00
Max Howell
514b1b54cd Support c99/c89 compiles properly
We can't really execute c89/99 explicitly as these POSIX compliant tools support very few args. Best to execute clang or gcc with the --std=cx9 argument appended.

Fixes Homebrew/homebrew#14724.
2012-09-13 11:30:11 -04:00
Max Howell
ffc6423d73 Look harder for bsdmake
bsdmake used to be keg-only, so some users still have it unlinked (presumably they never run brew-doctor). Even though there is code to abort if dependencies are unlinked, it appears broken for this case. So let's just be thorough anyway.

Closes Homebrew/homebrew#14751.
2012-09-13 11:28:31 -04:00
Misty De Meo
93502785c4 --prefix: don't use opt prefix if it doesn't exist 2012-09-13 10:19:11 -05:00
Misty De Meo
0329307770 doctor: Add check for stray pre-4.3 Xcode files
/Developer/Library shouldn't exist if all the remnants of old
Xcode versions have been uninstalled, and tends to cause problems if
it's kept alongside modern Xcode.

"uninstall-developer-folder" should only remove /Developer/Library.
2012-09-13 10:18:21 -05:00
Misty De Meo
5ce864176a edit: create project view with subl, too
Sublime Text's subl tool supports lovely project views just the same
as TextMate. Since I use Sublime, I want good support from `brew
edit` too. :P
2012-09-13 09:39:33 -05:00
Adam Vandenberg
e4d6de0abc Add skip_clean :all to audit 2012-09-13 07:14:45 -07:00
Max Howell
daf8caccd4 Auctex needs user path; Fixes Homebrew/homebrew#14699 2012-09-13 09:15:24 -04:00
Max Howell
d40bbe5af4 Apply userpaths after superenv-setup
Fixes Homebrew/homebrew#14701. Stupid mistake.
2012-09-13 09:06:37 -04:00
Max Howell
ef8a720caa Fixes universal builds; Fixes Homebrew/homebrew#14845 2012-09-13 08:53:35 -04:00
Max Howell
dd917bc105 Use opt prefix for --prefix
Rationale: everyone thinks it points to the currently installed prefix, not the prefix of the formula that is newest and maybe not installed.

The previous behavior was unintentional and evidence proves it is not intuitive either.

I anticipate no regressions. And hope I am right!
2012-09-12 22:09:46 -04:00
Charlie Sharpsteen
ea593cf61c patches.rb: Generalize File recognition
Extend patch case statements for files to objects inheriting from `IO`, which
includes `File`, or `StringIO` which is used by the external command
`brew-unpack` to store `DATA` sections loaded from Formula files.
2012-09-11 22:37:07 -07:00
Jack Nagel
3d6552f8e3 Remove dead code
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-11 14:56:25 -05:00
Jack Nagel
86b2307791 test: be less eager to set up the build environment
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-11 14:47:06 -05:00
Jack Nagel
1c22f03850 cleanup: skip rm_DS_Store during a dry run
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-11 14:41:01 -05:00
Jack Nagel
d5299f4946 cleanup: allow --force to remove keg-only brews again
Fixes Homebrew/homebrew#14840.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-11 14:29:33 -05:00