diff --git a/.goreleaser.yaml b/.goreleaser.yaml index b998282c407c..452ddaeade80 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -41,6 +41,7 @@ builds: env: - CGO_ENABLED=0 goos: + - android - darwin - freebsd - linux @@ -68,6 +69,12 @@ builds: - -X main.date={{ .Date }} - -X main.builtBy=goreleaser ignore: + - goos: android + goarch: '386' + - goos: android + goarch: amd64 + - goos: android + goarch: arm - goos: darwin goarch: '386' - goos: linux diff --git a/assets/chezmoi.io/docs/install.md.tmpl b/assets/chezmoi.io/docs/install.md.tmpl index 229ae05602b8..2e4af3868e62 100644 --- a/assets/chezmoi.io/docs/install.md.tmpl +++ b/assets/chezmoi.io/docs/install.md.tmpl @@ -222,6 +222,7 @@ pre-built binary and shell completions. {{- end }} [`amd64` (glibc)](https://github.com/twpayne/chezmoi/releases/download/v{{ $version }}/chezmoi_{{ $version }}_linux-glibc_amd64.tar.gz) [`amd64` (musl)](https://github.com/twpayne/chezmoi/releases/download/v{{ $version }}/chezmoi_{{ $version }}_linux-musl_amd64.tar.gz) + [`arm64` (Termux)](https://github.com/twpayne/chezmoi/releases/download/v{{ $version }}/chezmoi_{{ $version }}_android_arm64.tar.gz) === "macOS" diff --git a/assets/scripts/install-local-bin.sh b/assets/scripts/install-local-bin.sh index f517e9c50671..2fbdf4dd21c8 100644 --- a/assets/scripts/install-local-bin.sh +++ b/assets/scripts/install-local-bin.sh @@ -115,13 +115,17 @@ parse_args() { } get_goos() { - os="$(uname -s | tr '[:upper:]' '[:lower:]')" - case "${os}" in - cygwin_nt*) goos="windows" ;; - mingw*) goos="windows" ;; - msys_nt*) goos="windows" ;; - *) goos="${os}" ;; - esac + if is_command termux-info; then + goos=android + else + os="$(uname -s | tr '[:upper:]' '[:lower:]')" + case "${os}" in + cygwin_nt*) goos="windows" ;; + mingw*) goos="windows" ;; + msys_nt*) goos="windows" ;; + *) goos="${os}" ;; + esac + fi printf '%s' "${goos}" } @@ -142,6 +146,7 @@ get_goarch() { check_goos_goarch() { case "${1}" in + android/arm64) return 0 ;; darwin/amd64) return 0 ;; darwin/arm64) return 0 ;; freebsd/386) return 0 ;; diff --git a/assets/scripts/install.sh b/assets/scripts/install.sh index da139dfd5c26..bbb0e3f845d1 100644 --- a/assets/scripts/install.sh +++ b/assets/scripts/install.sh @@ -115,13 +115,17 @@ parse_args() { } get_goos() { - os="$(uname -s | tr '[:upper:]' '[:lower:]')" - case "${os}" in - cygwin_nt*) goos="windows" ;; - mingw*) goos="windows" ;; - msys_nt*) goos="windows" ;; - *) goos="${os}" ;; - esac + if is_command termux-info; then + goos=android + else + os="$(uname -s | tr '[:upper:]' '[:lower:]')" + case "${os}" in + cygwin_nt*) goos="windows" ;; + mingw*) goos="windows" ;; + msys_nt*) goos="windows" ;; + *) goos="${os}" ;; + esac + fi printf '%s' "${goos}" } @@ -142,6 +146,7 @@ get_goarch() { check_goos_goarch() { case "${1}" in + android/arm64) return 0 ;; darwin/amd64) return 0 ;; darwin/arm64) return 0 ;; freebsd/386) return 0 ;; diff --git a/internal/cmds/generate-install.sh/install.sh.tmpl b/internal/cmds/generate-install.sh/install.sh.tmpl index 3bca012550b6..23469232ae1a 100644 --- a/internal/cmds/generate-install.sh/install.sh.tmpl +++ b/internal/cmds/generate-install.sh/install.sh.tmpl @@ -115,13 +115,17 @@ parse_args() { } get_goos() { - os="$(uname -s | tr '[:upper:]' '[:lower:]')" - case "${os}" in - cygwin_nt*) goos="windows" ;; - mingw*) goos="windows" ;; - msys_nt*) goos="windows" ;; - *) goos="${os}" ;; - esac + if is_command termux-info; then + goos=android + else + os="$(uname -s | tr '[:upper:]' '[:lower:]')" + case "${os}" in + cygwin_nt*) goos="windows" ;; + mingw*) goos="windows" ;; + msys_nt*) goos="windows" ;; + *) goos="${os}" ;; + esac + fi printf '%s' "${goos}" }