mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
# shellcheck disable=SC2034
|
|
# "'pkg_cmd_name' appears unused. Verify it or export it."
|
|
|
|
__init_tinygo() {
|
|
set -e
|
|
set -u
|
|
|
|
##################
|
|
# Install tinygo #
|
|
##################
|
|
|
|
# Every package should define these 6 variables
|
|
pkg_cmd_name="tinygo"
|
|
|
|
pkg_dst_cmd="$HOME/.local/opt/tinygo/bin/tinygo"
|
|
pkg_dst_dir="$HOME/.local/opt/tinygo"
|
|
pkg_dst="$pkg_dst_dir"
|
|
|
|
pkg_src_cmd="$HOME/.local/opt/tinygo-v$WEBI_VERSION/bin/tinygo"
|
|
pkg_src_dir="$HOME/.local/opt/tinygo-v$WEBI_VERSION"
|
|
pkg_src="$pkg_src_dir"
|
|
|
|
# pkg_install must be defined by every package
|
|
pkg_install() {
|
|
echo "Checking for Go compiler..."
|
|
if ! command -v go 2> /dev/null; then
|
|
"$HOME/.local/bin/webi" go
|
|
export PATH="$HOME/.local/opt/go/bin:$PATH"
|
|
fi
|
|
|
|
# ~/.local/opt/tinygo-v0.30.0/
|
|
mkdir -p "$(dirname "${pkg_src_dir}")"
|
|
|
|
# mv ./tinygo*/ ~/.local/opt/tinygo-v0.30.0/
|
|
mv ./tinygo*/ "${pkg_src_dir}"
|
|
}
|
|
|
|
# pkg_get_current_version is recommended, but not required
|
|
pkg_get_current_version() {
|
|
# 'tinygo --version' has output in this format:
|
|
# tinygo version 0.30.0 darwin/amd64 (using go version go1.21.1 and LLVM version 16.0.1)
|
|
# This trims it down to just the version number:
|
|
# 0.30.0
|
|
tinygo version 2> /dev/null |
|
|
head -n 1 |
|
|
cut -d' ' -f3
|
|
}
|
|
|
|
}
|
|
|
|
__init_tinygo
|