48 Commits

Author SHA1 Message Date
Jack Nagel
c2fd7856d2 Prevent repeated lookups of nil-valued keys 2013-01-08 10:21:28 -06:00
Jack Nagel
3dcce70a6a Better reporting for MacPorts/Fink installations
closes Homebrew/homebrew#15853.
2012-12-17 17:18:22 -06:00
Mike McQuaid
fe4e73db32 Fix stupid typo in bottle fix. 2012-12-12 00:47:02 +00:00
Mike McQuaid
584768b93f Disable bottle installation correctly on 10.6. 2012-12-11 23:39:43 +00:00
Jack Nagel
827e4f813f Don't print error message when dev_tools_path fails to find tools
This message is either (a) never printed because the tools are
installed, or (b) printed every time this method is called.

See Homebrew/homebrew#16119.

This code shouldn't be responsible for UX anyway, so just remove it and
let other parts of Homebrew be responsible for failing or declaring that
they need the developer tools.
2012-12-08 16:51:29 -06:00
Mike McQuaid
4b0e663c2c Improve bottle error messages.
On installation or creation of a bottle error out of the current
machine does not support bottles.

References Homebrew/homebrew#16291.
2012-12-04 12:06:02 +00:00
Jack Nagel
fa6cf55f58 Add Xcode 4.5.2 to standard compilers map
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-11-01 14:13:26 -05:00
Jack Nagel
73b7c52673 Reduce code footprint of standard compilers map
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-15 18:17:22 -05:00
Jack Nagel
f2b6ec0bfc Advise brew update before filing issues about compiler versions 2012-10-06 13:20:19 -05:00
Jack Nagel
736717cf24 Add Xcode 4.5.1 to compiler map
Closes Homebrew/homebrew#15282.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-03 22:14:03 -05: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
59d5a246e7 Clean up MacOS version method usage
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.

"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.

The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-10 16:16:54 -05:00
Jack Nagel
ffd6e7f340 Fix typo in MacOS.sdk_path
/cc @adamv

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-03 18:14:30 -05:00
Jack Nagel
eb3c0cd273 Don't error out with Xcode 4.5
c.f. Homebrew/homebrew#14603.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-03 15:15:39 -05:00
Stephan Zeissler
b49fa78f96 Change sdk detection to same syntax used elsewhere.
This wasn't working for me on leopard with ruby 1.9.2.

Closes Homebrew/homebrew#14636.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-02 11:05:03 -07:00
Max Howell
1555436f70 MacOS.sdk_path is unlicensed Xcode aware
Now we should get an sdk_path, but tools like xcodebuild, xcode-select and xcrun will still error out. But at least more of Homebrew will work.

Also putting the Xcode 3 path finder last. We get bug reports because newer Xcodes are installed in parallel to older Xcodes. We want to find and use the newer Xcode's first. Xcode.prefix is pretty smart about that.

Refs Homebrew/homebrew#14558.
2012-08-31 10:22:11 -04:00
Max Howell
65d195dcaa superenv: build-environments that just work
1. A minimal build environment, we don't set CFLAGS, CPPFLAGS, LDFLAGS, etc. the rationale being, the less that is set, the less variables we are introducing that can break builds.
2. A set of scripts that replace cc, ld, etc. and inject the -I, -L, etc. flags we need into the args passed to the build-tools.

Because we now have complete control over compiler instantiations we do a variety of clean-up tasks, like removing bad flags, enforcing universal builds and ensuring makefiles don't try to change the order of library and include paths from ones that work to ones that don't.

The previous ENV-system is still available when --env=std is specified.

superenv applies to Xcode >= 4.3 only currently.
2012-08-29 12:41:34 -04:00
Max Howell
0509406069 Use full paths to mdfind and pkgutil 2012-08-27 12:57:56 -04:00
Jack Nagel
757b73e9a9 Ask the user for help if MacOS.compilers_standard? fails
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-26 13:57:23 -05:00
Mike McQuaid
67f78074f9 Miscellaneous bottle code cleanup. 2012-08-25 13:08:46 -07:00
Jack Nagel
8a9a1d5b00 Simplify MacOS.locate
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-20 15:00:32 -05:00
Jack Nagel
f471c3e99f MacOS.dev_tools_path: return nil if not found
This matches the semantics of other path methods, such as Xcode.prefix.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-20 15:00:32 -05:00
Jack Nagel
166a9ba0ed Deprecate MacOS.version? style methods
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-18 11:25:59 -05:00
Jack Nagel
b8231fc5f3 Add custom comparator for MacOS.version
This will allow us to do comparisons like

  if MacOS.version >= :lion

and hopefully deprecate the MacOS.<name>? family of methods, which are
counterinitutive.
2012-08-18 11:13:54 -05:00
Jack Nagel
1a8d535721 Add Xcode 4.4.1 to standard compilers map
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-17 22:38:32 -05:00
Misty De Meo
d58fc0c2e4 dev_tools_path: Don't trust exit status of xcrun
A user on IRC was getting strange results from MacOS.dev_tools_path.
It turns out that xcrun's exit status is not always reliable - if
xcrun is a shim and not able to locate the real xcrun, it will exit
0 despite not actually doing what it was asked. Instead check to see
if the stout is empty.
2012-08-09 16:33:49 -05:00
Mike McQuaid
cdc987286a Add better named aliases for macos_version_or_newer? 2012-08-04 10:36:31 +01:00
Jack Nagel
148617bc11 Move X11 machinery into MacOS::XQuartz namespace
In order to better support Xcode-only systems, where X11 libs and
executables live under /usr/X11 but headers live in the SDK, move the
x11_* helper methods into a new module.

This allows us to keep some of the CLT/Xcode-only and Apple X11/XQuartz
logic hidden from outside code, like ENV.x11.

Since Apple's X11 is actually XQuartz, name the module "MacOS::XQuartz".
2012-08-01 00:31:38 -05:00
Misty De Meo
1a48dbc967 xquartz_version: escape spaces for mdls 2012-07-31 10:54:25 -03:00
Misty De Meo
fcbee28447 mdfind: Check if path is nil as well as empty 2012-07-31 00:14:52 -03:00
Misty De Meo
9af7e25e03 mdfind: don't strip
Since we're splitting on newlines, stripping shouldn't be necessary.
2012-07-30 23:36:00 -03:00
Misty De Meo
2056e24a12 mdfind: Handle multiple results
Turns out mdfind can return multiple results on the commandline, if
more than one app bundle matches.

Fixes Homebrew/homebrew#13789.
2012-07-30 23:20:05 -03:00
Jack Nagel
4dde88b6d3 Un-break MacOS.sdk_path
MacOS.sdk_path is meant to return the SDK path that matches the version
argument, so store the result in a hash.

Fixes Homebrew/homebrew#13623.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-27 02:40:44 -05:00
Jack Nagel
74839417ea Rename xctools_fucked?
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-25 12:04:42 -05:00
Jack Nagel
a784d2e045 Move Xcode and CLT modules to a new file
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-25 12:04:41 -05:00
Jack Nagel
62482504a9 Split Xcode and CLT methods into separate modules
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-25 11:58:01 -05:00
Jack Nagel
02f48dd7d8 MacOS: avoid checking clt_version in clt_installed?
Checking "not clt_version.empty?" is unnecessary if we are also checking
that dev_tools_path is /usr/bin.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-25 11:58:01 -05:00
Jack Nagel
0b1d759c2c MacOS module cleanups
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-25 11:58:01 -05:00
Misty De Meo
3696180fd7 Update Xcode checks for 10.8 2012-07-12 14:34:00 -05:00
Jack Nagel
577fe6d72b Fix 'or' precedence errors
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-05 15:42:28 -05:00
Camillo Lugaresi
65567eb55f add method to find XQuartz version 2012-07-01 12:12:44 -05:00
Camillo Lugaresi
a07085df2d use XQuartz when present 2012-07-01 12:10:32 -05:00
Jack Nagel
17e7b7eaa4 Clarify comment
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-30 14:10:03 -05:00
Jack Nagel
cfe58531ee Address some style issues in MacOS module
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-30 14:01:07 -05:00
Jack Nagel
8f6ee31004 Add mdfind method to MacOS module
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-29 12:40:26 -05:00
Jack Nagel
f2e076e5cc Organize compiler methods
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-28 14:12:50 -05:00
Adam Vandenberg
0bb95960e6 Extract MacOS module to separate file 2012-06-27 12:09:57 -07:00