1397 Commits

Author SHA1 Message Date
Steven Peters
34bf7c9bf5 os/mac/keg: Frameworks -> MUST_BE_WRITABLE_DIRS
Also add it to MUST_EXIST_SUBDIRECTORIES.
2019-10-23 00:36:23 -07:00
Mike McQuaid
cddf402365
Merge pull request #6620 from scpeters/must_exist_frameworks
os/mac/keg: Frameworks -> MUST_EXIST_DIRECTORIES
2019-10-22 09:15:51 +01:00
Mike McQuaid
d15edf735a
extend/string: use unless to fix style. 2019-10-22 08:24:32 +01:00
David Griffith
11f322b61c Trying this to please brew test-bot. 2019-10-21 19:01:54 -07:00
David Griffith
5b58931ebd Fix stupid mistake in 6ff61909a91edf3f31adc608dcafd3f5f8e642d0
I forgot to alter the call to gsub() when breaking up the unless to shorten
the line.
2019-10-21 17:46:50 -07:00
Steven Peters
c2cb6cfa79
os/mac/keg.rb: uniq.sort -> sort.uniq
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2019-10-21 12:26:01 -07:00
David Griffith
6ff61909a9
Deal with Makefile conditional assignment operators.
Ordinarily variable assignments in Makefiles are done simply with an
unconditional assignment: the equals sign.  There are variants of this:

FOO := $(BAR)	Avoid recursively expand variables.
FOO ?= bar	Assign only if $(FOO) is not already set.
FOO += bar	Add more to a variable.
FOO != bar	Execute a shell script and assign result to $(FOO).

See also
https://www.gnu.org/software/make/manual/html_node/Conditional-Example.html
https://www.gnu.org/software/make/manual/html_node/Flavors.html
2019-10-21 09:21:30 +01:00
Steven Peters
8d30912e16 os/mac/keg: Frameworks -> MUST_EXIST_DIRECTORIES 2019-10-19 17:56:36 -07:00
Issy Long
1f6168fe8a
Change regexp.match?(string) to string.match?(regexp) everywhere
- Only try to call `.match?` on strings that aren't nil.
2019-10-13 23:22:51 +01:00
Issy Long
341ea60807
Auto-fix Style/RedundantBegin offenses
- This also required auto-fixes for Layout/EmptyLinesAroundBlockBody and
  Layout/InconsistentIndentation once the auto-fixer had got rid of the
  "redundant begin"s.
2019-10-13 16:04:27 +01:00
Issy Long
b78028b9c2
Auto-fix Performance/RegexpMatch offenses 2019-10-13 16:04:26 +01:00
Mike McQuaid
0d068341fc
Merge pull request #6467 from EricFromCanada/uses_from_macos-json
Expose `uses_from_macos` list in formula API
2019-10-11 09:28:01 +01:00
Mike McQuaid
a36f00ae8b
Ruby 2.6 (and remove backports) gems 2019-10-10 16:17:05 +01:00
Mike McQuaid
e9aba2efb6
Require and provide portable Ruby 2.6.3. 2019-10-10 15:53:16 +01:00
Mike McQuaid
a7bfb80786
Revert "Do not run patchelf on portable-ruby [Linux]" 2019-10-10 15:16:30 +01:00
Shaun Jackman
1c6046c7e3 Do not run patchelf on portable-ruby [Linux]
Running patchelf on portable-ruby causes brew tests to segfault.

See https://github.com/Homebrew/brew/pull/6556
2019-10-09 09:21:04 -07:00
Mike McQuaid
cf34e1bec8
os/mac/diagnostic: allow Ruby 2.6.3 on Catalina. 2019-10-08 17:17:28 +01:00
EricFromCanada
f6ef26a127 Fix OS version logic for uses_from_macos 2019-09-23 13:00:58 -04:00
EricFromCanada
9bd77b1819 formula API: expose uses_from_macos list 2019-09-23 13:00:15 -04:00
Mike McQuaid
47769f98f1
os/linux: add, use OS::Linux.os_version
Similar to MacOS.version. A bit cleaner for us here but also plan on
using this in Homebrew/homebrew-bundle.
2019-09-13 16:48:13 +01:00
Mike McQuaid
b567ed738e Remove Azure Pipelines CI. 2019-08-20 08:48:32 +01:00
Mike McQuaid
e1c00f2358
os/mac/diagnostic: allow use of GitHub Actions CI.
We will be migrating Homebrew/brew to use this in the near future.
2019-08-15 20:45:48 +01:00
Mike McQuaid
de72a23109
Merge pull request #6321 from zachauten/uninstall-suggestions
cask_reason will suggest `brew cask uninstall`
2019-08-02 06:52:31 +01:00
Zach Auten
ecc7b9e174 cask_reason will suggest brew cask uninstall 2019-07-31 00:31:12 -04:00
Mike McQuaid
86e64cbb4e
Merge pull request #6303 from xu-cheng/rust-elf
keg_relocate: relocate the interpreter for elf files with INTERP header (Linux)
2019-07-28 15:43:48 +01:00
Cheng XU
2c82623318
keg_relocate: relocate the interpreter for elf files with INTERP header (Linux)
Some elf files (e.g. created by rust compiler) have INTERP header despite
their magic header denotes shared object instead of executable.

We should relocate the interpreter elf files as long as they have INTERP header.

This should fix the broken bottles for rust based formulae.
2019-07-18 15:22:43 +08:00
Cheng XU
66697d4290
ENV: add sensitive_environment function
ENV#sensitive_environment is used to list all sensitive environments.

Also refactor the code on determining whether an environment is sensitive.
2019-07-18 15:06:33 +08:00
Shaun Jackman
0ac5cbbda9 java_dep_if_needed: Install adoptopenjdk for Linux
Install adoptopenjdk rather than openjdk for Linux.
openjdk is superseded by adoptopenjdk.
2019-07-08 09:43:12 -07:00
Zach Auten
25e7eaee1f brew install will suggest brew cask install
If the user tries to install a cask using brew install
then brew will suggest the user tries 'brew cask install'

closes #6245
2019-06-22 14:21:56 -04:00
Misty De Meo
5ab34abd17
Bottles: allow skipping or_later tags
This is a developer-only feature, so it's gated via `HOMEBREW_DEVELOPER`.
This is intended to enable testing of macOS 10.15; users building software
manually to test compatibility of early betas need to be able to build
software from source instead of via pouring 10.14 bottles. This isn't
intended to be a general-purpose `HOMEBREW_BUILD_FROM_SOURCE` replacement,
and has no effect on released versions of macOS.
2019-06-06 10:14:10 -07:00
Shaun Jackman
7c5f71e5ac
Merge pull request #6162 from gkpacker/add_uses_from_macos
Add uses from macos
2019-06-05 08:23:17 -07:00
Gabriel
41f39939ca Extract linux spec cases & add hash support to default #uses_from_macos 2019-06-03 15:52:53 -03:00
Gabriel
77f2d01739 Add hash support 2019-06-03 15:52:53 -03:00
Gabriel
aafe87524d Extends SoftwareSpec with #uses_from_macos 2019-06-03 15:52:53 -03:00
Gabriel
412f7d964f Removes formula class extension 2019-06-03 15:52:53 -03:00
Gabriel
22f765300e Lint os/mac/formula 2019-06-03 15:52:53 -03:00
Gabriel
848b3380e5 Increase readability with early returns 2019-06-03 15:52:53 -03:00
Gabriel
a7e3304735 Extends Formula class with mac os #uses_from_macos 2019-06-03 15:52:52 -03:00
Isabell (Issy) Long
4a5b02661a
[Linux] Don't prompt users to brew cask install
- I tried to install `keybase`, thinking I'd get the CLI. On Linux,
  casks don't work, yet I was still prompted to `brew cask install
  keybase`. When I tried that (just to make sure), I got the "casks are
  only supported on MacOS" error.
- This change makes it so we don't prompt people to install casks if
  they're on platforms other than MacOS.

Before:

```
╭─issyl0@grus /home/linuxbrew/.linuxbrew/Homebrew ‹master›
╰─ $ brew install keybase
Error: No available formula with the name "keybase"
Found a cask named "keybase" instead.
```

After:

```
Error: No available formula with the name "keybase"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
```
2019-05-25 15:44:46 +01:00
Izaak Beekman
0cf8ec7547
Allow Accelerate linkage, deny veclibfort & lapack
- Accelerate provides more than just BLAS and LAPACK functionality, see
   https://developer.apple.com/documentation/accelerate
 - Veclibfort exists only to wrap Accelerate's BLAS/LAPACK
 - LAPACK is a slow, seldom updated reference implementation
 - Encourage usage of OpenBLAS
 - Reverts PR #6130
2019-05-23 19:07:17 -04:00
Izaak Beekman
056a2d41fd
Add exception for veclibfort linking to Accelerate
- veclibfort exists soley to wrap Apple's accelerate and provide BLAS/LAPACK
   access to Accelerate
 - Improve the help message for that audit to mention veclibfort
2019-05-14 12:04:04 -04:00
Jonathan Chang
35a271e99b audit: check Accelerate linkage for core formulae 2019-05-14 13:37:34 +10:00
dalance
c6fd1ceaef Add HOMEBREW_ARCH 2019-05-06 17:36:13 +09:00
Mike McQuaid
cd40af2c58
ARGV: fix build_head? call.
Fixes #6087.
2019-05-02 08:16:55 +01:00
Mike McQuaid
c4f72312ce
Fixup brew style failures. 2019-04-30 09:19:18 +01:00
Mike McQuaid
bc3a4c1897
diagnostic: tweak frozen string handling. 2019-04-23 23:05:28 -07:00
follower
2064b30fce
Fix check_for_unsupported_macos() on outdated releases
Recent commit 36dbad3922 to default to frozen string literals (via `frozen_string_literal`) broke `check_for_unsupported_macos()` on outdated releases--due to attempted modification of a frozen string literal.

This breaks `install` and `doctor`.

It's like the change wasn't tested on an unsupported outdated release or something... :D

Adding a `+` prefix is apparently one way around this issue according to https://stackoverflow.com/questions/37799296/what-does-the-comment-frozen-string-literal-true-do#37799399. The change worked for me.
2019-04-24 15:02:13 +12:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
d1ea6f38d3
Fix mutable constants violations. 2019-04-19 21:46:20 +09:00
Mike McQuaid
86f43f79ee
Enable/fix optional Ruby frozen string literal usage
Combined with https://github.com/Homebrew/homebrew-test-bot/pull/247
this will test Homebrew's use of frozen strings in CI. After this we
will then enable it for Homebrew developers and eventually all Homebrew
users.
2019-04-19 10:30:41 +09:00