449 Commits

Author SHA1 Message Date
Mike McQuaid
cbb5fd7657
Merge pull request #7257 from iMichka/linuxdependson
formula: add on_macos and on_linux
2020-04-13 09:13:06 +01:00
Michka Popoff
c7927f5af5 formula: add linux and macos only function blocks 2020-04-12 23:51:41 +02:00
Bo Anderson
32744e1746 ENV/std: remove space in -isysroot 2020-04-12 14:51:21 +01:00
Mike McQuaid
373650d00d
KegOnlyReason: add reason helpers, rename valid. 2020-04-12 13:12:02 +01:00
Bo Anderson
8900e852d6 Revert "ENV/std: withdraw support for Homebrew supplied *.pc files"
This reverts commit fa3591681800f9da06cd2d0179a5ef9e63b10729.
2020-04-10 21:47:54 +01:00
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
Jonathan Chang
57109a175a diagnostic: add doctor check for CPU arch on Linux
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2020-03-13 11:39:27 +11: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
Jonathan Chang
6d46a4eed7 cpu: add new Intel names 2020-02-11 12:14:14 +11: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
Michka Popoff
50bb8f3fc1 linkage_checker: whitelist libthread_db.so.1
openjdk links against this library, which is provided by glibc.
2019-12-05 21:44:09 +01:00
Mike McQuaid
5dd8ead51a
Rename Formula#installed? to Formula#latest_version_installed?
This naming has always been a bit weird and confusing so let's change
it and provide a `compat` fallback for later deprecation.
2019-12-03 11:42:42 +00:00
Mike McQuaid
766fc4b301
Fix RuboCop 0.77.0 failures. 2019-11-28 15:10:50 +00:00
Mike McQuaid
3a9f585ebb
Move more code to utils/analytics. 2019-11-22 09:10:29 +00:00
Issy Long
727f9671c7
info: show Linux formulae details and analytics
- This makes use of the new /api/formula-linux and /api/analytics-linux
  endpoints in formulae.brew.sh to give Linux users up to date formula and
  analytics info for their installed core formulae.

Before, on Linux, the macOS stats for the `ack` formula:

```
$ brew info ack
[...]
==> Analytics
install: 12,422 (30 days), 32,742 (90 days), 97,788 (365 days)
install_on_request: 10,778 (30 days), 28,339 (90 days), 85,202 (365 days)
build_error: 0 (30 days)
```

Now, on Linux, the Linux stats for the `ack` formula:

```
$ brew info ack
[...]
==> Analytics
install: 95 (30 days), 242 (90 days), 737 (365 days)
install_on_request: 94 (30 days), 241 (90 days), 734 (365 days)
build_error: 0 (30 days)
```
2019-11-22 09:10:29 +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
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
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
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
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