1630 Commits

Author SHA1 Message Date
ilovezfs
1d7aa1fe0b superenv: help Autotools with 10.12 SDK on 10.11
The GNU Autotools tests for whether a given symbol is defined are
reliably coming to incorrect conclusions on 10.11 with the 10.12 SDK
in Xcode 8. This overrides its decisions by forcing the right answer
in superenv using ac_cv_func_* environment variables and setting them to
"no" on 10.11. The list of problematic symbols is from

  grep 'weak$os10.11' MacOSX.sdk/usr/lib/system/libsystem_c.tbd
2016-09-15 03:34:43 -07:00
Mike McQuaid
b42f646cec extend/pathname: fix Rubocop warnings. 2016-09-13 07:57:15 +01:00
Mike McQuaid
6a81782753 extend/os/mac/development_tools: fix Rubocop warnings. 2016-09-13 07:57:09 +01:00
Mike McQuaid
df5605fa01 extend/fileutils: fix Rubocop warnings. 2016-09-13 07:57:07 +01:00
Mike McQuaid
fb3bec8d70 extend/ENV/super: fix Rubocop warnings. 2016-09-13 07:57:06 +01:00
Mike McQuaid
c3dab72e37 extend/ENV/std: fix Rubocop warnings. 2016-09-13 07:57:04 +01:00
Mike McQuaid
fe661a809c extend/ENV/shared: fix Rubocop warnings. 2016-09-13 07:57:02 +01:00
Mike McQuaid
17a7c23881 extend/ARGV: fix Rubocop warnings. 2016-09-13 07:56:57 +01:00
Dominyk Tiller
aa3ce859a7
diagnostic: tweak check_xcode_up_to_date messaging 2016-09-10 16:30:22 +01:00
Mike McQuaid
d1ba4f44c0 Merge pull request #833 from DomT4/death_by_xcode
xcode: die unless Xcode/CLT up-to-date on prerelease macOS
2016-09-07 09:51:06 +01:00
Mike McQuaid
f1cc1265af Refactor MacOS check_development_tools usage.
Better use the abstraction layer so e.g. Linux could have similarly
fatal checks for these things.
2016-09-07 09:11:06 +01:00
Tim D. Smith
7303a55cc0 Merge pull request #866 from tdsmith/audit-libressl
Catch system libressl in openssl audit as well
2016-09-05 14:25:51 -07:00
Tim D. Smith
a4b4b9cd90 Catch LibreSSL libtls as well
Update the description to reflect that we may be talking about either crypto library and neither is okay. :)
2016-09-04 16:28:51 -07:00
Mike McQuaid
dfcbefff73 Merge pull request #201 from gregory-nisbet/feature-env-shells
--env: support more shells, allow explicit shell selection
2016-09-04 21:23:33 +01:00
Tim D. Smith
bf18808930 Catch system libressl in openssl audit as well
The regex didn't match libcrypto.35.dylib, and it should have.
2016-09-03 22:13:09 -07:00
Dominyk Tiller
1408b5ffd4
diagnostic: add strict_development_tools_checks 2016-08-30 03:54:24 +01:00
Markus Reiter
fa19447a2d Merge pull request #793 from reitermarkus/refactoring-pathname
Merge Cask’s `Pathname` extension with Homebrew’s.
2016-08-24 12:32:17 +02:00
Misty De Meo
e93771ae07 no_weak_imports: call ENV.append, not .add 2016-08-24 16:20:13 +10:00
Markus Reiter
85635a1e19 Merge Cask’s Pathname extension with Homebrew’s. 2016-08-24 00:43:32 +02:00
Mike McQuaid
602fb0e575 Make -no_weak_imports opt-in.
The experiment to add `-no_weak_imports` unconditionally has been a bit
of a failure. It's broken more than it's fixed and I don't think we can
have this as a default for Xcode 8.

Add `ENV.no_weak_imports` to be used by formulae authors and make
`ENV.no_weak_imports a no-op (for now).

We may reconsider this behaviour in future.
2016-08-22 10:39:38 +01:00
Mike McQuaid
893c80d3ba Merge pull request #741 from tdsmith/weak-imports-opt-in
Add permit_weak_imports directive
2016-08-19 16:19:56 +01:00
Xu Cheng
e423617d77
remove ruby 1.8 compatible codes 2016-08-18 14:35:39 +08:00
Tim D. Smith
9c7f24b84a Add permit_weak_imports directive
Issue Homebrew/homebrew-core#3727 suggested we set -no_weak_imports for
new versions of Xcode to ensure that e.g. building on 10.11 against the
10.12 SDK doesn't result in a situation where autotools thinks symbols
exist that don't actually exist on the current platform.

Further discussion in golang/go#16770 revealed that some packages
require weak imports to build normally.
2016-08-17 23:02:44 -07:00
Tim D. Smith
764390aadd Document 'w' CCCFG flag 2016-08-17 23:02:38 -07:00
Xu Cheng
c8d814f907
ENV/super: use Hardware::CPU.is_32_bit?
`Hardware.is_32_bit?` is deprecated.
2016-08-17 22:13:30 +08:00
Mike McQuaid
27fc2abaca shared: handle missing Xcode/CLT version.
Fixes https://github.com/Homebrew/homebrew-core/issues/3973.
2016-08-17 13:23:13 +01:00
Mike McQuaid
6878577d12 Merge pull request #721 from MikeMcQuaid/no_weak_imports
Set -no_weak_imports linker flag for Xcode 8
2016-08-17 12:22:28 +01:00
Mike McQuaid
f32251d461 extend/fileutils: assume Ruby 2. 2016-08-17 09:19:56 +01:00
Mike McQuaid
5609183567 superenv: add LDFLAGS if disabling weak imports. 2016-08-16 15:26:28 +01:00
Mike McQuaid
53d1000739 ENV/std: add LDFLAGS if disabling weak imports. 2016-08-16 15:26:28 +01:00
Mike McQuaid
b33fe79478 mac/ENV/shared: add check for disabling weak imports. 2016-08-16 15:26:28 +01:00
Mike McQuaid
74d4479246 Add OS X-specific SharedEnvExtension. 2016-08-16 15:26:28 +01:00
Greg Nisbet
9a29a306cf resolve conflict in diagnostic.rb 2016-08-10 23:19:09 -07:00
Vlad Shablinsky
9754dbada8
Update upgrade/outdated methods for head versions
Introduce `--fetch-HEAD` option. Without this option upgrade and
outdated never fetch latest upstream commit to detect if HEAD is
outdated -- tabs are used instead. However, if option is passed,
we fetch commit from upstream, which is more time consuming,
but we can be sure that version is up-to-date or outdated.
2016-08-06 21:25:56 +08:00
Uladzislau Shablinski
63c563f970 Fix update commit for non-HEAD kegs with head spec (#644)
If we try to call `Formulary.from_keg(f, :head)` on the keg that
is not HEAD-keg itself, we don't need to update commit of
returned formula and should use just HEAD version with nil commit.

Same is true for `ARGV.resolved_formulae`
2016-08-06 16:22:12 +08:00
Mike McQuaid
164e46a729 Add missing development_tools requires. 2016-07-29 21:21:02 -06:00
Mike McQuaid
5566757f60 linux/hardware/cpu: import family from Linuxbrew. 2016-07-29 21:21:02 -06:00
Mike McQuaid
3469f177f0 audit: don't check formula linkage.
This partly reverts commit 0ed673abdb59e2f75f9b8539cce318607924e87f.
2016-07-28 16:53:41 -06:00
Mike McQuaid
9f74ca80af diagnostic: port to generic layer. 2016-07-27 15:05:42 -06:00
Mike McQuaid
012fc4709a development_tools: add install instruction helpers. 2016-07-27 15:05:42 -06:00
Mike McQuaid
c86c600bfd blacklist: port to generic layer. 2016-07-27 15:05:42 -06:00
Xu Cheng
cd2288a561 audit: only check undeclared deps for standard installations. (#576)
In fact, we don't really care about undeclared dependencies for optional
installations. Because, this is mainly used to help us to detect breakage
for bottles so we can do a revision bump.
2016-07-24 20:18:59 +08:00
Dominyk Tiller
a3a6a8381d
mac/diagnostic: add check_for_prerelease_xcode
Closes #524.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-07-17 23:39:16 +01:00
Uladzislau Shablinski
092d4712a1 Update commit when resolving the formula (#536) 2016-07-17 16:56:13 +08:00
Martin Afanasjew
2633f888d4 extend/ARGV: avoid assignment in argument list
Aside from being bad style, this also assigns to an unused variable.
2016-07-17 02:31:07 +02:00
Xu Cheng
7e14ec0ba6
ARGV#kegs: using installed_prefix to locate keg 2016-07-17 02:23:37 +08:00
Xu Cheng
f811a45fe4
ARGV#resolved_formulae: check whether input is a formula file 2016-07-17 02:23:37 +08:00
ilovezfs
356018501b ENV: fix homebrew_extra_pkg_config_paths
Switch to HOMEBREW_LIBRARY since HOMEBREW_LIBRARY_PATH already includes
"/Homebrew" and HOMEBREW_LIBRARY is less confusing.

Closes #530.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-07-16 08:09:43 -07:00
Vlad Shablinsky
3fb5d70a72
Unify Version.create usage
Substitue each Version.new and HeadVersion.new with Version.create
to unify Version and HeadVersion instantiation among core code.

Note that this does not relate to Mac::OS::Version class.
2016-07-16 20:39:13 +08: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