Skip to content

Commit 2e05020

Browse files
authored
Add Linux ARM64 support with cross-compilation (#10)
1 parent 88ae928 commit 2e05020

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

.github/workflows/release.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,18 @@ jobs:
2222
with:
2323
go-version: "1.24"
2424

25-
- name: Install Linux audio dependencies
26-
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
25+
- name: Install Linux audio dependencies (amd64 + arm64 cross-compile)
26+
run: |
27+
# Add ARM64 architecture
28+
sudo dpkg --add-architecture arm64
29+
30+
# Configure apt sources for ARM64 from ports.ubuntu.com
31+
sudo sed -i 's/^deb /deb [arch=amd64] /' /etc/apt/sources.list
32+
echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy main universe" | sudo tee -a /etc/apt/sources.list
33+
echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates main universe" | sudo tee -a /etc/apt/sources.list
34+
35+
sudo apt-get update
36+
sudo apt-get install -y gcc-aarch64-linux-gnu libasound2-dev libasound2-dev:arm64
2737
2838
- name: Run GoReleaser
2939
uses: goreleaser/goreleaser-action@v6

.goreleaser.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@ builds:
1515
binary: somafm
1616
env:
1717
- CGO_ENABLED=1
18+
- >-
19+
{{- if eq .Arch "arm64" }}CC=aarch64-linux-gnu-gcc{{- end }}
20+
- >-
21+
{{- if eq .Arch "arm64" }}PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig{{- end }}
1822
goos:
1923
- linux
2024
goarch:
2125
- amd64
26+
- arm64
2227
ldflags:
2328
- -s -w
2429
- -X github.com/glebovdev/somafm-cli/internal/config.AppVersion={{.Version}}

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ A terminal-based music player for [SomaFM](https://somafm.com/) radio stations b
2222

2323
## Installation
2424

25-
### macOS
25+
### Homebrew (macOS/Linux)
2626

2727
```bash
2828
brew install glebovdev/tap/somafm
2929
```
3030

31-
### Linux
31+
### Linux (manual)
3232

3333
Download `somafm_*_linux_amd64.tar.gz` from the [Releases page](https://github.com/glebovdev/somafm-cli/releases) and extract:
3434

0 commit comments

Comments
 (0)