Skip to content

Add arm64 build option#267

Closed
duffn wants to merge 1 commit intoitchio:masterfrom
duffn:duffn/arm64-build
Closed

Add arm64 build option#267
duffn wants to merge 1 commit intoitchio:masterfrom
duffn:duffn/arm64-build

Conversation

@duffn
Copy link
Copy Markdown

@duffn duffn commented Jan 2, 2025

This adds an arm64 build option.

❯ node release/build.js --os darwin --arch arm64
Using user-specified OS darwin
Using user-specified arch arm64

―――――――――――――――――――――――
 Showing tool versions
―――――――――――――――――――――――

📜 node --version
v22.11.0
📜 go version
go version go1.23.4 darwin/arm64
📜 date +%s
export CGO_CFLAGS=-mmacosx-version-min=10.10
export CGO_LDFLAGS=-mmacosx-version-min=10.10
Compiling binary
export GOOS=darwin
export GOARCH=arm64
export CGO_ENABLED=1
📜 go build -ldflags "-X github.com/itchio/butler/buildinfo.Version=head -X github.com/itchio/butler/buildinfo.BuiltAt=1735830626
 -X github.com/itchio/butler/buildinfo.Commit= -w -s"
# github.com/itchio/sevenzip-go/sz
glue.c:119:29: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]

――――――――――――――
 Packaging...
――――――――――――――

📜 mv butler ./artifacts/darwin-arm64/butler
📜 file ./artifacts/darwin-arm64/butler
./artifacts/darwin-arm64/butler: Mach-O 64-bit executable arm64
📜 ./artifacts/darwin-arm64/butler -V
head, built on Jan  2 2025 @ 08:10:26
📜 ./artifacts/darwin-arm64/butler fetch-7z-libs
📜 go test -v ./butlerd/integrate --butlerPath='/Users/nicholasduffy/code/butler/artifacts/darwin-arm64/butler'
# github.com/itchio/sevenzip-go/sz

# .... tests here

ok      github.com/itchio/butler/butlerd/integrate      8.896s

Notes

  • Of course, I can't test the itch.io executable signing, so commented that out in my testing.
  • The build results in this:
❯ uname -a
Darwin me.local 23.6.0 Darwin Kernel Version 23.6.0: Fri Nov 15 15:13:15 PST 2024; root:xnu-10063.141.1.702.7~1/RELEASE_ARM64_T6000 arm64

❯ file ./artifacts/darwin-arm64/butler
./artifacts/darwin-arm64/butler: Mach-O 64-bit executable arm64

❯ ./artifacts/darwin-arm64/butler -V
head, built on Jan  2 2025 @ 08:13:58

Related issues

@dissociativity
Copy link
Copy Markdown

I can't seem to compile it myself, mind uploading a copy of the build? I'd like to waste less battery when using itch if I can get away with it

@minomy13
Copy link
Copy Markdown

Why isn't there any progress here? Would like to play on an Apple Silicon Mac myself, without Rosetta. If you need any help, let me know!

@leafo
Copy link
Copy Markdown
Member

leafo commented Jan 29, 2026

Sorry for the delay, we're starting to work on pushing out arm builds. There's native shared libraries that ship with butler so it's not as trivial as just adding arm to the list of platforms in the release script.

You can now build full butler across arm linux and macos from the repo.

We now have published arm linux builds on from master branch on itchio, mac os will be coming next https://broth.itch.zone/butler

@leafo leafo closed this Jan 29, 2026
@MrPropre
Copy link
Copy Markdown

Sorry for the delay, we're starting to work on pushing out arm builds. There's native shared libraries that ship with butler so it's not as trivial as just adding arm to the list of platforms in the release script.

You can now build full butler across arm linux and macos from the repo.

We now have published arm linux builds on from master branch on itchio, mac os will be coming next https://broth.itch.zone/butler

What about Windows ARM ?

@leafo
Copy link
Copy Markdown
Member

leafo commented Jan 29, 2026

Sorry for the delay, we're starting to work on pushing out arm builds. There's native shared libraries that ship with butler so it's not as trivial as just adding arm to the list of platforms in the release script.
You can now build full butler across arm linux and macos from the repo.
We now have published arm linux builds on from master branch on itchio, mac os will be coming next https://broth.itch.zone/butler

What about Windows ARM ?

Sure. The 7zip windows arm installer is provided in a different format so I didn't get a chance to add it to the build process yet but I plan to add it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants