319 Commits

Author SHA1 Message Date
Markus Reiter
33c138751e Refactor and document Hardware. 2020-08-23 04:19:46 +02:00
Markus Reiter
e2c9e6d3c2 Refactor and document SystemConfig. 2020-08-23 04:15:35 +02:00
Bo Anderson
e3372e2a14 Lazily require some heavy files 2020-08-20 02:05:17 +01:00
Seeker
3379e3b5cf os: add kernel_version 2020-08-19 11:41:30 -07:00
Mike McQuaid
3a91c37e66
Fix RuboCop checks. 2020-08-19 17:12:32 +01:00
Markus Reiter
c3874580a4
Merge pull request #8377 from reitermarkus/document-install
Refactor and document `Install`.
2020-08-18 22:23:04 +02:00
Shaun Jackman
db361e29b8 check_tmpdir_executable: Remove stray undent
Fix the error:
Error: undefined method undent for #<String>
.../extend/os/linux/diagnostic.rb:41:in check_tmpdir_executable
2020-08-17 11:54:42 -07:00
Markus Reiter
7fce76d176 Refactor and document Install. 2020-08-17 19:17:18 +02:00
Markus Reiter
20bd4280ff Pass args.cc to Install. 2020-07-30 03:21:12 +02:00
Markus Reiter
23340403c1 Fix effective_arch on Linux. 2020-07-28 12:58:21 +02:00
Bob Wombat Hogg
9b47057b12 Fix brew test on Linux stdenv 2020-07-27 21:41:03 -04:00
Markus Reiter
276c570c16 Pass individual args explicitly to ENV extensions. 2020-07-28 02:52:45 +02:00
Markus Reiter
25b3632c4c Pass args to ENV instead of using global args. 2020-07-25 03:57:43 +02:00
Shaun Jackman
e7006beefb
Merge pull request #7970 from rmNULL/patchelfrb-lookup-rpath
Introduce ELFShim#rpath. Refactor keg_relocate to use the same. Return nil on no DT_RPATH, DT_RUNPATH, DT_SONAME, PT_INTERP.
2020-07-24 15:53:58 -07:00
rmnull
d607528a5b
introduce ELFShim#rpath, refactor keg_relocate to use the same.
refines PatchELF #runpath, #rpath #soname #interpreter
to return nil.
let Brew hard exits on PatchELF::PatchError.

Co-authored-by: Shaun Jackman <sjackman@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-25 01:07:24 +05:30
Maxim Belkin
152dd1ca24 Move allowed_missing_libraries: extend/os/linux/formula.rb ~> formula.rb 2020-07-24 11:06:38 +00:00
Maxim Belkin
85cca2e852 formula.rb [Linux]: undefine allowed_missing_libraries first 2020-07-24 10:54:44 +00:00
Maxim Belkin
1b8c32c716 Move allowed_missing_libs? to linkage_checker.rb.
Optimize 'unexpected_broken_dylibs'
2020-07-22 14:30:52 +00:00
Maxim Belkin
73495c4959 formula.rb [extend/Linux]: add missing comma 2020-07-21 15:48:55 +00:00
Maxim Belkin
2ffb9fd0fc
extend/os/linux/formula.rb: ignore_missing_libraries: change unless to if
Change
```rb
      unless libraries.all? { |x| x.is_a?(String) || x.is_a?(Regexp) }
```
to
```rb
if libraries.any? { |x| !x.is_a?(String) && !x.is_a?(Regexp) }
```

Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-21 10:43:28 -05:00
Maxim Belkin
68ebf8866a extend/os/linux/formula.rb: allowed_missing_lib: check input class 2020-07-21 15:40:27 +00:00
Maxim Belkin
7080ad5ebc formula.rb: update missing libs feature
1. Raise an exception on macOS.
2. Verify that the missing libraries are specified either as Strings or
   Regular Expressions.

Signed-off-by: Maxim Belkin <maxim.belkin@gmail.com>
2020-07-21 13:16:56 +00:00
Maxim Belkin
f2ddcda85b Fix style (Convert if-elsif to case-when) 2020-07-16 13:53:32 +00:00
Maxim Belkin
c61aba4ec3 Formula: ignore_missing_libraries DSL 2020-07-16 13:51:16 +00:00
Mike McQuaid
4e10341277
Merge pull request #7752 from SMillerDev/cask/readall
Support casks in readall
2020-07-01 12:19:30 +01:00
rmnull
35328ed535
[draft] refactoring keg_relocate to use ELFShim#interpreter instead of .with_interpreter? 2020-06-26 05:34:41 +05:30
Mike McQuaid
ac0665daff
Refer to default branch in links with HEAD
Anywhere we can use `blob/master` we can use `blob/HEAD` instead. This
will make life easier if we ever rename our default branch in future
(once/if Git and GitHub provides the necessary tooling to do so).
2020-06-25 11:38:40 +01:00
Mike McQuaid
11c875d747
macOS Big Sur tweaks
- output warnings when running on ARM
- require Xcode 12
- use 11.0 as the version number
2020-06-23 14:11:05 +01:00
Michka Popoff
955bca6574 formule: add generic shared-lib methods
We have strings containing hardcoded ".dylib" extensions in homebrew-core.
To be able to bring linuxbrew-core and homebrew-core closer together,
I am introducing a new generic attribute that can be used in formulae.
2020-06-20 23:14:18 +02:00
Sean Molenaar
3f6d3e5cf0
Support casks in readall 2020-06-18 20:15:07 +02:00
Michka Popoff
1f8ebf5d20 resource: allow on_os blocks 2020-06-10 19:29:04 +02:00
Issy Long
0041ea21f5
Change occurrences of "whitelist" to "allowlist" 2020-06-06 22:38:32 +01:00
rmnull
39c572b546
Instructions to install patchelf, when development tools cant locate patchelf. 2020-05-28 00:34:02 +05:30
Mike McQuaid
3588e6a5c6
bottle_arch: ensure a symbol is used when needed.
Fixes #7597.
2020-05-19 08:47:59 +01:00
Mike McQuaid
12bdb38663
rubocop: brew style --fix autocorrections. 2020-05-12 08:32:27 +01:00
Mike McQuaid
07b19cba09
Replace ARGV#bottle_arch with Homebrew.args.bottle_arch
Part of https://github.com/Homebrew/brew/issues/5730
2020-05-10 15:15:41 +01:00
Trung Le
3de9fc91a7 update dynamic linkers 2020-05-01 02:09:14 +10:00
Trung Le
3df97b20d5 Add PowerPC64 CPU
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2020-04-30 23:37:45 +10:00
Gautham G
b0ac5bab31
ARGV: Deprecate ARGV.build_bottle? and replace with Homebrew.args.build_bottle 2020-04-26 13:28:44 +01:00
Michka Popoff
c7927f5af5 formula: add linux and macos only function blocks 2020-04-12 23:51:41 +02:00
Mike McQuaid
3381cbf5c7
Use Homebrew::EnvConfig. 2020-04-07 09:58:26 +01: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
Jonathan Chang
6d46a4eed7 cpu: add new Intel names 2020-02-11 12:14:14 +11: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
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
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
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