268 Commits

Author SHA1 Message Date
Mike McQuaid
e5c82dd3d9 Deprecate requirements harder
Remove more Requirement logic to enable future removal of default
formula logic. Also, output deprecations, convert symbol requirement
usage to deps and simplify the compatibility code for the direct
Requirement usage.
2018-01-18 08:31:20 +00:00
Mike McQuaid
27be33b245 Deprecate Git, Subversion requirements.
These rely on `default_formula` to be useful and are better following
the `*_dep_if_needed` pattern.
2018-01-10 13:19:50 +00:00
Shaun Jackman
5d9149a4b9 LD64Dependency is needed on macOS only
Move ld64_dependency.rb to os/mac/.
2018-01-03 10:52:12 -08:00
Mike McQuaid
d54e670a64 requirements: move more to compat. 2017-12-30 20:56:55 +00:00
Mike McQuaid
38ce994007 Deprecate more requirements.
These are ones that were either already deprecated due to audit rules
or are just a simple `which` with a `default_formula` so should just
be a dependency.
2017-12-23 16:53:25 +00:00
Mike McQuaid
5b178c2892 dependency_collector: cleanup optional system deps 2017-12-23 16:36:33 +00:00
Mike McQuaid
837ea74f44
Merge pull request #3543 from MikeMcQuaid/remove-env-unsets
Remove some unset/checked environment checks
2017-12-10 17:46:29 +00:00
Shaun Jackman
020c1adebd X11Requirement: Inherit from generic class [macOS]
Fix the warning: already initialized constant X11Requirement
2017-12-08 10:38:58 -08:00
Mike McQuaid
6b9ca5dbf5 Remove some unset/checked environment checks
These will be redundant once environment filtering is on by default
in #3529.
2017-12-08 16:33:33 +00:00
Mike McQuaid
5055c31a86
Merge pull request #3483 from sjackman/x11
Implement X11Requirement for Linux
2017-12-08 15:47:37 +00:00
Shaun Jackman
0575d7b610 config: Print host glibc version [Linux] 2017-12-07 10:37:19 -08:00
Shaun Jackman
804393efc4 Implement X11Requirement for Linux
Move the XQuartz implementation to extend/os/mac/requirements.
2017-12-07 08:45:29 -08:00
Shaun Jackman
e5847b652f extend/pathname: Add os/linux/elf.rb 2017-12-03 16:22:51 -08:00
Mike McQuaid
d0e893fab6
Merge pull request #3516 from sjackman/system-config-version
config: Print the linked_version [Linux]
2017-12-03 09:19:22 +00:00
Shaun Jackman
06b9f1c50d config: Print the linked_version [Linux]
Otherwise when the keg was installed but out-of-date, it would display "N/A".
2017-12-02 09:27:39 -08:00
Shaun Jackman
0ce7a74c58 Hardware::CPU: Implement OS-agnostic methods 2017-12-01 15:18:35 -08:00
Mike McQuaid
fb6cf0c3f8 More environment filtering fixes
- Make `brew pull` pass through Git environment variables
- Whitelist all `TRAVIS_` variables.
2017-11-27 10:48:03 +00:00
Shaun Jackman
7394208873 Cleaner: ELF files are executable on Linux 2017-11-26 08:25:50 -08:00
ilovezfs
15a2ef525f ENV: don't set MACOSX_DEPLOYMENT_TARGET
CMake tries to use Xcode if MACOSX_DEPLOYMENT_TARGET is set but that can
lead to build failures when SDKROOT isn't set. The CMake behavior at
minimum manifests as -isysroot spontaneously being set to the Xcode SDK,
which brew sometimes can't successfully fully unwind with its ENV hacks.
2017-11-18 11:31:08 -08:00
Mike McQuaid
2e1331cbc8 Tweak SDK variables for new Xcode/CLT setup. 2017-11-17 21:35:49 +00:00
Mike McQuaid
cd0db51343 diagnostic: check if Xcode needs CLT installed.
Require the CLT on all but the latest version of macOS to avoid the
continuous workarounds for SDK weirdness.
2017-11-17 21:35:49 +00:00
Mike McQuaid
5241d07474 environment filtering: pass through TRAVIS vars.
We use these internally so let's map them to `HOMEBREW_` variables.
2017-11-13 10:01:54 +00:00
Mike McQuaid
ee4172159b
Merge pull request #3377 from maxim-belkin/extend-pathname
pathname: new methods and improvements
2017-11-10 17:49:27 +00:00
Maxim Belkin
de0b93f912
pathname: improvements, cleanups, and new methods
- atomic_write: close file before renaming to prevent error:
  'Device or resource busy'
- ensure_writable: preserve executable bit
- new elf? and dynamic? methods
2017-11-07 14:18:25 -06:00
Mike McQuaid
2ad1799308 os/mac/diagnostic: fix XQuartz message.
Fixes #3434.
2017-11-07 07:39:10 +00:00
Mike McQuaid
603d6fd1f5 ENV/super: simplify version checks. 2017-11-05 15:39:43 +00:00
Mike McQuaid
8c6defd9cf diagnostic: simplify version checks. 2017-11-05 15:39:43 +00:00
Mike McQuaid
b69d71edea system_config: handle new non-string Xcode version 2017-11-05 15:39:43 +00:00
JCount
224864b149 java_requirement: support prompting users to install legacy Java casks
This enhances the Java requirement to support prompting the user
to install the correct legacy Java version via Cask for formulae
that don't yet work with the latest version of Java. Previously,
even if the formula had a strict requirement that a specific,
older version of Java be used, the messaging would tell the user to
`brew cask install java` (i.e. to install the latest version of Java),
which wouldn't actually satisfy the requirement.
2017-10-26 09:57:03 -04:00
Markus Reiter
9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Maxim Belkin
dd9415c8d3
remove sneaky empty line 2017-10-16 12:23:27 -05:00
Maxim Belkin
336fbb5db2
caveats: making plist_caveats macOS-only 2017-10-16 11:15:54 -05:00
Maxim Belkin
5140c741f3
caveats.rb: empty method on Linux 2017-10-13 13:26:14 -05:00
ilovezfs
e8da9613fb Revert "mach: Avoid reopening the file for relocation" 2017-09-27 02:08:23 -07:00
ilovezfs
0831f31e44 Revert "keg_relocate: use correct number of arguments in call to change_install_name" 2017-09-27 02:07:22 -07:00
Steven Peters
fc5b3778cb keg_relocate: fix call to change_install_name
During the changes to macho file relocation refactoring
in #3101, #3138, and #3139,
the number of arguments to the mach::change_install_name
function changed from 3 to 2, but
there was still an instance of the function being called
with the wrong number of arguments.
2017-09-26 17:30:28 -07:00
William Woodruff
6098998674 Merge pull request #3139 from woodruffw/macho-use-object
mach: Avoid reopening the file for relocation
2017-09-25 23:30:42 -04:00
William Woodruff
d618e574fb
mach: Avoid reopening the file for relocation
This commit allows the relocation code to perform install name
and dylib ID changes without reopening the file separately.
2017-09-25 17:46:23 -04:00
Mike McQuaid
6b3bb666e8 Merge pull request #3174 from sjackman/popen-options
popen: Do not suppress stderr when HOMEBREW_STDERR
2017-09-23 16:31:52 +01:00
Mike McQuaid
d7fbcc6211 Merge pull request #3190 from MikeMcQuaid/curl_https_fix
development_tools: fix curl https handling.
2017-09-23 10:58:10 +01:00
ilovezfs
352a8817e9 superenv: more help for Autotools with 10.13 SDK on 10.12
Add fmemopen and open_memstream to the list of ac_cv_func_*=no symbols
for 10.12 with the 10.13 SDK.
2017-09-22 17:10:40 -07:00
Mike McQuaid
0e766d00a5 development_tools: fix curl https handling.
`curl` can handle modern certificates _unless_ it is too old. This
broke `brew audit`'s HTTPS detection code.
2017-09-22 16:02:09 +01:00
Mike McQuaid
7d720e8fac Merge pull request #3164 from MikeMcQuaid/portable-ruby-2.3.3
Upgrade vendored Ruby to 2.3.3.
2017-09-21 15:32:41 +01:00
Mike McQuaid
b2b413165f Upgrade vendored Ruby to 2.3.3.
Use this version whenever 2.3.3 isn't installed. Also, remove the Linux
portable Ruby for now until it's built to be the same version.
2017-09-21 14:27:17 +01:00
ilovezfs
733d485065 superenv: help Autotools with 10.13 SDK on 10.12
The GNU Autotools tests for whether futimens and utimensat are available
reliably come to incorrect conclusions on 10.12 with the 10.13 SDK in
Xcode 9. This overrides its decisions by forcing the right answer
in superenv using ac_cv_func_* environment variables and setting them to
"no" on 10.12.
2017-09-21 04:11:34 -07:00
Shaun Jackman
8bb57187ab locate: Suppress stderr
Suppress the error message:
xcrun: error: unable to find utility "gcc-4.0", not a developer tool or in PATH
2017-09-20 13:25:37 -07:00
Mike McQuaid
ffdda0eb9f Tweaks for older Mac OS X versions.
- `brew update` should try to install `curl` before `git` on older
  versions of Mac OS X where it is needed for accessing modern SSL
  certificates.
- We don't need an HTTP mirror for `git` because `curl` will already be
  installed before it is downloaded.
- Don't recommend GCC on Mac OS X versions where it can't be built with
  the default system compiler.
- Start using the Homebrew `curl` on Mac OS X versions where it is
  needed as soon as it is installed.
2017-09-16 12:41:08 +01:00
Mike McQuaid
e12d2746b6 os/mac/diagnostic: allow custom Ruby for devs.
This avoids `brew doctor` warnings on High Sierra but in general this is
a good idea for future versions and to allow Homebrew developers to test
things out with different versions of Ruby.
2017-09-15 08:06:58 +01:00
ilovezfs
a4c5e64da4 Revert "mach: Avoid reopening the file for relocation" 2017-09-08 12:32:32 -07:00
William Woodruff
a77a1f949a Merge pull request #3101 from woodruffw/macho-use-object
mach: Avoid reopening the file for relocation
2017-09-08 14:30:23 -04:00