diff --git a/docs/building.md b/docs/building.md index c3dacb90b..14109e627 100644 --- a/docs/building.md +++ b/docs/building.md @@ -72,7 +72,7 @@ Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https:// ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.bashrc -rustup install 1.85.1 +rustup install 1.85.1 1.81.0 rustup default 1.85.1 cargo install cargo-ndk --version 2.12.7 --locked ``` @@ -209,11 +209,11 @@ brew install brotli cairo coreutils gdbm gettext glib gmp libevent libidn2 libng ``` <!-- TODO: determine which of the above list are not needed at all. --> -Download and install [Rust](https://www.rust-lang.org/tools/install). [Rustup](https://rustup.rs/) is recommended for Rust setup. Use `rustc` to confirm successful installation. Install toolchain 1.85.1 and `cbindgen` and `cargo-lipo` too. You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`. You can use the command(s): +Download and install [Rust](https://www.rust-lang.org/tools/install). [Rustup](https://rustup.rs/) is recommended for Rust setup. Use `rustc` to confirm successful installation. Install toolchains 1.81.0 and 1.85.1 and `cbindgen` and `cargo-lipo` too. You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`. You can use the command(s): ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.bashrc -rustup install 1.85.1 +rustup install 1.85.1 1.81.0 rustup default 1.85.1 cargo install cargo-ndk --version 2.12.7 --locked cargo install cbindgen cargo-lipo @@ -306,7 +306,7 @@ Run `flutter doctor` in PowerShell to confirm its installation. ### Rust Install [Rust](https://www.rust-lang.org/tools/install) on the Windows host (not in WSL2). Download the installer from [rustup.rs](https://rustup.rs), make sure it works on the commandline (you may need to open a new terminal), and install the following versions: ``` -rustup install 1.85.1 +rustup install 1.85.1 1.81.0 rustup default 1.85.1 cargo install cargo-ndk --version 2.12.7 --locked ``` diff --git a/scripts/android/build_all.sh b/scripts/android/build_all.sh index 3b19c1c5b..5438234ea 100755 --- a/scripts/android/build_all.sh +++ b/scripts/android/build_all.sh @@ -8,7 +8,14 @@ mkdir -p build PLUGINS_DIR=../../crypto_plugins (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) wait diff --git a/scripts/android/build_all_campfire.sh b/scripts/android/build_all_campfire.sh index 3b19c1c5b..5438234ea 100755 --- a/scripts/android/build_all_campfire.sh +++ b/scripts/android/build_all_campfire.sh @@ -8,7 +8,14 @@ mkdir -p build PLUGINS_DIR=../../crypto_plugins (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) wait diff --git a/scripts/android/build_all_duo.sh b/scripts/android/build_all_duo.sh index 25b3ce9ea..40be4bee4 100755 --- a/scripts/android/build_all_duo.sh +++ b/scripts/android/build_all_duo.sh @@ -10,7 +10,14 @@ mkdir -p build PLUGINS_DIR=../../crypto_plugins (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) wait diff --git a/scripts/ios/build_all.sh b/scripts/ios/build_all.sh index 6ac527632..c47228cdc 100755 --- a/scripts/ios/build_all.sh +++ b/scripts/ios/build_all.sh @@ -11,7 +11,14 @@ rustup target add aarch64-apple-ios rustup target add x86_64-apple-ios (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) wait diff --git a/scripts/ios/build_all_campfire.sh b/scripts/ios/build_all_campfire.sh index 6ac527632..c47228cdc 100755 --- a/scripts/ios/build_all_campfire.sh +++ b/scripts/ios/build_all_campfire.sh @@ -11,7 +11,14 @@ rustup target add aarch64-apple-ios rustup target add x86_64-apple-ios (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) wait diff --git a/scripts/ios/build_all_duo.sh b/scripts/ios/build_all_duo.sh index 4f5191bd2..3e3a73119 100755 --- a/scripts/ios/build_all_duo.sh +++ b/scripts/ios/build_all_duo.sh @@ -13,7 +13,14 @@ rustup target add aarch64-apple-ios rustup target add x86_64-apple-ios (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) wait diff --git a/scripts/linux/build_all.sh b/scripts/linux/build_all.sh index 0562c2191..011d972b3 100755 --- a/scripts/linux/build_all.sh +++ b/scripts/linux/build_all.sh @@ -9,7 +9,14 @@ set -x -e mkdir -p build ./build_secure_storage_deps.sh (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) ./build_secp256k1.sh diff --git a/scripts/linux/build_all_campfire.sh b/scripts/linux/build_all_campfire.sh index 0562c2191..011d972b3 100755 --- a/scripts/linux/build_all_campfire.sh +++ b/scripts/linux/build_all_campfire.sh @@ -9,7 +9,14 @@ set -x -e mkdir -p build ./build_secure_storage_deps.sh (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) ./build_secp256k1.sh diff --git a/scripts/linux/build_all_duo.sh b/scripts/linux/build_all_duo.sh index 60557556d..aa804e73e 100755 --- a/scripts/linux/build_all_duo.sh +++ b/scripts/linux/build_all_duo.sh @@ -12,7 +12,14 @@ set -x -e mkdir -p build ./build_secure_storage_deps.sh & (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) ./build_secp256k1.sh diff --git a/scripts/macos/build_all.sh b/scripts/macos/build_all.sh index 5fa49e6ff..37dda0e64 100755 --- a/scripts/macos/build_all.sh +++ b/scripts/macos/build_all.sh @@ -2,8 +2,15 @@ set -x -e -(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + +(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) wait diff --git a/scripts/macos/build_all_campfire.sh b/scripts/macos/build_all_campfire.sh index 8102b1d00..59a93ef26 100755 --- a/scripts/macos/build_all_campfire.sh +++ b/scripts/macos/build_all_campfire.sh @@ -2,8 +2,15 @@ set -x -e -(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + +(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) wait diff --git a/scripts/macos/build_all_duo.sh b/scripts/macos/build_all_duo.sh index 23c4e0be3..960f5a44a 100755 --- a/scripts/macos/build_all_duo.sh +++ b/scripts/macos/build_all_duo.sh @@ -4,8 +4,15 @@ set -x -e # todo: revisit following at some point -(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + +(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) wait diff --git a/scripts/rust_version.sh b/scripts/rust_version.sh new file mode 100755 index 000000000..b894b7a5d --- /dev/null +++ b/scripts/rust_version.sh @@ -0,0 +1,21 @@ +#!/bin/sh + + +set_rust_to_everything_else() { + if rustup toolchain list | grep -q "1.85.1"; then + rustup default 1.85.1 + else + echo "Rust version 1.85.1 is not installed. Please install it using 'rustup install 1.85.1'." >&2 + exit 1 + fi +} + +set_rust_version_for_libepiccash() { + if rustup toolchain list | grep -q "1.81.0"; then + rustup default 1.81 + else + echo "Rust version 1.81.0 is not installed. Please install it using 'rustup install 1.81.0'." >&2 + exit 1 + fi +} + diff --git a/scripts/windows/build_all.sh b/scripts/windows/build_all.sh index 0f4d61b19..cf3ad76d9 100755 --- a/scripts/windows/build_all.sh +++ b/scripts/windows/build_all.sh @@ -3,7 +3,14 @@ set -x -e mkdir -p build + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh ) diff --git a/scripts/windows/build_all_campfire.sh b/scripts/windows/build_all_campfire.sh index 0f4d61b19..cf3ad76d9 100755 --- a/scripts/windows/build_all_campfire.sh +++ b/scripts/windows/build_all_campfire.sh @@ -3,7 +3,14 @@ set -x -e mkdir -p build + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh ) diff --git a/scripts/windows/build_all_duo.sh b/scripts/windows/build_all_duo.sh index 5ee690c05..e54986e7d 100755 --- a/scripts/windows/build_all_duo.sh +++ b/scripts/windows/build_all_duo.sh @@ -5,7 +5,14 @@ set -x -e # todo: revisit following at some point mkdir -p build + +# libepiccash requires old rust +source ../rust_version.sh +set_rust_version_for_libepiccash (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh ) +# set rust (back) to a more recent stable release after building epiccash +set_rust_to_everything_else + (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh ) (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh )