814 Commits

Author SHA1 Message Date
Bo Anderson
e8e6592701 ENV/super: don't set PKG_CONFIG 2020-04-10 18:36:18 +01:00
Bo Anderson
e60f071c50 ENV/super: refactor SDK root selection 2020-04-07 17:22:16 +01:00
Mike McQuaid
3381cbf5c7
Use Homebrew::EnvConfig. 2020-04-07 09:58:26 +01:00
Mike McQuaid
e2cfc2b50f
Merge pull request #7278 from Bo98/libxml2-10.15.4
ENV: don't help include libxml2 on macOS SDK 10.15.4 and later
2020-04-05 16:28:58 +01:00
Bo Anderson
aac3337c64
Merge pull request #7277 from Bo98/sdkroot-pkgconfig
shims/mac/super/pkg-config: pass and use HOMEBREW_SDKROOT
2020-04-05 15:35:54 +01:00
Bo Anderson
32497bd511 ENV: don't help include libxml2 on macOS SDK 10.15.4 and later 2020-04-05 15:30:39 +01:00
Bo Anderson
9294bee866 shims/mac/super/pkg-config: pass and use HOMEBREW_SDKROOT
Fixes #5068.
2020-04-04 23:44:29 +01:00
Bo Anderson
fa35916818 ENV/std: withdraw support for Homebrew supplied *.pc files 2020-04-04 15:21:35 +01:00
Bo Anderson
cb6128fc7c ENV/super: prioritise Xcode if Xcode is a build req 2020-04-03 15:49:04 +01:00
Bo Anderson
99550ff564 shims/mac/super/xcrun: use Homebrew's chosen SDK and DEVELOPER_DIR
Fixes #7250.
2020-04-01 17:34:30 +01:00
Mike McQuaid
1e265247ca
rubocop: apply autofixes. 2020-03-13 21:16:18 +00:00
Issy Long
2a36f61c19
missing_formula: TexLive is only blacklisted on macOS
- In Homebrew/linuxbrew-core, [we have a Linux-only formula for
  `texlive`](https://github.com/Homebrew/linuxbrew-core/tree/master/Formula/texlive.rb).
- When running `brew audit --strict texlive` on Linux, we got the
  following messaging:

  ```
  $ brew audit --strict texlive
  texlive:
    * 'texlive' is blacklisted from homebrew/core.
    Error: 1 problem in 1 formula detected
  ```

- Looking at where this comes from leads to the missing formula
  messaging to install `mactex` via Homebrew Cask. The 'blacklisted in
  homebrew/core' messaging only applies to macOS where Casks are an option
  for users, so let's not surface the audit for `texlive` on Linux.
2020-02-15 19:51:48 +00:00
Mike McQuaid
0c1b556196
uses_from_macos: remove before/after.
We're not actually using this anywhere and it makes the code
more complicated.

Relatedly, this PR fixes the issue where
`uses_from_macos "python@2" => :build` was valid on macOS but not
on Linux.
2019-12-19 14:36:33 +00:00
Mike McQuaid
8d3e7cf028
os/mac: remove CLT header package stuff.
We never care about it and it's not relevant anywhere except 10.14.
2019-12-11 13:49:13 +00:00
Mike McQuaid
766fc4b301
Fix RuboCop 0.77.0 failures. 2019-11-28 15:10:50 +00:00
Mike McQuaid
9d539d6b3b
Merge pull request #6704 from MikeMcQuaid/deprecation-disable-remove
Handle 2.2.0 deprecations/disableds
2019-11-13 17:26:30 -08:00
Mike McQuaid
5595deaec6
os/mac: remove MacOS.cat.
None of the supported versions are "cats" any more.
2019-11-11 19:20:17 +00:00
Mike McQuaid
176297d361
Handle 2.2.0 deprecations/disableds
- Make all `odeprecated` from 2.1.0 `odisabled` instead
- Remove dead code that won't be run now
- Remove (unused) `or_later` handling for bottles
2019-11-06 15:25:40 +00:00
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
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
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
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
e9aba2efb6
Require and provide portable Ruby 2.6.3. 2019-10-10 15:53:16 +01: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
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
Zach Auten
ecc7b9e174 cask_reason will suggest brew cask uninstall 2019-07-31 00:31:12 -04: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
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