From c7802185f3540930f0de00c6e2a93db30397d1ef Mon Sep 17 00:00:00 2001 From: Florian Didron Date: Wed, 1 Sep 2021 16:52:03 +0900 Subject: chore: update README --- README.md | 68 +++++++++++++-------------------------------------------------- 1 file changed, 14 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index aaba053..eb4f2b7 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,7 @@ Note for Mac OS users, the CLI requires libusb to be installed: `brew install li The following instructions apply only to those who wish to actively _develop_ Wally and contribute new features or bugfixes to this open-source project. If you simply want to flash your board with some fresh firmware, see above. -Found a bug? Open an [issue here](https://github.com/zsa/wally/issues). - -Wally is built using [Go](https://golang.org/) at its core and [Preact](https://preactjs.com/) for the UI. The binding between core and UI happens using a [fork](https://github.com/fdidron/webview) of the [webview package](https://github.com/zserge/webview). This guide assumes you have a proper Go and NodeJS development environment running. +Wally is built using [Wails](https://wails.app/) at its core and [Preact](https://preactjs.com/) for the UI. This guide assumes you have a sane [Wails environment](https://wails.app/gettingstarted/) setup. ### Installing dev dependencies @@ -31,70 +29,32 @@ Wally is compatible with Windows, Linux, and macOS. Developing using each platfo #### Windows -1. Install [TDM GCC](http://tdm-gcc.tdragon.net/download) +1. Install [Wails](https://wails.app/gettingstarted/windows/) 2. Setup pkg-config - see [http://www.mingw.org/wiki/FAQ](http://www.mingw.org/wiki/FAQ) "How do I get pkg-config installed?" 3. Grab and install the latest version of libusb [from here](http://sourceforge.net/projects/libusb/files/libusb-1.0/) +4. At the root of the project run `wails build`, the resulting binary will be available in the `build` folder. #### Linux -Follow the instructions from our [wiki page](https://github.com/zsa/wally/wiki/Linux-install) or run the `install.linux.sh`. -`install.linux.sh` should install all needed packages according to your x86 distribution. -If you try to get wally working on a RaspberryPi, which has an ARM architecture, the script will compile the `wally-cli` for you and set it as alias in your bash. -Installing should be as easy as running `./install.linux.sh` - -#### macOS - -Install libusb using `brew`: - -``` -brew install libusb -``` - -### Serve the UI locally +The easiest way to compile locally is to use Docker: -From the `ui` folder run `npm run serve` or `yarn dev` to run a webpack dev server locally on port `8080`. +Run `./build.linux.sh`, the resulting binary will be available in the `dist/linux64` directory. -### Compile a dev build +An alternative method: -Run the following: +1. Follow the instructions from our [wiki page](https://github.com/zsa/wally/wiki/Linux-install). +2. Install [Wails](https://wails.app/gettingstarted/linux/) +3. At the root of the project run `wails build`, the resulting binary will be available in the `build` folder. -``` -go build -tags dev -o wally -``` - -This build will bind its UI with the local webpack server. - -### Compile the CLI +#### macOS -Run the following: +1. Install libusb using `brew`: ``` -go build cli/main.go -o wally-cli +brew install libusb ``` - -### Compile a release build - -#### Pre requisites for all OS - -1. Install [dep](https://github.com/golang/dep) and run the command `dep ensure` to grab all the go dependencies. -2. Install [go-bindata](https://github.com/jteeuwen/go-bindata) by running the command `go get -u github.com/jteeuwen/go-bindata/...`. -3. Install `cross-env` and `webpack` by running the command `yarn global add cross-env webpack` or `npm i -g cross-env webpack`. - -#### Windows - -Run `build.win.bat` - -#### Linux - -Run `build.linux.sh` - -#### Mac OS - -1. Install libusb using `brew`: `brew install libusb`. -2. Install `upx` using `brew`: `brew install upx`. -3. Run `build.osx.sh` - -The wally gui and cli apps should be in `./dist/osx` . +2. Install [Wails](https://wails.app/gettingstarted/mac/) +3. At the root of the project run `wails build`, the resulting binary will be available in the `build` folder. Note: the GUI app won't include libusb so it needs to be installed on the computer running it. To embed libusb into the binary, install [dylibbundler](https://github.com/auriamg/macdylibbundler/) and run: -- cgit v1.2.3