Skip to content

Commit

Permalink
docs(development): update build deps details
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuar committed Nov 16, 2023
1 parent 778b72d commit 250955b
Showing 1 changed file with 34 additions and 10 deletions.
44 changes: 34 additions & 10 deletions docs/development/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,40 @@

## Build Requirements

Go Hass Agent has a number of build requirements external to `go.mod` that
need to be installed:

- [stringer](https://pkg.go.dev/golang.org/x/tools/cmd/stringer).
- Typically installed with `go install golang.org/x/tools/cmd/stringer@latest`.
- [fyne-cross](https://github.com/fyne-io/fyne-cross).
- Typically installed with `go install github.com/fyne-io/fyne-cross@latest`
- [gotext](https://cs.opensource.google/go/x/text)
- Typically installed with `go install golang.org/x/text/cmd/gotext@latest`
- [goreleaser](https://goreleaser.com/install/).
In addition to a Go installation, Go Hass Agent needs a few other Go tools installed:

```shell
# goreleaser is used to create release artifacts
go install github.com/goreleaser/goreleaser@latest
# fyne-cross is used build some artifacts that goreleaser doesn't
go install github.com/fyne-io/fyne-cross@latest
# stringer auto-generates some String() methods
go install golang.org/x/tools/cmd/stringer@latest
# gotext is used for translations
go install golang.org/x/text/cmd/gotext@latest
# moq is used for unit tests
go install github.com/matryer/moq@latest
```

The Fyne UI toolkit that is used by Go Hass Agent also requires some development libraries installed:

For Red Hat/RPM distributions:

- `libglvnd-glx`
- `libX11`
- `libXrandr`
- `libXxf86vm`
- `libXi`
- `libXcursor`
- `libXinerama`

For Debian/DEB distributions:

- `libgl1`
- `libxi6`
- `libxcursor1`
- `libxrandr2`
- `libxinerama1`

## Development Environment

Expand Down

0 comments on commit 250955b

Please sign in to comment.