Intel macでarm64用のパッケージをビルドするために、arm64版のbrew bottleをダウンロードしたい。
その手順を残しておく。
手順
- 別のディレクトリに Homwbrew をインストールする。
sudo mkdir /opt/brew-aarch64
sudo chown ${USER}:staff /opt/brew-aarch64
cd /opt/brew-aarch64
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1
- brewの動作に必要なツールをインストールする。
PATH=/opt/brew-aarch64/bin:$PATH brew install ruby
export PATH=/opt/brew-aarch64/bin:$PATH
export HOMEBREW_PREFIX=/opt/brew-aarch64/
- brewスクリプトのアーキテクチャを取得する箇所を書き換え、
arm64
に変更する。Catalinaを使用しているので、強引にBig Surに書き換える。以下に変更箇所を示す。
diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh
index cbe08846a..925c39706 100644
--- a/Library/Homebrew/brew.sh
+++ b/Library/Homebrew/brew.sh
@@ -5,7 +5,7 @@
# Doesn't need a default case because we don't support other OSs
# shellcheck disable=SC2249
-HOMEBREW_PROCESSOR="$(uname -m)"
+HOMEBREW_PROCESSOR='arm64'
HOMEBREW_PHYSICAL_PROCESSOR="${HOMEBREW_PROCESSOR}"
HOMEBREW_SYSTEM="$(uname -s)"
case "${HOMEBREW_SYSTEM}" in
@@ -425,7 +425,7 @@ then
HOMEBREW_PRODUCT="Homebrew"
HOMEBREW_SYSTEM="Macintosh"
[[ "${HOMEBREW_PROCESSOR}" == "x86_64" ]] && HOMEBREW_PROCESSOR="Intel"
- HOMEBREW_MACOS_VERSION="$(/usr/bin/sw_vers -productVersion)"
+ HOMEBREW_MACOS_VERSION="11.0"
# Don't change this from Mac OS X to match what macOS itself does in Safari on 10.12
HOMEBREW_OS_USER_AGENT_VERSION="Mac OS X ${HOMEBREW_MACOS_VERSION}"
diff --git a/Library/Homebrew/system_config.rb b/Library/Homebrew/system_config.rb
index a019aa4de..ab8aa002f 100644
--- a/Library/Homebrew/system_config.rb
+++ b/Library/Homebrew/system_config.rb
@@ -118,7 +118,7 @@ module SystemConfig
sig { returns(String) }
def kernel
- `uname -m`.chomp
+ "arm64"
end
sig { returns(String) }
diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb
index 52bf2e5e8..80ae69329 100644
--- a/Library/Homebrew/hardware.rb
+++ b/Library/Homebrew/hardware.rb
@@ -57,17 +57,7 @@ module Hardware
sig { returns(Symbol) }
def arch_64_bit
- if arm?
- :arm64
- elsif intel?
- :x86_64
- elsif ppc64le?
- :ppc64le
- elsif ppc64?
- :ppc64
- else
- :dunno
- end
+ :arm64
end
def arch
- パッケージをダウンロードする。(下記の例では、openblas)
brew fetch --force-bottle openblas
brew fetch --force-bottle gfortran
- 次回から使用する際は、以下のようにbashで設定する。(うっかり
brew install
でインストールしないよう、プロンプトも変更しておく。)
export PATH=/opt/brew-aarch64/bin:$PATH
export HOMEBREW_PREFIX=/opt/brew-aarch64/
PS1='[\u@\h \W brew-arm64]\$ '