mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-01-03 09:19:22 +00:00
touch docs and scripts
move windows dep from docs to script that's already ran according to the docs but also correct the docs re: the windows scripts
This commit is contained in:
parent
99ea691bef
commit
51c45d4332
2 changed files with 35 additions and 34 deletions
|
@ -56,17 +56,28 @@ Install basic dependencies
|
||||||
sudo apt-get install libssl-dev curl unzip automake build-essential file pkg-config git python3 libtool libtinfo6 cmake libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm g++ gcc gperf libopencv-dev python3-typogrify xsltproc valac gobject-introspection vapigen meson
|
sudo apt-get install libssl-dev curl unzip automake build-essential file pkg-config git python3 libtool libtinfo6 cmake libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm g++ gcc gperf libopencv-dev python3-typogrify xsltproc valac gobject-introspection vapigen meson
|
||||||
```
|
```
|
||||||
|
|
||||||
libtinfo5 (required for monero_c, will be dropped once we are at 0.19.x.. maybe)
|
For Ubuntu 20.04,
|
||||||
|
```
|
||||||
|
pip3 install --upgrade meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
For Ubuntu 24.04,
|
||||||
|
```
|
||||||
|
sudo apt install pipx libgcrypt20-dev libglib2.0-dev libsecret-1-dev
|
||||||
|
pipx install meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Install `libtinfo5` (required by [monero_c](https://github.com/MrCyjaneK/monero_c), should be dropped in the future):
|
||||||
```
|
```
|
||||||
wget http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb -O libtinfo5.deb \
|
wget http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb -O libtinfo5.deb \
|
||||||
&& apt install ./libtinfo5.deb \
|
&& apt install ./libtinfo5.deb \
|
||||||
&& rm libtinfo5.deb
|
&& rm libtinfo5.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
Install [Rust](https://www.rust-lang.org/tools/install) with command:
|
Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https://rustup.rs), the required Rust toolchains, and `cargo-ndk 2.12.7` with command:
|
||||||
```
|
```
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
rustup install 1.67.1 1.71.0 1.72.0 1.73.0
|
rustup install 1.67.1 1.71.0 1.72.0 1.73.0
|
||||||
rustup default 1.67.1
|
rustup default 1.67.1
|
||||||
cargo install cargo-ndk --version 2.12.7 --locked
|
cargo install cargo-ndk --version 2.12.7 --locked
|
||||||
|
@ -83,17 +94,7 @@ Linux desktop specific dependencies:
|
||||||
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev meson python3-pip libgirepository1.0-dev valac xsltproc docbook-xsl
|
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev meson python3-pip libgirepository1.0-dev valac xsltproc docbook-xsl
|
||||||
```
|
```
|
||||||
|
|
||||||
For Ubuntu 20.04,
|
### Clone the repository and initialize submodules
|
||||||
```
|
|
||||||
pip3 install --upgrade meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
|
|
||||||
```
|
|
||||||
|
|
||||||
For Ubuntu 24.04,
|
|
||||||
```
|
|
||||||
sudo apt install pipx libgcrypt20-dev libglib2.0-dev libsecret-1-dev
|
|
||||||
pipx install meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
|
|
||||||
```
|
|
||||||
|
|
||||||
After installing the prerequisites listed above, download the code and init the submodules
|
After installing the prerequisites listed above, download the code and init the submodules
|
||||||
```
|
```
|
||||||
git clone https://github.com/cypherstack/stack_wallet.git
|
git clone https://github.com/cypherstack/stack_wallet.git
|
||||||
|
@ -109,17 +110,15 @@ cd scripts/linux
|
||||||
cd ../..
|
cd ../..
|
||||||
```
|
```
|
||||||
|
|
||||||
### Build coinlib
|
### Build secp256k1
|
||||||
Coinlib's native secp256k1 library must be built prior to running Stack Wallet. It can be built from within the root `stack_wallet` folder on a...
|
Coinlib requires a secp256k1 library to be built prior to running Stack Wallet. It can be built from within the root `stack_wallet` folder on a...
|
||||||
- Linux host for Linux targets: `dart run coinlib:build_linux`, or
|
- Linux host for Linux targets: `dart run coinlib:build_linux` (requires [Docker](https://docs.docker.com/engine/install/ubuntu/) or [`podman`](https://podman.io/docs/installation))
|
||||||
- Linux host for Windows targets: `dart run coinlib:build_windows_crosscompile`
|
- Linux host for Windows targets: `dart run coinlib:build_windows_crosscompile`
|
||||||
- Windows host: `dart run coinlib:build_windows`
|
- Windows host: `dart run coinlib:build_windows`
|
||||||
- WSL2 host: `dart run coinlib:build_wsl`
|
- WSL2 host: `dart run coinlib:build_wsl`
|
||||||
- macOS host: `dart run coinlib:build_macos`
|
- macOS host: `dart run coinlib:build_macos`
|
||||||
|
|
||||||
To build coinlib on Linux, you will need `docker` (see [installation instructions](https://docs.docker.com/engine/install/ubuntu/)) or [`podman`](https://podman.io/docs/installation) (`sudo apt-get -y install podman`)
|
or by using `scripts/linux/build_secp256k1.sh` or `scripts/windows/build_secp256k1.bat`.
|
||||||
|
|
||||||
For Windows targets, you can use a `secp256k1.dll` produced by any of the three middle options if the first attempt doesn't succeed.
|
|
||||||
|
|
||||||
### Run prebuild script
|
### Run prebuild script
|
||||||
|
|
||||||
|
@ -134,7 +133,7 @@ or manually by creating the files referenced in that script with the specified c
|
||||||
|
|
||||||
### Build plugins
|
### Build plugins
|
||||||
#### Build script: `build_app.sh`
|
#### Build script: `build_app.sh`
|
||||||
The `build_app.sh` script is use to build applications Stack Wallet. View the script's help message with `./build_app.sh -h` for more information on its usage.
|
The `build_app.sh` script is used to build the Stack Wallet and its family of applications. View the script's help message with `./build_app.sh -h` for more information on its usage.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
|
@ -161,7 +160,7 @@ cd scripts
|
||||||
cd scripts
|
cd scripts
|
||||||
./build_app.sh -a stack_wallet -p linux
|
./build_app.sh -a stack_wallet -p linux
|
||||||
```
|
```
|
||||||
|
<!--
|
||||||
##### Remove system packages (may be needed for building flutter_libmonero)
|
##### Remove system packages (may be needed for building flutter_libmonero)
|
||||||
[`flutter_libmonero`](https://github.com/cypherstack/flutter_libmonero) may have issues building due to conflicts with system packages: if so, follow this section.
|
[`flutter_libmonero`](https://github.com/cypherstack/flutter_libmonero) may have issues building due to conflicts with system packages: if so, follow this section.
|
||||||
|
|
||||||
|
@ -173,13 +172,19 @@ for example to find which pre-installed packages you may need to remove with `su
|
||||||
```
|
```
|
||||||
sudo apt-get remove '^libboost.*-dev.*'
|
sudo apt-get remove '^libboost.*-dev.*'
|
||||||
```
|
```
|
||||||
<!-- TODO: configure compiler to prefer built over system libraries. Should already use them? -->
|
TODO: configure compiler to prefer built over system libraries. Should already use them? -->
|
||||||
|
|
||||||
#### Building plugins and configure for Windows
|
#### Building plugins and configure for Windows
|
||||||
|
Install dependencies like MXE:
|
||||||
```
|
```
|
||||||
cd scripts
|
cd scripts/windows
|
||||||
./deps.sh
|
./deps.sh
|
||||||
./build_app.sh -a stack_wallet -p windows
|
```
|
||||||
|
|
||||||
|
and use `scripts/build_app.sh` to build plugins:
|
||||||
|
```
|
||||||
|
cd ..
|
||||||
|
./build_app.sh -a stack_wallet -p windows -v 2.1.0 -b 210
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running
|
### Running
|
||||||
|
@ -289,16 +294,11 @@ Install the following libraries:
|
||||||
sudo apt-get install libgtk2.0-dev
|
sudo apt-get install libgtk2.0-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
You will also need to install MXE on the WSL2 Ubuntu 20.04 host and can do so by running `stack_wallet/scripts/windows/deps.sh`:
|
|
||||||
```
|
|
||||||
./stack_wallet/scripts/windows/deps.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
The WSL2 host may optionally be navigated to the `stack_wallet` repository on the Windows host in order to build the plugins in-place and skip the next section in which you copy the `dll`s from WSL2 to Windows. Then build windows `dll` libraries by running the following script on the WSL2 Ubuntu 20.04 host:
|
The WSL2 host may optionally be navigated to the `stack_wallet` repository on the Windows host in order to build the plugins in-place and skip the next section in which you copy the `dll`s from WSL2 to Windows. Then build windows `dll` libraries by running the following script on the WSL2 Ubuntu 20.04 host:
|
||||||
|
|
||||||
- `stack_wallet/scripts/windows/build_all.sh`
|
- `stack_wallet/scripts/windows/build_all.sh`
|
||||||
|
|
||||||
Copy the resulting `dll`s to their respective positions on the Windows host:
|
If the DLLs were built on the WSL filesystem instead of on Windows, copy the resulting `dll`s to their respective positions on the Windows host:
|
||||||
|
|
||||||
- `stack_wallet/crypto_plugins/flutter_libepiccash/scripts/windows/build/libepic_cash_wallet.dll`
|
- `stack_wallet/crypto_plugins/flutter_libepiccash/scripts/windows/build/libepic_cash_wallet.dll`
|
||||||
- `stack_wallet/crypto_plugins/flutter_liblelantus/scripts/windows/build/libmobileliblelantus.dll`
|
- `stack_wallet/crypto_plugins/flutter_liblelantus/scripts/windows/build/libmobileliblelantus.dll`
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
(cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./deps.sh )
|
cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./deps.sh
|
||||||
(cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./mxedeps.sh )
|
cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./mxedeps.sh
|
||||||
# (cd ../../crypto_plugins/flutter_libmonero/scripts/windows && ./monerodeps.sh && ./mxedeps.sh) &
|
# cd ../../crypto_plugins/flutter_libmonero/scripts/windows && ./monerodeps.sh && ./mxedeps.sh
|
||||||
|
sudo apt install libgtk2.0-dev
|
||||||
|
|
||||||
wait
|
wait
|
||||||
echo "Done building"
|
echo "Done building"
|
||||||
|
|
Loading…
Reference in a new issue