327 Commits

Author SHA1 Message Date
Tim D. Smith
87781f2a37 Avoid constructing paths by string interpolation
Closes Homebrew/homebrew#50154.
2016-03-19 19:14:50 +08:00
Tim D. Smith
f0a5abe12e More specific test for default prefix
cf. Homebrew/homebrew#50154
2016-03-19 19:14:50 +08:00
Tim D. Smith
f30c264519 Avoid pathological trailing slash
Resolves an issue where xcode-select output with a terminal slash leads
to superenv failing to strip system library paths from ccld-style
invocations.

Fixes Homebrew/homebrew#49731. Discussion in Homebrew/homebrew#50154.
2016-03-19 19:14:50 +08:00
Martin Afanasjew
c20809526c os/mac/ruby_mach: don't hide actual parse errors
The current approach of suppressing all output regardless of what the
error is makes it very hard to debug any issues and misread but valid
Mach-O files will be silently interpreted as non-Mach-O files instead.

Prefer to fail if we are a Homebrew developer or running on the bot
(`HOMEBREW_DEVELOPER=1`), so that problems will be noticed and fixed
before the silent failure leads to hard-to-diagnose user problems.

Closes Homebrew/homebrew#48817.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-02-25 21:54:42 +01:00
Dominyk Tiller
8f3a76f4aa os/mac/xcode: expect 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
William Woodruff
35e2209c10 architecture_list: add new module.
remove old mach.rb, replace with cctools_mach.rb and prune ELF case
move ArchitectureListExtension to separate file ELF support is
maintained in Linuxbrew
2016-02-03 21:24:21 +00:00
ilovezfs
37e423ebb2 os/mac/hardware: add Skylake CPU.
Closes Homebrew/homebrew#48781.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-03 21:10:01 +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
Dominyk Tiller
50dc5f7a3d os/mac/xcode: expect xcode 7.2 2015-12-10 14:27:02 +00: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
f1b555b150 xcode: expect 7.1.1 2015-11-29 02:11:32 +00:00
Ryan Hendrickson
91dd4d56d4 os/mac/hardware: reverse universal_archs entries.
The order ought not to matter, but GCC can fail with -arch i386 -arch
x86_64 (producing an error like "FATAL:Bad fx_size (0x8) in
fix_to_relocation_info()") but succeed with -arch x86_64 -arch i386.

Closes Homebrew/homebrew#45401.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-11-01 09:30:00 -08:00
Martin Afanasjew
4db8ef00bf xquartz: add 2.7.8
Closes Homebrew/homebrew#45254.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-10-29 01:51:46 +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
b743cadd87 use Utils.popen_read instead of ENV trick to escape path
Closes Homebrew/homebrew#45021.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-10-18 22:57:43 +08:00
Xu Cheng
646f94adfe move mach.rb to os/mac/mach.rb 2015-10-18 22:57:42 +08:00
Dominyk Tiller
0024296480 xcode: expect xcode 7.0.1 2015-10-01 05:54:14 +01:00
Dominyk Tiller
b505c65b78 xcode: update 10.11 clang expectation 2015-09-04 20:19:34 +01:00
Misty De Meo
727239e12f Merge bottle install without Xcode branch
Merge branch 'bottle_hooks'
2015-08-21 11:04:22 -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
Dominyk Tiller
212d0b82fd xcode: update 10.11 clang 2015-08-21 03:10:18 +01:00
Xu Cheng
b121e5fd7b more core file style updated by rubocop 2015-08-06 17:23:56 +08: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
46d45677cc xcode: update clang expectation for 10.11 2015-07-30 18:13:41 +01:00
Dominyk Tiller
639329cf80 xcode: update regex
Ensures we capture Clang's fourth-digit when it exists. This seems to be on pre-release
versions of OS X only, but is the cause of the misdetection of CLT up-to-date status
on 10.11 several weeks ago.

For full explanation, see Homebrew/homebrew#42261.

Closes Homebrew/homebrew#42261.
2015-07-30 18:07:07 +01:00
Dominyk Tiller
6a534f569d xcode: update clang for 10.11 2015-07-09 01:22:51 +01:00
Dominyk Tiller
754c950e3e xcode: add 6.4 expectation 2015-07-08 15:36:23 +01:00
Dominyk Tiller
a4cf3c273b xcode: update clang version
Closes Homebrew/homebrew#41095.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-06-27 19:31:40 +01:00
Jack Nagel
f59b164733 Add explicit branch for 10.11 in Xcode version list 2015-06-16 20:02:10 -04:00
Jack Nagel
f4027cc9ac "Mac OS X" -> "OS X" in copy 2015-06-16 20:02:10 -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
enami tsugutomo
0b4379e049 hardware: correctly detect early 2015 MacBook Pro.
Closes Homebrew/homebrew#38996.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-04-24 18:26:42 +01:00
Dominyk Tiller
a188f343a6 mac/xcode: add xcode 6.3.1 support
Closes Homebrew/homebrew#38514.
2015-04-23 09:23:21 +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
Dominyk Tiller
1c189cfc48 os: support xcode 6.2
Presume this will need to wait for the bots to be updated, but Xcode
6.2 has landed.

Closes Homebrew/homebrew#37549.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-03-10 08:33:08 +00:00
Jack Nagel
383929f336 Include more features in Hardware::CPU.features 2015-02-27 20:38:01 -05:00
Jack Nagel
1cca304f35 Make sysctl methods private rather than protected 2015-02-27 20:38:01 -05:00
Jack Nagel
889cfcc211 Drop unnecessary $?.success? check 2015-02-27 20:38:01 -05:00
Jack Nagel
1255f7b894 Move caching from sysctl_bool to sysctl_n 2015-02-27 20:38:01 -05:00
Jack Nagel
37c394f828 Add sysctl_n and sysctl_int methods to Mac hardware module 2015-02-27 20:38:01 -05:00
Viktor Szakats
fc2818b7a5 Use more https in urls and updated some lost links
Closes Homebrew/homebrew#35531.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2015-01-04 02:13:16 -05:00
Jack Nagel
9a2f2aee7e Use Utils.popen_read to avoid shelling out in a few places 2014-12-16 15:51:57 -05:00
Dominyk Tiller
b1a2104f0a os: xcode bump
Bumps to the latest Xcode 6.1.1.

Closes Homebrew/homebrew#34632.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-12-03 11:50:40 +00:00
Jack Nagel
e5e206f4f1 Revert "Revert "xcode: use 6.1 on Mavericks.""
This reverts commit 2b472a6e2634a7b7592abb7084b20a098f4a488b.
2014-10-29 11:03:54 -05:00
Mike McQuaid
7b02304b64 Improve API documentation output.
And include more files.
2014-10-26 15:42:41 +00:00
Mike McQuaid
19d12aee45 Import docs from wiki.
Closes Homebrew/homebrew#33211.
2014-10-26 14:57:36 +00:00
Jack Nagel
f29376c867 Revert "xcode: use 6.1 on Mavericks."
Pending resolution of Homebrew/homebrew#33431.

This reverts commit bf434e2f7d18ba7d77ac15d54a43c555bc4019c8.
2014-10-21 17:47:30 -05:00