98 Commits

Author SHA1 Message Date
Mike McQuaid
3982950e61 rubocop --auto-correct all hash-rocket usage. 2016-09-17 16:14:13 +01:00
Mike McQuaid
43d8b969db os/mac: officially support Sierra.
We have a GM, a bunch of bottles and CI setup.
2016-09-17 12:59:32 +01:00
Mike McQuaid
cefaef75e1 os/mac: fix Rubocop warnings. 2016-09-11 17:49:27 +01:00
Markus Reiter
0243e1f9a7 Add language method to OS::Mac. 2016-09-09 20:24:47 +02:00
Mike McQuaid
3a127e405e development_tools: add installed? method. (#455) 2016-07-06 11:07:24 +01:00
Dominyk Tiller
7183a72105
mac: recognise Clang 800 2016-06-14 02:58:07 +01:00
Mike McQuaid
375efe0945 Remove LLVM-GCC support. (#252)
At this point it's never a good compiler to use so let's just remove it.
2016-05-22 09:40:08 +01:00
Mike McQuaid
5c1f463ac0 Move more methods to DevelopmentTools.
Closes #1028.
2016-05-10 08:19:48 +01:00
Mike McQuaid
e316cc9296 Make development tools code cross-platform. 2016-05-08 16:51:22 +01:00
Mike McQuaid
ddb576b582 Add support for testing generic OS.
If the environment variable HOMEBREW_TEST_GENERIC_OS is set ensure that
neither Mac nor Linux-specific code is loaded. This allows easier
testing of cross-platform code on OS X and will make it easier to port
Homebrew to platforms other than OS X and Linux.
2016-05-08 16:51:22 +01:00
Martin Afanasjew
c55da93ff3 xcode: expect 7.3.1 on 10.11 2016-05-05 12:22:37 +01:00
Martin Afanasjew
02289fce42 Update Homebrew/homebrew references in code
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
2016-05-02 21:19:09 +02:00
Martin Afanasjew
8600b9edf1 Update Homebrew/homebrew references in comments
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
2016-05-02 21:19:09 +02:00
Misty De Meo
765cd216f0 Reenable HOMEBREW_PREFER_64_BIT 2016-04-22 22:37:21 -07:00
Misty De Meo
2c9fd850f3 Use GCC 4.2 as the default compiler when installed 2016-04-22 22:37:21 -07:00
Misty De Meo
06a356d9ec STANDARD_COMPILERS: add Xcode 2.0 2016-04-22 22:37:21 -07:00
Misty De Meo
6f6b1111f0 Mac: don't call xcrun on Tiger 2016-04-22 22:37:21 -07:00
Dominyk Tiller
32ae71b256 xcode: expect 7.3 on 10.11
xcode: expect 7.3 on 10.11
2016-04-10 20:00:11 +01:00
Mike McQuaid
77611bafb1 Make Homebrew user agent consistent, use a slash.
Generally it seems user agents are all `software/version` but ours is
not. Also, set the user agent in a way that it's shared between Bash
and Ruby code.

Closes https://github.com/Homebrew/legacy-homebrew/pull/50480.
2016-04-04 12:18:21 +01:00
ilovezfs
3d3e874c68 More comments on SDK handling for >= Xcode 7
Closes Homebrew/homebrew#50537.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-03-31 13:16:50 +08:00
ilovezfs
7651757709 OS::Mac::sdk: remove ensure block
Don't use ensure to do the final check because it won't affect the
return value of the overall function.

Thanks to @xucheng for catching this bug.

Closes Homebrew/homebrew#50536.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-03-31 13:16:50 +08:00
ilovezfs
45e138ffc6 Xcode 7 MACOSX_DEPLOYMENT_TARGET and SDK fixes
SDK 10.10 isn't something that exists for Xcode 7, so stop looking for
it and rely on MACOSX_DEPLOYMENT_TARGET instead.

See PR Homebrew/homebrew#50137 Yosemite build failure

Closes Homebrew/homebrew#50355.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-03-31 13:16:50 +08:00
Dominyk Tiller
e845391359 os/mac: add Xcode 7.2.1 2016-02-07 21:26:56 +00:00
William Woodruff
afe0fde49c os/mac: optionally use ruby_macho.
- and branch for dylib_id_and_dylibs
- add branches for dylib id changing and change_install_name
- rename MachO module to HomebrewMachO to prevent namespace clashes
  with MachO in ruby-macho. this will eventually be replaced entirely
  with direct calls to ruby-macho methods
- break ruby-macho implementation out into separate RubyMachO module,
  and include either RubyMachO or CctoolsMachO (the original
  implementation) based on the HOMEBREW_RUBY_MACHO env var
- move ArchitectureListExtension and RubyMachO into separate files
- create {ruby_,cctools_,,}relocate.rb for isolation of different
  methods of mach-o relocation (ruby-macho vs. cctools)
- fill in require_install_name_tool? for ruby_relocate.rb
- rename {ruby_,cctools_,,}relocate.rb to keg, isolate requires in
  os/mac

Closes Homebrew/homebrew#45001.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-03 21:25:40 +00:00
Mike McQuaid
a59c1ae6cb os/mac: hide GCC warnings in config output. 2016-01-25 20:03:13 +00:00
Baptiste Fontaine
92a71a534f os/mac: use start_with? when possible
Closes Homebrew/homebrew#48071.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-19 14:00:01 +01:00
Mike McQuaid
7076ed890a os/mac: add outdated_release? method.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-01-09 10:30:19 +00:00
Baptiste Fontaine
fedbb06278 os/mac: indent fixes 2015-12-14 13:50:00 +01:00
Dominyk Tiller
6b42a0c1f5 os/mac: add xcode 7.2 2015-12-10 14:27:02 +00:00
Misty De Meo
48bdd4811e MacOS.sdk: return newest SDK if requested not found
`MacOS.sdk` and `.sdk_path` will now return the newest installed SDK
instead of nil if called on a system that doesn’t have an SDK for the
currently-installed OS. For example, Xcode 7 on OS X 10.10 does not
include the 10.10 SDK, only the 10.11 SDK; software can be built by
specifying both SDKROOT and MACOSX_DEPLOYMENT_TARGET.
2015-12-07 13:17:43 -08:00
Misty De Meo
3a1d7e7259 MacOS: refactor sdk_path lookup
* Pull SDK lookup code into a new `locator` class, which caches its
  results
* SDKLocator only queries one SDK location, not all SDK locations
* Build a map of all installed SDKs inside that location, instead of
  just the requested SDK
* Ask xcrun for --show-sdk-platform-path first so that all SDKs can be
  found, instead of asking xcodebuild for a specific SDK
* Add a new `SDK` class, which tracks the version and the prefix; add a
  new `MacOS.sdk` method which returns an `SDK` instance instead of a
  bare path; MacOS.sdk_path still returns a bare path
2015-12-07 13:17:43 -08:00
Dominyk Tiller
cbab4566dd mac: expect xcode 7.1.1 2015-11-29 02:11:32 +00:00
Martin Afanasjew
f6cf1a4025 xcode: expect xcode 7.1
Closes Homebrew/homebrew#45266.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-10-24 17:19:05 +01:00
Martin Afanasjew
30cad0608f os: centralize check for pre-release OS X versions
Provide `OS::Mac.prerelease?` for pre-release checks and use it where
appropriate. This should simplify updating the test once a new OS X
release lands.

This also fixes a bug in `BuildError#dump`, where an empty warning
message was printed on El Capitan after a failed from-source build,
because the check there and the one in `check_for_unsupported_osx` were
out of sync.

Closes Homebrew/homebrew#45257.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-10-23 12:34:44 +01:00
Xu Cheng
646f94adfe move mach.rb to os/mac/mach.rb 2015-10-18 22:57:42 +08:00
Baptiste Fontaine
abfaa59e06 MacOS: full_version added
Closes Homebrew/homebrew#44988.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-10-18 22:57:42 +08:00
Dominyk Tiller
be8d348a6d os: add xcode 7.0.1 2015-10-01 05:51:35 +01:00
Xu Cheng
62be981016 use Pathname#executable? directly 2015-08-22 13:21:13 +08:00
William Woodruff
8793a68ee4 Add no-Xcode documentation for all classes, methods 2015-08-21 11:02:33 -07:00
William Woodruff
1face808f5 Add guards to calls that would trigger Xcode install requests
add guard in Formula#file_modified? to prevent git popup

add guard in Superenv.bin before calling MacOS::Xcode.version

add guard against missing Xcode/CLT in Xcode.uncached_version

return nil instread of 0 in uncached_version when Xcode/CLT are not present, to distinguish from linuxbrew behavior

checks against pour_bottle? and needs_relocation?, add guard around keg.relocate_install_names to check pour_bottle?/needs_relocation? as well

needs_relocation? becomes skip_relocation?, use cellar attr to indicate relocation instead of does_not_need_relocation

MacOS.can_build? becomes MacOS.has_apple_developer_tools?
2015-08-21 11:02:33 -07:00
William Woodruff
91e598cf3f Install: add BuildToolsError and BuildFlagsError
Add these new errors, and guards in formula installation and
cmd/{,un,re}install to match, move can_build? to the MacOS module,
flatten conditions, remove redundant can_build? check

reinstate removed (doctor) check
2015-08-21 10:59:09 -07:00
William Woodruff
85187bf6d3 MacOS: update locate_cctool
This becomes MacOS.{install_name_tool,otool}, only do check_xcode if
xcode is installed, otherwise emit a warning
2015-08-21 10:58:13 -07:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Dominyk Tiller
0d12e4e601 mac: add xcode 6.4 expectation 2015-07-08 15:36:23 +01:00
Jack Nagel
929fd12650 Remove unused method 2015-06-27 16:25:44 -04:00
Dominyk Tiller
90c8b82d38 os: initial El Capitan support 2015-06-14 18:38:55 +01:00
Dominyk Tiller
ad467f0386 os: support xcode 6.3.2
Closes Homebrew/homebrew#39909.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-05-21 13:55:02 +01:00
Xu Cheng
2ea9d7749b non_apple_gcc_version: support gcc5
Closes Homebrew/homebrew#39899.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-05-19 16:10:17 +08:00
Dominyk Tiller
b7844d3b85 os/mac: add xcode 6.3.1 support 2015-04-23 09:23:20 +01:00
Dominyk Tiller
4d442b0316 os: support xcode 6.3
It’s Christmas. New stable OS X version, new Swift version, new Xcode,
new CLT and a new Clang version.

Closes Homebrew/homebrew#38468.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-04-09 11:25:15 +01:00