466 Commits

Author SHA1 Message Date
Martin Afanasjew
06fe347de9 os/mac/ruby_keg: improve error reporting
A failure to change a dylib ID or install name would previously cause a
rather cryptic error message, that didn't include the name of the file
that caused the failure, unless `--debug` was specified. Make sure to
output this information in all cases before re-raising the exception.
2016-08-10 17:56:46 +02:00
Dominyk Tiller
33912e218e
xcode: update expected clang for macOS 10.12 2016-08-10 13:54:19 +01:00
Dominyk Tiller
f10370bde5
xcode: update expected clang for macOS 10.12 2016-08-01 23:46:54 +01:00
Mike McQuaid
0e25fc0143 xcode: add update instruction helpers. 2016-07-27 15:05:42 -06:00
Dominyk Tiller
11583d0f4a
pkg-config: update for macOS 10.12 beta 3 2016-07-20 07:33:24 +01:00
Dominyk Tiller
cbdc1b7652
xcode: update expected clang for macOS 10.12 2016-07-20 07:22:03 +01:00
Xu Cheng
91a47a9ed6 LinkageChecker: simplify logic (#538)
BuiltOptions#without? already handles the option_names for dependencies.

Also check disabled recommended deps.
2016-07-18 18:07:00 +08:00
Dominyk Tiller
a59d346fcf
xcode: track prerelease releases 2016-07-17 23:39:15 +01:00
Martin Afanasjew
ccb11935f6 os/mac/xcode: fix CVS/GCC check if no Xcode
On systems prior to 10.9, formulae that use CVS as a download source
check whether the installed Xcode already provides CVS to avoid adding
a dependency on the `cvs` formula. Unfortunately, if no Xcode is
installed the check fails with

  undefined method `<' for nil:NilClass

causing the formula to become unloadable. This in turn causes some taps
to be untappable since #396 added the `readall` check on `tap`.

Closes #508.
2016-07-16 21:31:17 +02:00
Mike McQuaid
a02be9eea2 ENV: move to new paths. (#507)
Move some stuff formerly in `Library/ENV` around:
- Move `Library/ENV/$XCODE_VERSION` to `Library/Homebrew/env/super` as they are
  all superenv wrappers and all symlinks to the same version. We never needed
  the "separate shims for separate versions" functionality and it just adds
  confusion.
- Move `Library/ENV/pkgconfig` to `Library/Homebrew/env/pkgconfig` to get more
  things under `Library/Homebrew`
- Move `Library/ENV/scm` to `Library/scm` as these wrappers are not actually
  used by or related to superenv (or stdenv) in any way.
2016-07-15 19:03:45 +01:00
Xu Cheng
c021f37525
add Formulary#from_keg 2016-07-15 19:57:23 +08:00
Xu Cheng
0ed673abdb
formula_cellar_checks: add check_linkage
This means linkage checks will be invoked during `brew install` and `brew audit`

Closes #470.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-07-14 15:23:34 +08:00
Xu Cheng
13730a9dad
move LinkageChecker to standalone file 2016-07-14 15:23:33 +08:00
Xu Cheng
de1049f1f1
various: proper escape dot in regex 2016-07-13 19:11:46 +08:00
Dominyk Tiller
1c802dd3c5
xcode: update expected clang for macOS 10.12 2016-07-06 01:14:22 +01:00
William Woodruff
f3a6385c8c ruby_mach: Update cputype case block.
MachOFile#cputype now returns a Symbol.
2016-06-20 23:36:18 +02:00
Dominyk Tiller
425eedf43e
xcode: expect 8.0 on macOS 10.12
Closes #357.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-06-14 02:58:08 +01:00
Mike McQuaid
1c46db9a73 os/mac/version: add macOS Sierra. (#353) 2016-06-13 19:20:00 +01:00
Martin Afanasjew
4da713dd9a xquartz: expect 2.7.9 on 10.6-10.11 (#307) 2016-06-01 11:45:52 +02:00
Martin Afanasjew
9cf2710dc9 os/mac/*_mach: move shared code into 'SharedMachO' (#282)
Both the `CctoolsMachO` and `RubyMachO` module implement a common set of
methods that simplify querying `mach_data`. Move these into a shared
module, that gets included after either of these implementations is
loaded and included in `Pathname`.
2016-05-27 23:13:51 +02: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
504152038c os/mac/sdk: fix bad locate reference.
Closes #216.
2016-05-08 17:23:47 +01:00
Mike McQuaid
181ebbfaeb os/mac/xcode: fix development tools reference.
Closes #216.
2016-05-08 17:07:24 +01:00
Mike McQuaid
e316cc9296 Make development tools code cross-platform. 2016-05-08 16:51:22 +01:00
Mike McQuaid
8d995e961f Make hardware code cross-platform. 2016-05-08 16:51:22 +01:00
Martin Afanasjew
d579dbb4ca xcode: avoid invoking 'xcodebuild -version' twice
This primarily benefits CLT-only systems where invoking the `xcodebuild`
wrapper in `/usr/bin` will fail (twice) with the following message:

  xcode-select: error: tool 'xcodebuild' requires Xcode, but active
  developer directory '/Library/Developer/CommandLineTools' is a command
  line tools instance

Closes #198.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-05 23:34:40 +02:00
Martin Afanasjew
5ee797eb61 xcode: fix invalid range in comparison
Due to a typo, the range of LLVM build versions 2066 to 2325 were never
matched and thus Xcode 3.2.0 could never be inferred from that. (Only
relevant for legacy systems. Doesn't seem to have impacted any users.)
2016-05-05 23:34:40 +02:00
Martin Afanasjew
c55da93ff3 xcode: expect 7.3.1 on 10.11 2016-05-05 12:22:37 +01:00
Misty De Meo
2d81c6878f Hardware: PPC970 needs -m64 to build 64-bit
Fixes mistydemeo/tigerbrew#37.
2016-04-22 22:37:21 -07:00
Misty De Meo
534d6fd527 Move OS::Mac::Xcode.provides_autotools? to compat
Closes #125.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
2016-04-21 09:36:31 -07:00
Misty De Meo
75f1e49027 CLT: special case detect_version pre-3.x
Fixes mistydemeo/tigerbrew#186.

Closes #110.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
2016-04-18 09:52:46 -07:00
Misty De Meo
19fba42c69 Xcode: update version detection for 2.x 2016-04-18 09:52:46 -07:00
Misty De Meo
a1a81daffc XQuartz: detect Tiger's prefix 2016-04-18 09:52:46 -07:00
Misty De Meo
880ba0c952 XQuartz: add Tiger's version 2016-04-18 09:52:46 -07:00
Misty De Meo
eb9e68817d XQuartz: support Tiger's prefix 2016-04-18 09:52:46 -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
276a797d37 Update documentation after repository split. 2016-04-03 14:03:33 +01:00
Tim D. Smith
af36139218 Document that Xcode.prefix can be nil 2016-03-19 19:14:50 +08:00
Tim D. Smith
fe37cc5271 Revert "Avoid constructing paths by string interpolation"
This reverts commit 8c7f3d859e8f715b6c63e4fe75e7a636aee4167f.
2016-03-19 19:14:50 +08:00
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