-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathbuild.sh
executable file
·46 lines (37 loc) · 1.24 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env bash
set -euxo pipefail
# Install latest brew
if [[ $(command -v brew) == "" ]]; then
echo "Installing brew in order to build MetaCall"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
# Get brew formula
curl -fsSLO https://raw.githubusercontent.com/metacall/homebrew/main/metacall.rb
# Build metacall brew recipe
export HOMEBREW_NO_AUTO_UPDATE=1
brew install --build-from-source --overwrite --verbose ./metacall.rb
# Build distributable binary using brew pkg
function architecture() {
local arch=$(uname -m)
case ${arch} in
x86_64)
echo "amd64"
return
;;
arm64)
echo "arm64"
return
;;
esac
echo "Invalid architecture: ${arch}"
exit 1
}
METACALL_VERSION=`brew info metacall | grep -i "stable" | awk '{print $4}' | sed 's/.$//'`
METACALL_ARCH=`architecture`
echo "Packaging MetaCall ${METACALL_VERSION} on ${METACALL_ARCH}"
mkdir release
brew tap --verbose metacall/brew-pkg
brew install --verbose --HEAD metacall/brew-pkg/brew-pkg
brew pkg --name metacall --compress --additional-deps [email protected],[email protected] metacall
mv metacall.pkg release/metacall-tarball-macos-${METACALL_ARCH}.pkg
mv metacall.tar.gz release/metacall-tarball-macos-${METACALL_ARCH}.tar.gz