2021-01-15 21:04:53 +00:00
|
|
|
## Buildbot builds
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-02-20 06:43:23 +00:00
|
|
|
The docker build bins can be found here: https://build.wownero.org/files/
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
## Docker static builds
|
|
|
|
|
|
|
|
Static builds via Docker are done in 3 steps:
|
|
|
|
|
|
|
|
1. Cloning this repository (+submodules)
|
|
|
|
2. Creating a base Docker image
|
|
|
|
3. Using the base image to compile a build
|
|
|
|
|
2020-12-10 17:13:18 +00:00
|
|
|
### Linux (reproducible)
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2020-12-10 17:13:18 +00:00
|
|
|
The docker image for reproducible Linux static builds uses Ubuntu 16.04 and compiles the required libraries statically
|
2021-03-30 09:52:29 +00:00
|
|
|
so that the resulting `wowlet` binary is static. For more information, check the Dockerfile: `Dockerfile`.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
#### 1. Clone
|
|
|
|
|
|
|
|
```bash
|
2021-03-11 20:50:29 +00:00
|
|
|
git clone --branch master --recursive https://git.wownero.com/wowlet/wowlet.git
|
|
|
|
cd wowlet
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2021-01-10 23:40:17 +00:00
|
|
|
Replace `master` with the desired version tag (e.g. `beta-4`) to build the release binary.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2020-12-10 17:13:18 +00:00
|
|
|
#### 2. Base image
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
```bash
|
2021-05-15 23:05:05 +00:00
|
|
|
docker build --tag wowlet:linux --build-arg THREADS=6 .
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2020-12-10 17:13:18 +00:00
|
|
|
Building the base image takes a while. You only need to build the base image once.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
#### 3. Build
|
|
|
|
|
2021-01-15 21:04:53 +00:00
|
|
|
##### Standalone binary
|
|
|
|
|
2020-10-07 10:36:04 +00:00
|
|
|
```bash
|
2021-05-15 23:05:05 +00:00
|
|
|
docker run --rm -it -v $PWD:/wowlet -w /wowlet wowlet:linux sh -c 'make release-static -j6'
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2020-12-10 17:13:18 +00:00
|
|
|
If you're re-running a build make sure to `rm -rf build/` first.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-03-11 20:50:29 +00:00
|
|
|
The resulting binary can be found in `build/bin/wowlet`.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-01-15 21:04:53 +00:00
|
|
|
##### AppImage
|
|
|
|
|
|
|
|
First create the standalone binary using the Docker command in the previous step.
|
|
|
|
|
|
|
|
```bash
|
2021-03-11 20:50:29 +00:00
|
|
|
docker run --rm -it -v $PWD:/wowlet -w /wowlet wowlet:linux contrib/build-appimage.sh
|
2021-01-15 21:04:53 +00:00
|
|
|
```
|
|
|
|
|
2021-01-10 23:40:17 +00:00
|
|
|
### Windows (reproducible)
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
#### 1. Clone
|
|
|
|
|
|
|
|
```bash
|
2021-03-11 20:50:29 +00:00
|
|
|
git clone --branch master --recursive https://git.wownero.com/wowlet/wowlet.git
|
|
|
|
cd wowlet
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2021-01-10 23:40:17 +00:00
|
|
|
Replace `master` with the desired version tag (e.g. `beta-4`) to build the release binary.
|
|
|
|
|
2020-10-07 10:36:04 +00:00
|
|
|
#### 2. Base image
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
2021-05-15 23:05:05 +00:00
|
|
|
docker build -f Dockerfile.windows --tag wowlet:win --build-arg THREADS=6 .
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2021-01-10 23:40:17 +00:00
|
|
|
Building the base image takes a while. You only need to build the base image once.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
#### 3. Build
|
|
|
|
|
|
|
|
```bash
|
2021-05-15 23:05:05 +00:00
|
|
|
docker run --rm -it -v $PWD:/wowlet -w /wowlet wowlet:win sh -c 'make windows root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j6'
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2021-01-10 23:40:17 +00:00
|
|
|
If you're re-running a build make sure to `rm -rf build/` first.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-03-11 20:50:29 +00:00
|
|
|
The resulting binary can be found in `build/x86_64-w64-mingw32/release/bin/wowlet.exe`.
|
2020-10-07 10:36:04 +00:00
|
|
|
|
|
|
|
## macOS
|
|
|
|
|
|
|
|
For MacOS it's easiest to leverage [brew](https://brew.sh) to install the required dependencies.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" \
|
|
|
|
brew install boost zmq openssl libpgm miniupnpc libsodium expat libunwind-headers protobuf libgcrypt qrencode ccache cmake pkgconfig git
|
|
|
|
```
|
|
|
|
|
|
|
|
Clone the repository.
|
|
|
|
|
|
|
|
```bash
|
2021-03-11 20:50:29 +00:00
|
|
|
git clone --recursive https://git.wownero.com/wowlet/wowlet.git
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
2021-08-29 00:27:17 +00:00
|
|
|
Download Qt5.15.1 from here:
|
|
|
|
https://download.qt.io/archive/qt/5.15/5.15.1/single/
|
|
|
|
and build Qt 5.15.1:
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-08-29 00:27:17 +00:00
|
|
|
Qt build on Mac OS:
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-08-29 00:27:17 +00:00
|
|
|
```bash
|
|
|
|
cd ~/Downloads/qt-everywhere-src-5.15.1
|
|
|
|
./configure -prefix $PWD/qtbase -release -nomake tests
|
|
|
|
bash
|
|
|
|
make -j 4
|
|
|
|
```
|
|
|
|
|
|
|
|
Build WOWlet:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
CMAKE_PREFIX_PATH=/Users/$username/Downloads/qt-everywhere-src-5.15.1/qtbase/ make mac-release
|
|
|
|
```
|
2020-10-07 10:36:04 +00:00
|
|
|
|
2021-08-29 00:27:17 +00:00
|
|
|
Install and start tor service for ticker/forums:
|
2020-10-07 10:36:04 +00:00
|
|
|
```bash
|
2021-08-29 00:27:17 +00:00
|
|
|
brew install tor
|
|
|
|
brew services start tor
|
2020-10-07 10:36:04 +00:00
|
|
|
```
|
|
|
|
|
2021-03-11 20:50:29 +00:00
|
|
|
The resulting Mac OS application can be found `build/bin/wowlet.app` and will **not** have Tor embedded.
|