keybase / keybase/client

Release go client for more platforms

Open
#2,938 17 comments 19 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

Hey.

Yesterday I tried to install keybase on a Raspberry Pi (ARM).
Installing go didn't work, as compiling it on the RPi failed after 17 hours.
After a bit of research I was able to compile it on my Mac with:

mkdir ~/gopath
cd ~/gopath
export GOPATH="$HOME/gopath"

go get github.com/keybase/client/go/keybase
env GOOS=linux GOARCH=arm GOARM=5 GO15VENDOREXPERIMENT=1 \
go build -tags production github.com/keybase/client/go/keybase

And now keybase works beautifully on the Raspberry Pi.

Wouldn't it make sense that keybase cross-compiles and releases the client for more platforms?
Especially considering, that keybase is all about 1

Keys for everyone!

and the Raspberry Pi designed to be easy access as well 2:

[...] put[ting] the power of digital making into the hands of people all over the world [...]

As an example of a go OSS project that does this, i found syncthing 3.

Is there anything we could do to help you with broader cross-compiling and releasing of more binaries?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Go build command in the issue, especially the linux/arm settings used for Raspberry Pi. Review the existing release and cross-compilation process, then compare the desired output with Syncthing’s v0.13.4 release. Done means the agreed additional platform binaries are reproducibly built and published.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, raspberry-pi
Domain
build-system, embedded-iot, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.