From 01d40c4dc38705ef9df336541b1ef416e79562f5 Mon Sep 17 00:00:00 2001 From: tuxsudo Date: Fri, 19 Jul 2024 02:37:20 +0000 Subject: [PATCH] Guides update (#1542) * Rename build-guide-win.md to howto-build-windows.md * Update howto-build-windows.md * Update howto-build-windows.md * Update howto-build-windows.md * Update howto-build-windows.md * Update howto-build-android.md * Update howto-build-android.md * Update howto-build-macos.md * Update howto-build-macos.md * Update howto-build-ios.md * Update howto-build-android.md * Update howto-build-windows.md --- build-guide-win.md | 38 ---------------------------- howto-build-android.md | 40 ++++++++++++++--------------- howto-build-ios.md | 28 ++++++++++----------- howto-build-macos.md | 28 ++++++++++----------- howto-build-windows.md | 57 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 105 insertions(+), 86 deletions(-) delete mode 100644 build-guide-win.md create mode 100644 howto-build-windows.md diff --git a/build-guide-win.md b/build-guide-win.md deleted file mode 100644 index 6ace961af..000000000 --- a/build-guide-win.md +++ /dev/null @@ -1,38 +0,0 @@ -# Building CakeWallet for Windows - -## Requirements and Setup - -The following are the system requirements to build CakeWallet for your Windows PC. - -``` -Windows 10 or later (64-bit), x86-64 based -Flutter 3 or above -``` - -## Building CakeWallet on Windows - -These steps will help you configure and execute a build of CakeWallet from its source code. - -### 1. Installing Package Dependencies - -For build CakeWallet windows application from sources you will be needed to have: -> [Install Flutter]Follow installation guide (https://docs.flutter.dev/get-started/install/windows) and install do not miss to dev tools (install https://docs.flutter.dev/get-started/install/windows/desktop#development-tools) which are required for windows desktop development (need to install Git for Windows and Visual Studio 2022). Then install `Desktop development with C++` packages via GUI Visual Studio 2022, or Visual Studio Build Tools 2022 including: `C++ Build Tools core features`, `C++ 2022 Redistributable Update`, `C++ core desktop features`, `MVC v143 - VS 2022 C++ x64/x86 build tools`, `C++ CMake tools for Windwos`, `Testing tools core features - Build Tools`, `C++ AddressSanitizer`. -> [Install WSL] for building monero dependencies need to install Windows WSL (https://learn.microsoft.com/en-us/windows/wsl/install) and required packages for WSL (Ubuntu): -`$ sudo apt update ` -`$ sudo apt build-essential cmake gcc-mingw-w64 g++-mingw-w64 autoconf libtool pkg-config` - -### 2. Pull CakeWallet source code - -You can downlaod CakeWallet source code from our [GitHub repository](github.com/cake-tech/cake_wallet) via git by following next command: -`$ git clone https://github.com/cake-tech/cake_wallet.git --branch MrCyjaneK-cyjan-monerodart` -OR you can download it as [Zip archive](https://github.com/cake-tech/cake_wallet/archive/refs/heads/MrCyjaneK-cyjan-monerodart.zip) - -### 3. Build Monero, Monero_c and their dependencies - -For use monero in the application need to build Monero wrapper - Monero_C which will be used by monero.dart package. For that need to run shell (bash - typically same named utility should be available after WSL is enabled in your system) with previously installed WSL, then change current directory to the application project directory with your used shell and then change current directory to `scripts/windows`: `$ cd scripts/windows`. Run build script: `$ ./build_all.sh`. - -### 4. Configure and build CakeWallet application - -To configure the application open directory where you have downloaded or unarchived CakeWallet sources and run `cakewallet.bat`. -Or if you used WSL and have active shell session you can run `$ ./cakewallet.sh` script in `scripts/windows` which will run `cakewallet.bat` in WSL. -After execution of `cakewallet.bat` you should to get `Cake Wallet.zip` in project root directory which will contains `CakeWallet.exe` file and another needed files for run the application. Now you can extract files from `Cake Wallet.zip` archive and run the application. diff --git a/howto-build-android.md b/howto-build-android.md index 4ad88ea0d..57d29f459 100644 --- a/howto-build-android.md +++ b/howto-build-android.md @@ -1,23 +1,19 @@ -# Building CakeWallet for Android +# Building Cake Wallet for Android ## Requirements and Setup -The following are the system requirements to build CakeWallet for your Android device. +The following are the system requirements to build Cake Wallet for your Android device. ``` Ubuntu >= 20.04 Android SDK 29 or higher (better to have the latest one 33) Android NDK 17c -Flutter 3.19.x or earlier +Flutter 3.19.x ``` -## Building CakeWallet on Android - -These steps will help you configure and execute a build of CakeWallet from its source code. - ### 1. Installing Package Dependencies -CakeWallet cannot be built without the following packages installed on your build system. +CakeWallet cannot be built without the following packages installed on your system. - curl @@ -51,13 +47,17 @@ You may easily install them on your build system with the following command: ### 2. Installing Android Studio and Android toolchain -You may download and install the latest version of Android Studio [here](https://developer.android.com/studio#downloads). After installing, start Android Studio, and go through the "Setup Wizard." This installs the latest Android SDK, Android SDK Command-line Tools, and Android SDK Build-Tools, which are required by CakeWallet. **Be sure you are installing SDK version 28 or later when stepping through the wizard** +You may download and install the latest version of Android Studio [here](https://developer.android.com/studio#downloads). After installing, start Android Studio, and go through the "Setup Wizard." This installs the latest Android SDK, Android SDK Command-line Tools, and Android SDK Build-Tools, which are required by Cake Wallet. **Be sure you are installing SDK version 28 or later when stepping through the wizard** ### 3. Installing Flutter -Need to install flutter with version `3.19.x`. For this please check section [Install Flutter manually](https://docs.flutter.dev/get-started/install/linux#install-flutter-manually). +Install Flutter with version `3.19.x`. For this please check section [Install Flutter manually](https://docs.flutter.dev/get-started/install/linux#install-flutter-manually). -### 4. Verify Installations +### 4. Installing rustup + +Install rustup from the [rustup.rs](https://rustup.rs/) website. + +### 5. Verify Installations Verify that the Android toolchain, Flutter, and Android Studio have been correctly installed on your system with the following command: @@ -71,15 +71,15 @@ Doctor summary (to see all details, run flutter doctor -v): [✓] Android Studio (version 4.0 or higher) ``` -### 5. Generate a secure keystore for Android +### 6. Generate a secure keystore for Android `$ keytool -genkey -v -keystore $HOME/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key` You will be prompted to create two passwords. First you will be prompted for the "store password", followed by a "key password" towards the end of the creation process. **TAKE NOTE OF THESE PASSWORDS!** You will need them in later steps. -### 6. Acquiring the CakeWallet Source Code +### 7. Acquiring the Cake Wallet Source Code -Create the directory that will be use to store the CakeWallet source... +Create the directory that will be use to store the Cake Wallet source... ``` $ sudo mkdir -p /opt/android @@ -95,11 +95,11 @@ Proceed into the source code before proceeding with the next steps: `$ cd cake_wallet/scripts/android/` -### 7. Installing Android NDK +### 8. Installing Android NDK `$ ./install_ndk.sh` -### 8. Execute Build & Setup Commands for CakeWallet +### 9. Execute Build & Setup Commands for Cak eWallet We need to generate project settings like app name, app icon, package name, etc. For this need to setup environment variables and configure project files. @@ -116,7 +116,7 @@ Build the Monero libraries and their dependencies: `$ ./build_all.sh` -It is now time to change back to the base directory of the CakeWallet source code: +It is now time to change back to the base directory of the Cake Wallet source code: `$ cd ../../` @@ -124,7 +124,7 @@ Install Flutter package dependencies with this command: `$ flutter pub get` -Your CakeWallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: +Your Cake Wallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: `$ flutter packages pub run tool/generate_new_secrets.dart` @@ -142,8 +142,8 @@ Finally build mobx models for the app: `$ ./model_generator.sh` -### 9. Build! +### 10. Build! `$ flutter build apk --release` -Copyright (c) 2022 Cake Technologies LLC. +Copyright (c) 2024 Cake Labs LLC diff --git a/howto-build-ios.md b/howto-build-ios.md index 3bb345861..418fbc96b 100644 --- a/howto-build-ios.md +++ b/howto-build-ios.md @@ -1,8 +1,8 @@ -# Building CakeWallet for iOS +# Building Cake Wallet for iOS ## Requirements and Setup -The following are the system requirements to build CakeWallet for your iOS device. +The following are the system requirements to build Cake Wallet for your iOS device. ``` macOS >= 14.0 @@ -10,13 +10,9 @@ Xcode 15.3 Flutter 3.19.x ``` -## Building CakeWallet on iOS - -These steps will help you configure and execute a build of CakeWallet from its source code. - ### 1. Installing Package Dependencies -CakeWallet cannot be built without the following packages installed on your build system. +Cake Wallet cannot be built without the following packages installed on your build system. For installing dependency tools you can use brew [Install brew](https://brew.sh). @@ -32,7 +28,11 @@ You may download and install the latest version of [Xcode](https://developer.app Need to install flutter with version `3.19.x`. For this please check section [Install Flutter](https://docs.flutter.dev/get-started/install/macos/mobile-ios?tab=download). -### 4. Verify Installations +### 4. Installing rustup + +Install rustup from the [rustup.rs](https://rustup.rs/) website. + +### 5. Verify Installations Verify that the Flutter and Xcode have been correctly installed on your system with the following command: @@ -45,7 +45,7 @@ Doctor summary (to see all details, run flutter doctor -v): [✓] Xcode - develop for iOS and macOS (Xcode 15.3) ``` -### 5. Acquiring the CakeWallet source code +### 6. Acquiring the CakeWallet source code Download the source code. @@ -55,7 +55,7 @@ Proceed into the source code before proceeding with the next steps: `$ cd cake_wallet/scripts/ios/` -### 6. Execute Build & Setup Commands for CakeWallet +### 7. Execute Build & Setup Commands for Cake Wallet We need to generate project settings like app name, app icon, package name, etc. For this need to setup environment variables and configure project files. @@ -72,7 +72,7 @@ Build the Monero libraries and their dependencies: `$ ./build_monero_all.sh` -It is now time to change back to the base directory of the CakeWallet source code: +It is now time to change back to the base directory of the Cake Wallet source code: `$ cd ../../` @@ -80,7 +80,7 @@ Install Flutter package dependencies with this command: `$ flutter pub get` -Your CakeWallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: +Your Cake Wallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: `$ flutter packages pub run tool/generate_new_secrets.dart` @@ -88,7 +88,7 @@ Then we need to generate localization files and mobx models. `$ ./configure_cake_wallet.sh ios` -### 7. Build! +### 8. Build! `$ flutter build ios --release` @@ -98,4 +98,4 @@ Or if you want to run to connected device: `$ flutter run --release` -Copyright (c) 2024 Cake Technologies LLC. +Copyright (c) 2024 Cake Labs LLC diff --git a/howto-build-macos.md b/howto-build-macos.md index 24d3a9d85..2e535e5be 100644 --- a/howto-build-macos.md +++ b/howto-build-macos.md @@ -1,8 +1,8 @@ -# Building CakeWallet for macOS +# Building Cake Wallet for macOS ## Requirements and Setup -The following are the system requirements to build CakeWallet for your macOS device. +The following are the system requirements to build Cake Wallet for your macOS device. ``` macOS >= 14.0 @@ -10,13 +10,9 @@ Xcode 15.3 Flutter 3.19.x ``` -## Building CakeWallet on macOS - -These steps will help you configure and execute a build of CakeWallet from its source code. - ### 1. Installing Package Dependencies -CakeWallet cannot be built without the following packages installed on your build system. +Cake Wallet cannot be built without the following packages installed on your build system. For installing dependency tools you can use brew [Install brew](https://brew.sh). @@ -34,7 +30,11 @@ You may download and install the latest version of [Xcode](https://developer.app Need to install flutter with version `3.19.x`. For this please check section [Install Flutter](https://docs.flutter.dev/get-started/install/macos/desktop?tab=download). -### 4. Verify Installations +### 4. Installing rustup + +Install rustup from the [rustup.rs](https://rustup.rs/) website. + +### 5. Verify Installations Verify that Flutter and Xcode have been correctly installed on your system with the following command: @@ -47,7 +47,7 @@ Doctor summary (to see all details, run flutter doctor -v): [✓] Xcode - develop for iOS and macOS (Xcode 15.3) ``` -### 5. Acquiring the CakeWallet source code +### 6. Acquiring the Cake Wallet source code Download the source code. @@ -57,7 +57,7 @@ Proceed into the source code before proceeding with the next steps: `$ cd cake_wallet/scripts/macos/` -### 6. Execute Build & Setup Commands for CakeWallet +### 7. Execute Build & Setup Commands for Cake Wallet We need to generate project settings like app name, app icon, package name, etc. For this need to setup environment variables and configure project files. @@ -83,7 +83,7 @@ If you be needed to build universal monero lib, then it will require additional If you will be needed to build monero wallet lib only for x86_64 on arm64 mac, then you need use steps above, but run build script with rosetta without arguments: `$ arch -x86_64 ./build_monero_all.sh`. -It is now time to change back to the base directory of the CakeWallet source code: +It is now time to change back to the base directory of the Cake Wallet source code: `$ cd ../../` @@ -91,7 +91,7 @@ Install Flutter package dependencies with this command: `$ flutter pub get` -Your CakeWallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: +Your Cake Wallet binary will be built with cryptographic salts, which are used for secure encryption of your data. You may generate these secret salts with the following command: `$ flutter packages pub run tool/generate_new_secrets.dart` @@ -99,7 +99,7 @@ Then we need to generate localization files and mobx models. `$ ./configure_cake_wallet.sh macos` -### 7. Build! +### 8. Build! `$ flutter build macos --release` @@ -109,4 +109,4 @@ Or if you want to run to connected device: `$ flutter run --release` -Copyright (c) 2024 Cake Technologies LLC. +Copyright (c) 2024 Cake Labs LLC diff --git a/howto-build-windows.md b/howto-build-windows.md new file mode 100644 index 000000000..796cb3cc8 --- /dev/null +++ b/howto-build-windows.md @@ -0,0 +1,57 @@ +# Building Cake Wallet for Windows + +## Requirements and Setup + +The following are the system requirements to build CakeWallet for your Windows PC. + +``` +Windows 10 or later (64-bit), x86-64 based +Flutter 3.19.x +``` + +### 1. Installing Flutter + +Install Flutter with version `3.19.x`. Follow the Flutter [installation guide](https://docs.flutter.dev/get-started/install/windows). + +### 2. Install Development Tools + +Install Git for Windows and Visual Studio 2022. Follow the [Development Tools](https://docs.flutter.dev/get-started/install/windows/desktop#development-tools) installation instructions. + +Then install `Desktop development with C++` packages via Visual Studio 2022, or Visual Studio Build Tools 2022 including: +- `C++ Build Tools core features` +- `C++ 2022 Redistributable Update` +- `C++ core desktop features` +- `MVC v143 - VS 2022 C++ x64/x86 build tools` +- `C++ CMake tools for Windwos` +- `Testing tools core features - Build Tools` +- `C++ AddressSanitizer`. + +### 3. Installing rustup + +Install rustup from the [rustup.rs](https://rustup.rs/#) website. Download and run the 64-bit rustup-init.exe + +### 4. Installing WSL (Windows Subsystem for Linux) + +For building monero dependencies, it is required to install Windows WSL (https://learn.microsoft.com/en-us/windows/wsl/install) and required packages for WSL (Ubuntu): +`$ sudo apt update ` +`$ sudo apt build-essential cmake gcc-mingw-w64 g++-mingw-w64 autoconf libtool pkg-config` + +### 5. Pull Cake Wallet source code + +You can downlaod CakeWallet source code from our [GitHub repository](github.com/cake-tech/cake_wallet) via git: +`$ git clone https://github.com/cake-tech/cake_wallet.git --branch MrCyjaneK-cyjan-monerodart` +OR you can download it as [Zip archive](https://github.com/cake-tech/cake_wallet/archive/refs/heads/MrCyjaneK-cyjan-monerodart.zip) + +### 6. Build Monero, monero_c and their dependencies + +To use Monero in Cake Wallet, you must build the Monero_C wrapper which will be used by monero.dart package. + +For that you need to run the shell (bash - typically same named utility should be available after WSL is enabled in your system) with the previously installed WSL install, then change current directory to the application project directory with your shell then change current directory to `scripts/windows`: `$ cd scripts/windows`. Run build script: `$ ./build_all.sh`. + +### 7. Configure and build Cake Wallet application + +To configure the application, open the directory where you have downloaded or unarchived Cake Wallet sources and run `cakewallet.bat`. +Or if you used WSL and have active shell session you can run `$ ./cakewallet.sh` script in `scripts/windows` which will run `cakewallet.bat` in WSL. +After execution of `cakewallet.bat` you should to get `Cake Wallet.zip` in project root directory which will contains `CakeWallet.exe` file and another needed files for run the application. Now you can extract files from `Cake Wallet.zip` archive and run the application. + +Copyright (c) 2024 Cake Labs LLC.