* fix: scanning issues

* fix: sync, storing silent unspents

* chore: deps

* fix: label issues, clear spent utxo

* chore: deps

* fix: build

* fix: missing types

* feat: new electrs API & changes, fixes for last block scanning

* feat: Scan Silent Payments homepage toggle

* chore: build configure

* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes

* fix: invalid Object in sendData

* feat: improve addresses page & address book displays

* feat: silent payments labeled addresses disclaimer

* fix: missing i18n

* chore: print

* feat: single block scan, rescan by date working for btc mainnet

* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert

* feat: delete silent addresses

* fix: red dot in non ssl nodes

* fix: inconsistent connection states, fix tx history

* fix: tx & balance displays, cpfp sending

* feat: new rust lib

* chore: node path

* fix: check node based on network

* fix: missing txcount from addresses

* style: padding in feature page cards

* fix: restore not getting all wallet addresses by type

* fix: auto switch node broken

* fix: silent payment txs not being restored

* feat: change scanning to subscription model, sync improvements

* fix: scan re-subscription

* fix: default nodes

* fix: improve scanning by date, fix single block scan

* refactor: common function for input tx selection

* various fixes for build issues

* initial monero.dart implementation

* ...

* multiple wallets
new lib
minor fixes

* other fixes from monero.dart and monero_c

* fix: nodes & build

* update build scripts
fix polyseed

* remove unnecessary code

* Add windows app, build scripts and build guide for it.

* Minor fix in generated monero configs

* fix: send all with multiple outs

* add missing monero_c command

* add android build script

* Merge and fix main

* undo android ndk removal

* Fix modified exception_handler.dart

* Temporarily remove haven

* fix build issues

* fix pr script

* Fixes for build monero.dart (monero_c) for windows.

* monero build script

* wip: ios build script

* refactor: unchanged file

* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.

* Update monero.dart and monero_c versions.

* Add missed windows build scripts

* Update the application configuration for windows build script.

* Update cw_monero pubspec lock file for monero.dart

* Update pr_test_build.yml

* chore: upgrade

* chore: merge changes

* refactor: unchanged files [skip ci]

* Fix conflicts with main

* fix for multiple wallets

* Add tron to windows application configuration.

* Add macOS option for description message in configure_cake_wallet.sh

* Include missed monero dll for windows.

* fix conflicts with main

* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with  for configuration script. Remove cw_shared configuration for cw_monero.

* fix: scan fixes, add date, allow sending while scanning

* add missing nano secrets file [skip ci]

* ios library

* don't pull prebuilds android

* Add auto generation of manifest file for android project even for iOS, macOS, Windows.

* feat: sync fixes, sp settings

* feat: fix resyncing

* store crash fix

* make init async so it won't lag
disable print starts

* fix monero_c build issues

* libstdc++

* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)

* update pubspec.lock

* fix build script

* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.

* fix: date from height logic, status disconnected & chain tip get

* fix: params

* feat: electrum migration if using cake electrum

* fix nodes
update versions

* re-enable tron

* update sp_scanner to work on iOS [skip ci]

* bump monero_c hash

* bump monero_c commit

* bump moneroc version

* bump monero_c commit

* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .

* fix: wrong socket for old electrum nodes

* Fix unchecked wallet type call

* get App Dir correctly in default_settings_migration.dart

* handle previous issue with fetching linux documents directory [skip ci]

* backup fix

* fix NTFS issues

* Close the wallet when the wallet gets changed

* fix: double balance

* feat: node domain

* fix: menu name

* bump monero_c commit

* fix: update tip on set scanning

* fix: connection switching back and forth

* feat: check if node is electrs, and supports sp

* chore: fix build

* minor enhancements

* fixes and enhancements

* solve conflicts with main

* Only stop wallet on rename and delete

* fix: status toggle

* minor enhancement

* Monero.com fixes

* bump monero_c commit

* update sp_scanner to include windows and linux

* Update macOS build guide. Change brew dependencies for build unbound locally.

* fix conflicts and update macos build guide

* remove build cache when on gh actions

* update secure storage

* free up even more storage

* free up more storage

* Add initial wownero

* fix conflicts

* fix workflow issue

* build wownero

* ios and windows changes

* macos

* complete wownero flow (app side)

* add keychain group entitlement and update script for RunnerBase on macos

* update secure_storage version to 8.1.0 in configure.dart

* add wownero framework

* update ios builds

* proper path for wownero and monero

* finalizing wownero

* finalizing wownero

* free up even more storage

* revert commenting of build gradle configs

* revert commenting of secrets [skip ci]

* free more storage

* minor fixes

* link android wownero libraries

* bump monero_c commit

* wownero fixes

* rename target

* build_single.sh using clean env

* bump monero_c commit

* minor fix

* Add wownero polyseed

* fix conflicts with main

* fix: wallet seed display
fix: wownero not refreshing

* fix: wallet seed display
fix: wownero not refreshing

* bump monero_c commit

* minor fixes

* fix: incorrectly displaying XMR instead of WOW

* fix: incorrect restore height in wownero

* bump monero_c commit

* Add Inno Setup Script for windows exe installer

* drop libc++_shared.so

* fixes from comments

* Fix CMake for windows

* Merge latest monero dart changes [skip ci]

* bump monero_c commit

* add wownero to build scripts for macos [skip ci]

* add 14 word seed support to wownero

* UI fixes for wownero seed restore

* minor fixes

* reformat code to pass lints

* wownero: fixes
haven: removal popup

* minor iOS fix [skip ci]

* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.

* Update preferences_key.dart [skip ci]

* minor fixes

---------

Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
This commit is contained in:
Omar Hatem
2024-07-04 22:43:17 +03:00
committed by GitHub
co-authored by Rafael Saes Czarek Nakamoto M Konstantin Ullrich Matthew Fosse
parent a319e10156
commit 36eacd8698
309 changed files with 26261 additions and 6351 deletions
+1 -1
View File
@@ -8,5 +8,5 @@ fi
./app_properties.sh
./app_icon.sh
./pubspec_gen.sh
./manifest.sh
./manifest.sh true #force overwrite manifest
./inject_app_details.sh
+1 -1
View File
@@ -10,6 +10,6 @@ DIR=$(dirname "$0")
case $APP_ANDROID_TYPE in
"monero.com") $DIR/build_monero_all.sh ;;
"cakewallet") $DIR/build_monero_all.sh
$DIR/build_haven.sh ;;
$DIR/build_haven_all.sh ;;
"haven") $DIR/build_haven_all.sh ;;
esac
-68
View File
@@ -1,68 +0,0 @@
#!/bin/sh
. ./config.sh
MONERO_BRANCH=release-v0.18.3.2-android
MONERO_SRC_DIR=${WORKDIR}/monero
git clone https://github.com/cake-tech/monero.git ${MONERO_SRC_DIR} --branch ${MONERO_BRANCH}
cd $MONERO_SRC_DIR
git submodule update --init --force
for arch in "aarch" "aarch64" "i686" "x86_64"
do
FLAGS=""
PREFIX=${WORKDIR}/prefix_${arch}
DEST_LIB_DIR=${PREFIX}/lib/monero
DEST_INCLUDE_DIR=${PREFIX}/include/monero
export CMAKE_INCLUDE_PATH="${PREFIX}/include"
export CMAKE_LIBRARY_PATH="${PREFIX}/lib"
ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"
PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"
mkdir -p $DEST_LIB_DIR
mkdir -p $DEST_INCLUDE_DIR
case $arch in
"aarch" )
CLANG=arm-linux-androideabi-clang
CXXLANG=arm-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-armv7"
ARCH="armv7-a"
ARCH_ABI="armeabi-v7a"
FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;
"aarch64" )
CLANG=aarch64-linux-androideabi-clang
CXXLANG=aarch64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-armv8"
ARCH="armv8-a"
ARCH_ABI="arm64-v8a";;
"i686" )
CLANG=i686-linux-androideabi-clang
CXXLANG=i686-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-x86"
ARCH="i686"
ARCH_ABI="x86";;
"x86_64" )
CLANG=x86_64-linux-androideabi-clang
CXXLANG=x86_64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-x86_64"
ARCH="x86-64"
ARCH_ABI="x86_64";;
esac
cd $MONERO_SRC_DIR
rm -rf ./build/release
mkdir -p ./build/release
cd ./build/release
CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} -D MANUAL_SUBMODULES=1 $FLAGS ../..
make wallet_api -j$THREADS
find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
cp -r ./lib/* $DEST_LIB_DIR
cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR
done
+55 -7
View File
@@ -1,9 +1,57 @@
#!/bin/bash
./build_iconv.sh
./build_boost.sh
./build_openssl.sh
./build_sodium.sh
./build_unbound.sh
./build_zmq.sh
./build_monero.sh
# Usage: env USE_DOCKER= ./build_all.sh
set -x -e
cd "$(dirname "$0")"
NPROC="-j$(nproc)"
if [[ "x$(uname)" == "xDarwin" ]];
then
USE_DOCKER="ON"
NPROC="-j1"
fi
../prepare_moneroc.sh
if [[ ! "x$RUNNER_OS" == "x" ]];
then
REMOVE_CACHES=ON
fi
# NOTE: -j1 is intentional. Otherwise you will run into weird behaviour on macos
if [[ ! "x$USE_DOCKER" == "x" ]];
then
for COIN in monero wownero;
do
pushd ../monero_c
docker run --platform linux/amd64 -v$HOME/.cache/ccache:/root/.ccache -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc g++ libtinfo5 gperf; ./build_single.sh ${COIN} x86_64-linux-android $NPROC"
# docker run --platform linux/amd64 -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc g++ libtinfo5 gperf; ./build_single.sh ${COIN} i686-linux-android $NPROC"
docker run --platform linux/amd64 -v$HOME/.cache/ccache:/root/.ccache -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc g++ libtinfo5 gperf; ./build_single.sh ${COIN} armv7a-linux-androideabi $NPROC"
docker run --platform linux/amd64 -v$HOME/.cache/ccache:/root/.ccache -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc g++ libtinfo5 gperf; ./build_single.sh ${COIN} aarch64-linux-android $NPROC"
popd
done
else
for COIN in monero wownero;
do
pushd ../monero_c
env -i ./build_single.sh ${COIN} x86_64-linux-android $NPROC
[[ ! "x$REMOVE_CACHES" == "x" ]] && rm -rf ${COIN}/contrib/depends/x86_64-linux-android
# ./build_single.sh ${COIN} i686-linux-android $NPROC
# [[ ! "x$REMOVE_CACHES" == "x" ]] && rm -rf ${COIN}/contrib/depends/i686-linux-android
env -i ./build_single.sh ${COIN} armv7a-linux-androideabi $NPROC
[[ ! "x$REMOVE_CACHES" == "x" ]] && rm -rf ${COIN}/contrib/depends/armv7a-linux-androideabi
env -i ./build_single.sh ${COIN} aarch64-linux-android $NPROC
[[ ! "x$REMOVE_CACHES" == "x" ]] && rm -rf ${COIN}/contrib/depends/aarch64-linux-android
popd
unxz -f ../monero_c/release/${COIN}/x86_64-linux-android_libwallet2_api_c.so.xz
unxz -f ../monero_c/release/${COIN}/armv7a-linux-androideabi_libwallet2_api_c.so.xz
unxz -f ../monero_c/release/${COIN}/aarch64-linux-android_libwallet2_api_c.so.xz
[[ ! "x$REMOVE_CACHES" == "x" ]] && rm -rf ${COIN}/contrib/depends/{built,sources}
done
fi
+1 -2
View File
@@ -1,6 +1,6 @@
#!/bin/sh
set -e
set -e -x
. ./config.sh
OPENSSL_FILENAME=openssl-1.1.1q.tar.gz
@@ -26,7 +26,6 @@ do
PREFIX=$WORKDIR/prefix_${arch}
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
PATH="${TOOLCHAIN}/bin:${ORIGINAL_PATH}"
case $arch in
"aarch") X_ARCH="android-arm";;
"aarch64") X_ARCH="android-arm64";;
+2 -2
View File
@@ -14,7 +14,7 @@ PATH="${TOOLCHAIN_BASE_DIR}_${arch}/bin:${ORIGINAL_PATH}"
cd $WORKDIR
rm -rf $EXPAT_SRC_DIR
git clone https://github.com/libexpat/libexpat.git -b ${EXPAT_VERSION} ${EXPAT_SRC_DIR}
git clone https://github.com/libexpat/libexpat.git --depth=1 -b ${EXPAT_VERSION} ${EXPAT_SRC_DIR}
cd $EXPAT_SRC_DIR
test `git rev-parse HEAD` = ${EXPAT_HASH} || exit 1
cd $EXPAT_SRC_DIR/expat
@@ -49,7 +49,7 @@ PATH="${TOOLCHAIN_BIN_PATH}:${TOOLCHAIN_BASE_DIR}_${arch}/bin:${ORIGINAL_PATH}"
echo $PATH
cd $WORKDIR
rm -rf $UNBOUND_SRC_DIR
git clone https://github.com/NLnetLabs/unbound.git -b ${UNBOUND_VERSION} ${UNBOUND_SRC_DIR}
git clone https://github.com/NLnetLabs/unbound.git --depth=1 -b ${UNBOUND_VERSION} ${UNBOUND_SRC_DIR}
cd $UNBOUND_SRC_DIR
test `git rev-parse HEAD` = ${UNBOUND_HASH} || exit 1
-1
View File
@@ -41,5 +41,4 @@ done
mkdir -p ${CW_HAVEN_EXTERNAL_DIR}/include
mkdir -p ${CW_MONERO_EXTERNAL_DIR}/include
cp $CW_EXRTERNAL_DIR/x86/include/monero/wallet2_api.h ${CW_MONERO_EXTERNAL_DIR}/include
cp $CW_EXRTERNAL_DIR/x86/include/haven/wallet2_api.h ${CW_HAVEN_EXTERNAL_DIR}/include
+2 -2
View File
@@ -17,6 +17,6 @@ echo $BOOST_SHA256 $BOOST_FILE_PATH | sha256sum -c - || exit 1
cd $WORKDIR
rm -rf $BOOST_SRC_DIR
rm -rf $PREFIX/include/boost
tar -xvf $BOOST_FILE_PATH -C $WORKDIR
tar -xf $BOOST_FILE_PATH -C $WORKDIR
cd $BOOST_SRC_DIR
./bootstrap.sh --prefix=${PREFIX}
./bootstrap.sh --prefix=${PREFIX} --with-toolset=gcc
+1
View File
@@ -6,6 +6,7 @@ if [ -z "$APP_ANDROID_TYPE" ]; then
fi
cd ../..
set -x
sed -i "0,/version:/{s/version:.*/version: ${APP_ANDROID_VERSION}+${APP_ANDROID_BUILD_NUMBER}/}" ./pubspec.yaml
sed -i "0,/version:/{s/__APP_PACKAGE__/${APP_ANDROID_PACKAGE}/}" ./android/app/src/main/AndroidManifest.xml
sed -i "0,/__APP_SCHEME__/s/__APP_SCHEME__/${APP_ANDROID_SCHEME}/" ./android/app/src/main/AndroidManifest.xml
+3 -3
View File
@@ -8,9 +8,9 @@ TOOLCHAIN_x86_DIR=${TOOLCHAIN_DIR}_i686
TOOLCHAIN_x86_64_DIR=${TOOLCHAIN_DIR}_x86_64
ANDROID_NDK_SHA256="3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589"
curl https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip -o ${ANDROID_NDK_ZIP}
echo $ANDROID_NDK_SHA256 $ANDROID_NDK_ZIP | sha256sum -c || exit 1
unzip $ANDROID_NDK_ZIP -d $WORKDIR
curl https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip -o ${ANDROID_NDK_ZIP}
echo $ANDROID_NDK_SHA256 $ANDROID_NDK_ZIP | sha256sum -c || exit 1
unzip $ANDROID_NDK_ZIP -d $WORKDIR
${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py --arch arm64 --api $API --install-dir ${TOOLCHAIN_A64_DIR} --stl=libc++
${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py --arch arm --api $API --install-dir ${TOOLCHAIN_A32_DIR} --stl=libc++
+7 -2
View File
@@ -1,5 +1,10 @@
#!/bin/bash
cd ../..
cp -rf ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
cd scripts/android
if [ "$1" = true ]; then
cp -rf ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
else
cp -n ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
fi
cd scripts/android
+4 -1
View File
@@ -10,7 +10,10 @@ case $APP_ANDROID_TYPE in
CONFIG_ARGS="--monero"
;;
$CAKEWALLET)
CONFIG_ARGS="--monero --bitcoin --haven --ethereum --polygon --nano --bitcoinCash --solana --tron"
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero"
if [ "$CW_WITH_HAVEN" = true ];then
CONFIG_ARGS="$CONFIG_ARGS --haven"
fi
;;
$HAVEN)
CONFIG_ARGS="--haven"
+1
View File
@@ -1 +1,2 @@
output/
cache/
Regular → Executable
+39 -3
View File
@@ -4,23 +4,59 @@ LABEL authors="konsti"
ENV MONERO_BRANCH=release-v0.18.2.2-android
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
apt-get install -y dialog apt-utils curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang
apt-get install -y dialog apt-utils curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang bison ccache
RUN mkdir /opt/android/
COPY . /opt/android/cakewallet/
WORKDIR /opt/android/cakewallet/
# build_all.sh
# build_boost.sh
# build_haven.sh
# build_haven_all.sh
# build_iconv.sh
# build_monero.sh
# build_openssl.sh
# build_sodium.sh
# build_unbound.sh
# build_zmq.sh
# config.sh
# copy_haven_deps.sh
# copy_monero_deps.sh
# docker-compose.yml
# entrypoint.sh
# finish_boost.sh
# init_boost.sh
# install_ndk.sh
COPY config.sh /opt/android/cakewallet/
COPY install_ndk.sh /opt/android/cakewallet/
RUN ./install_ndk.sh
COPY build_iconv.sh /opt/android/cakewallet/
RUN ./build_iconv.sh
COPY build_boost.sh /opt/android/cakewallet/
COPY init_boost.sh /opt/android/cakewallet/
COPY finish_boost.sh /opt/android/cakewallet/
RUN ./build_boost.sh
COPY build_openssl.sh /opt/android/cakewallet/
RUN ./build_openssl.sh
COPY build_sodium.sh /opt/android/cakewallet/
RUN ./build_sodium.sh
COPY build_unbound.sh /opt/android/cakewallet/
RUN ./build_unbound.sh
COPY build_zmq.sh /opt/android/cakewallet/
RUN ./build_zmq.sh
COPY entrypoint.sh /opt/android/cakewallet/
COPY build_monero.sh /opt/android/cakewallet/
COPY copy_monero_deps.sh /opt/android/cakewallet/
COPY build_haven.sh /opt/android/cakewallet/
COPY copy_haven_deps.sh /opt/android/cakewallet/
ENTRYPOINT ["./entrypoint.sh"]
Regular → Executable
+17 -1
View File
@@ -1 +1,17 @@
#!/bin/sh␍␍if [ -z "$APP_ANDROID_TYPE" ]; then␍ echo "Please set APP_ANDROID_TYPE"␍ exit 1␍fi␍␍DIR=$(dirname "$0")␍␍case $APP_ANDROID_TYPE in␍ "monero.com") $DIR/build_monero_all.sh ;;␍ "cakewallet") $DIR/build_monero_all.sh␍ $DIR/build_haven.sh ;;␍ "haven") $DIR/build_haven_all.sh ;;␍esac␍
#!/bin/sh
set -x -e
if [ -z "$APP_ANDROID_TYPE" ]; then
echo "Please set APP_ANDROID_TYPE"
exit 1
fi
DIR=$(dirname "$0")
case $APP_ANDROID_TYPE in
"monero.com") $DIR/build_monero_all.sh ;;
"cakewallet") $DIR/build_monero_all.sh
$DIR/build_haven.sh ;;
"haven") $DIR/build_haven_all.sh ;;
esac
Regular → Executable
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
BOOST_SRC_DIR=$WORKDIR/boost_1_72_0
BOOST_FILENAME=boost_1_72_0.tar.bz2
Regular → Executable
+71 -1
View File
@@ -1 +1,71 @@
#!/bin/sh␍␍. ./config.sh␍HAVEN_VERSION=tags/v3.0.7␍HAVEN_SRC_DIR=${WORKDIR}/haven␍␍git clone https://github.com/haven-protocol-org/haven-main.git ${HAVEN_SRC_DIR}␍git checkout ${HAVEN_VERSION}␍cd $HAVEN_SRC_DIR␍git submodule init␍git submodule update␍␍for arch in "aarch" "aarch64" "i686" "x86_64"␍do␍FLAGS=""␍PREFIX=${WORKDIR}/prefix_${arch}␍DEST_LIB_DIR=${PREFIX}/lib/haven␍DEST_INCLUDE_DIR=${PREFIX}/include/haven␍export CMAKE_INCLUDE_PATH="${PREFIX}/include"␍export CMAKE_LIBRARY_PATH="${PREFIX}/lib"␍ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"␍PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"␍␍mkdir -p $DEST_LIB_DIR␍mkdir -p $DEST_INCLUDE_DIR␍␍case $arch in␍ "aarch" )␍ CLANG=arm-linux-androideabi-clang␍ CXXLANG=arm-linux-androideabi-clang++␍ BUILD_64=OFF␍ TAG="android-armv7"␍ ARCH="armv7-a"␍ ARCH_ABI="armeabi-v7a"␍ FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;␍ "aarch64" )␍ CLANG=aarch64-linux-androideabi-clang␍ CXXLANG=aarch64-linux-androideabi-clang++␍ BUILD_64=ON␍ TAG="android-armv8"␍ ARCH="armv8-a"␍ ARCH_ABI="arm64-v8a";;␍ "i686" )␍ CLANG=i686-linux-androideabi-clang␍ CXXLANG=i686-linux-androideabi-clang++␍ BUILD_64=OFF␍ TAG="android-x86"␍ ARCH="i686"␍ ARCH_ABI="x86";;␍ "x86_64" ) ␍ CLANG=x86_64-linux-androideabi-clang␍ CXXLANG=x86_64-linux-androideabi-clang++␍ BUILD_64=ON␍ TAG="android-x86_64"␍ ARCH="x86-64"␍ ARCH_ABI="x86_64";;␍esac␍␍cd $HAVEN_SRC_DIR␍rm -rf ./build/release␍mkdir -p ./build/release␍cd ./build/release␍CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} $FLAGS ../..␍ ␍make wallet_api -j$THREADS␍find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;␍␍cp -r ./lib/* $DEST_LIB_DIR␍cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR␍done␍
#!/bin/sh
set -x -e
. ./config.sh
HAVEN_VERSION=tags/v3.0.7
HAVEN_SRC_DIR=${WORKDIR}/haven
git clone https://github.com/haven-protocol-org/haven-main.git ${HAVEN_SRC_DIR}
cd $HAVEN_SRC_DIR
git checkout ${HAVEN_VERSION}
git submodule init
git submodule update
for arch in "aarch" "aarch64" "i686" "x86_64"
do
FLAGS=""
PREFIX=${WORKDIR}/prefix_${arch}
DEST_LIB_DIR=${PREFIX}/lib/haven
DEST_INCLUDE_DIR=${PREFIX}/include/haven
export CMAKE_INCLUDE_PATH="${PREFIX}/include"
export CMAKE_LIBRARY_PATH="${PREFIX}/lib"
ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"
PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"
mkdir -p $DEST_LIB_DIR
mkdir -p $DEST_INCLUDE_DIR
case $arch in
"aarch" )
CLANG=arm-linux-androideabi-clang
CXXLANG=arm-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-armv7"
ARCH="armv7-a"
ARCH_ABI="armeabi-v7a"
FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;
"aarch64" )
CLANG=aarch64-linux-androideabi-clang
CXXLANG=aarch64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-armv8"
ARCH="armv8-a"
ARCH_ABI="arm64-v8a";;
"i686" )
CLANG=i686-linux-androideabi-clang
CXXLANG=i686-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-x86"
ARCH="i686"
ARCH_ABI="x86";;
"x86_64" )
CLANG=x86_64-linux-androideabi-clang
CXXLANG=x86_64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-x86_64"
ARCH="x86-64"
ARCH_ABI="x86_64";;
esac
cd $HAVEN_SRC_DIR
rm -rf ./build/release
mkdir -p ./build/release
cd ./build/release
CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} $FLAGS ../..
make wallet_api -j$THREADS
find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
cp -r ./lib/* $DEST_LIB_DIR
cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR
done
+9 -1
View File
@@ -1 +1,9 @@
#!/bin/bash␍␍./build_iconv.sh␍./build_boost.sh␍./build_openssl.sh␍./build_sodium.sh␍./build_zmq.sh␍./build_haven.sh␍
#!/bin/bash
set -x -e
./build_iconv.sh
./build_boost.sh
./build_openssl.sh
./build_sodium.sh
./build_zmq.sh
./build_haven.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
export ICONV_FILENAME=libiconv-1.16.tar.gz
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
set -e
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
SODIUM_SRC_DIR=${WORKDIR}/libsodium
Regular → Executable
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
set -x -e
. ./config.sh
EXPAT_VERSION=R_2_4_8
EXPAT_HASH="3bab6c09bbe8bf42d84b81563ddbcf4cca4be838"
EXPAT_SRC_DIR=$WORKDIR/libexpat
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
ZMQ_SRC_DIR=$WORKDIR/libzmq
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
export API=21
export WORKDIR=/opt/android
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x
WORKDIR=/opt/android
CW_DIR=${WORKDIR}/cake_wallet
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x
WORKDIR=/opt/android
CW_EXRTERNAL_DIR=${WORKDIR}/output/android
+2
View File
@@ -7,3 +7,5 @@ services:
MONERO_BRANCH: release-v0.18.2.2-android
volumes:
- ./output:/opt/android/output
- ./cache/dotcache:/root/.cache
- ./cache/dotccache:/root/.ccache
Regular → Executable
+7
View File
@@ -1,4 +1,11 @@
#!/bin/bash
set -x -e
ls /opt/android
rm -rf monero haven
./build_monero.sh
./build_haven.sh
./copy_monero_deps.sh
./copy_haven_deps.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
ARCH=$1
PREFIX=$2
Regular → Executable
+4 -2
View File
@@ -1,4 +1,6 @@
#!/bin/bash
set -x -e
ARCH=$1
PREFIX=$2
@@ -17,6 +19,6 @@ echo $BOOST_SHA256 $BOOST_FILE_PATH | sha256sum -c - || exit 1
cd $WORKDIR
rm -rf $BOOST_SRC_DIR
rm -rf $PREFIX/include/boost
tar -xvf $BOOST_FILE_PATH -C $WORKDIR
tar -xf $BOOST_FILE_PATH -C $WORKDIR
cd $BOOST_SRC_DIR
./bootstrap.sh --prefix=${PREFIX}
./bootstrap.sh --prefix=${PREFIX} --with-toolset=gcc
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
TOOLCHAIN_DIR=${WORKDIR}/toolchain
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
ANDROID_SCRIPTS_DIR=`pwd`/android
if [ ! -d $ANDROID_SCRIPTS_DIR ]; then
echo "no android scripts directory found at ${ANDROID_SCRIPTS_DIR}"
exit 0
fi
cd $ANDROID_SCRIPTS_DIR
./manifest.sh
+9 -3
View File
@@ -9,8 +9,10 @@ if [ -z "$APP_IOS_TYPE" ]; then
echo "Please set APP_IOS_TYPE"
exit 1
fi
cd ../.. # go to root
./gen_framework.sh
cd .. # go to scipts
./gen_android_manifest.sh
cd .. # go to root
cp -rf ./ios/Runner/InfoBase.plist ./ios/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName ${APP_IOS_NAME}" ./ios/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier ${APP_IOS_BUNDLE_ID}" ./ios/Runner/Info.plist
@@ -20,6 +22,7 @@ cp -rf ./ios/Runner/InfoBase.plist ./ios/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Add :CFBundleURLTypes:1:CFBundleURLName string ${APP_IOS_TYPE}" ./ios/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Add :CFBundleURLTypes:1:CFBundleURLSchemes array" ./ios/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Add :CFBundleURLTypes:1:CFBundleURLSchemes: string ${APP_IOS_TYPE}" ./ios/Runner/Info.plist
sed -i '' "s/\${PRODUCT_BUNDLE_IDENTIFIER}/${APP_IOS_BUNDLE_ID}/g" ./ios/Runner.xcodeproj/project.pbxproj
CONFIG_ARGS=""
@@ -28,7 +31,10 @@ case $APP_IOS_TYPE in
CONFIG_ARGS="--monero"
;;
$CAKEWALLET)
CONFIG_ARGS="--monero --bitcoin --haven --ethereum --polygon --nano --bitcoinCash --solana --tron"
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero"
if [ "$CW_WITH_HAVEN" = true ];then
CONFIG_ARGS="$CONFIG_ARGS --haven"
fi
;;
$HAVEN)
+4 -4
View File
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
APP_IOS_TYPE=$1
MONERO_COM_NAME="Monero.com"
MONERO_COM_VERSION="1.15.2"
MONERO_COM_BUILD_NUMBER=90
MONERO_COM_VERSION="1.16.0"
MONERO_COM_BUILD_NUMBER=91
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
CAKEWALLET_NAME="Cake Wallet"
CAKEWALLET_VERSION="4.18.2"
CAKEWALLET_BUILD_NUMBER=250
CAKEWALLET_VERSION="4.19.0"
CAKEWALLET_BUILD_NUMBER=251
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
HAVEN_NAME="Haven"
+24 -7
View File
@@ -1,10 +1,27 @@
#!/bin/sh
. ./config.sh
./install_missing_headers.sh
./build_openssl.sh
./build_boost.sh
./build_sodium.sh
./build_zmq.sh
./build_unbound.sh
./build_monero.sh
# ./install_missing_headers.sh
# ./build_openssl.sh
# ./build_boost.sh
# ./build_sodium.sh
# ./build_zmq.sh
# ./build_unbound.sh
set -x -e
cd "$(dirname "$0")"
NPROC="-j$(sysctl -n hw.logicalcpu)"
../prepare_moneroc.sh
for COIN in monero wownero;
do
pushd ../monero_c
./build_single.sh ${COIN} host-apple-ios $NPROC
popd
done
unxz -f ../monero_c/release/monero/host-apple-ios_libwallet2_api_c.dylib.xz
unxz -f ../monero_c/release/wownero/host-apple-ios_libwallet2_api_c.dylib.xz
+3 -1
View File
@@ -12,6 +12,8 @@ git clone $OPEN_SSL_URL $OPEN_SSL_DIR_PATH
cd $OPEN_SSL_DIR_PATH
./build-libssl.sh --version=1.1.1q --targets="ios-cross-arm64" --deprecated
mv ${OPEN_SSL_DIR_PATH}/include/* $EXTERNAL_IOS_INCLUDE_DIR
# copy and then remove because mv is not working when there is subdirectories
cp -R ${OPEN_SSL_DIR_PATH}/include/* $EXTERNAL_IOS_INCLUDE_DIR
rm -rf ${OPEN_SSL_DIR_PATH}/include/
mv ${OPEN_SSL_DIR_PATH}/lib/libcrypto-iOS.a ${EXTERNAL_IOS_LIB_DIR}/libcrypto.a
mv ${OPEN_SSL_DIR_PATH}/lib/libssl-iOS.a ${EXTERNAL_IOS_LIB_DIR}/libssl.a
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
# Assume we are in scripts/ios
IOS_DIR="$(pwd)/../../ios"
DYLIB_NAME="monero_libwallet2_api_c.dylib"
DYLIB_LINK_PATH="${IOS_DIR}/${DYLIB_NAME}"
FRWK_DIR="${IOS_DIR}/MoneroWallet.framework"
if [ ! -f $DYLIB_LINK_PATH ]; then
echo "Dylib is not found by the link: ${DYLIB_LINK_PATH}"
exit 0
fi
cd $FRWK_DIR # go to iOS framework dir
lipo -create $DYLIB_LINK_PATH -output MoneroWallet
echo "Generated ${FRWK_DIR}"
# also generate for wownero
IOS_DIR="$(pwd)/../../ios"
DYLIB_NAME="wownero_libwallet2_api_c.dylib"
DYLIB_LINK_PATH="${IOS_DIR}/${DYLIB_NAME}"
FRWK_DIR="${IOS_DIR}/WowneroWallet.framework"
if [ ! -f $DYLIB_LINK_PATH ]; then
echo "Dylib is not found by the link: ${DYLIB_LINK_PATH}"
exit 0
fi
cd $FRWK_DIR # go to iOS framework dir
lipo -create $DYLIB_LINK_PATH -output WowneroWallet
echo "Generated ${FRWK_DIR}"
+7 -3
View File
@@ -9,7 +9,9 @@ if [ -z "$APP_MACOS_TYPE" ]; then
exit 1
fi
cd ../.. # go to root
cd .. # go to scipts
./gen_android_manifest.sh
cd .. # go to root
cp -rf ./macos/Runner/InfoBase.plist ./macos/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName ${APP_MACOS_NAME}" ./macos/Runner/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleName ${APP_MACOS_NAME}" ./macos/Runner/Info.plist
@@ -20,9 +22,11 @@ cp -rf ./macos/Runner/InfoBase.plist ./macos/Runner/Info.plist
# Fill entitlements Bundle ID
cp -rf ./macos/Runner/DebugProfileBase.entitlements ./macos/Runner/DebugProfile.entitlements
cp -rf ./macos/Runner/ReleaseBase.entitlements ./macos/Runner/Release.entitlements
cp -rf ./macos/Runner/RunnerBase.entitlements ./macos/Runner/Runner.entitlements
cp -rf ./macos/Runner/Configs/AppInfoBase.xcconfig ./macos/Runner/Configs/AppInfo.xcconfig
sed -i '' "s/\${BUNDLE_ID}/${APP_MACOS_BUNDLE_ID}/g" ./macos/Runner/DebugProfile.entitlements
sed -i '' "s/\${BUNDLE_ID}/${APP_MACOS_BUNDLE_ID}/g" ./macos/Runner/Release.entitlements
sed -i '' "s/\${BUNDLE_ID}/${APP_MACOS_BUNDLE_ID}/g" ./macos/Runner/Runner.entitlements
sed -i '' "s/\${PRODUCT_NAME}/${APP_MACOS_NAME}/g" ./macos/Runner/Configs/AppInfo.xcconfig
sed -i '' "s/\${PRODUCT_BUNDLE_IDENTIFIER}/${APP_MACOS_BUNDLE_ID}/g" ./macos/Runner/Configs/AppInfo.xcconfig
CONFIG_ARGS=""
@@ -31,7 +35,7 @@ case $APP_MACOS_TYPE in
$MONERO_COM)
CONFIG_ARGS="--monero";;
$CAKEWALLET)
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron";; #--haven
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero";; #--haven
esac
cp -rf pubspec_description.yaml pubspec.yaml
@@ -40,4 +44,4 @@ flutter pub run tool/generate_pubspec.dart
flutter pub get
flutter packages pub run tool/configure.dart $CONFIG_ARGS
cd $DIR
$DIR/app_icon.sh
$DIR/app_icon.sh
+54 -15
View File
@@ -1,20 +1,59 @@
#!/bin/sh
set -x -e
ARCH=`uname -m`
cd "$(dirname "$0")"
. ./config.sh
NPROC="-j$(sysctl -n hw.logicalcpu)"
MONERO_LIBS=""
WOWNERO_LIBS=""
MONEROC_RELEASE_DIR="../monero_c/release/monero"
WOWNEROC_RELEASE_DIR="../monero_c/release/wownero"
case $ARCH in
arm64)
./build_openssl_arm64.sh
./build_boost_arm64.sh;;
x86_64)
./build_openssl_x86_64.sh
./build_boost_x86_64.sh;;
esac
../prepare_moneroc.sh
./build_zmq.sh
./build_expat.sh
./build_unbound.sh
./build_sodium.sh
./build_monero.sh
# NOTE: -j1 is intentional. Otherwise you will run into weird behaviour on macos
if [[ ! "x$USE_DOCKER" == "x" ]];
then
for COIN in monero wownero;
do
pushd ../monero_c
echo "unsupported!"
exit 1
popd
done
else
if [[ "x$1" == "xuniversal" ]]; then
ARCHS=(arm64 x86_64)
else
ARCHS=$(uname -m)
fi
for COIN in monero wownero;
do
for ARCH in "${ARCHS[@]}";
do
if [[ "$ARCH" == "arm64" ]]; then
export HOMEBREW_PREFIX=/opt/homebrew
HOST="aarch64-host-apple-darwin"
else
export HOMEBREW_PREFIX=/usr/local
HOST="${ARCH}-host-apple-darwin"
fi
MONERO_LIBS=" -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
WOWNERO_LIBS=" -arch ${ARCH} ${WOWNEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
if [[ ! $(uname -m) == $ARCH ]]; then
PRC="arch -${ARCH}"
fi
pushd ../monero_c
$PRC ./build_single.sh ${COIN} ${HOST} $NPROC
unxz -f ./release/${COIN}/${HOST}_libwallet2_api_c.dylib.xz
popd
done
done
fi
lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
lipo -create ${WOWNERO_LIBS} -output "${WOWNEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
+31
View File
@@ -0,0 +1,31 @@
#!/bin/bash
set -x -e
cd "$(dirname "$0")"
if [[ ! -d "monero_c" ]];
then
git clone https://github.com/mrcyjanek/monero_c --branch rewrite-wip
cd monero_c
git checkout eaa7bdb8be3479418445ddb18bf33d453f64afcf
git reset --hard
git submodule update --init --force --recursive
./apply_patches.sh monero
./apply_patches.sh wownero
else
cd monero_c
fi
if [[ ! -f "monero/.patch-applied" ]];
then
./apply_patches.sh monero
fi
if [[ ! -f "wownero/.patch-applied" ]];
then
./apply_patches.sh wownero
fi
cd ..
echo "monero_c source prepared".
+37
View File
@@ -0,0 +1,37 @@
set -x -e
cd "$(dirname "$0")"
if [[ ! "x$(uname)" == "xLinux" ]];
then
echo "Only Linux hosts can build windows (yes, i know)";
exit 1
fi
../prepare_moneroc.sh
# export USE_DOCKER="ON"
pushd ../monero_c
set +e
command -v sudo && export SUDO=sudo
set -e
NPROC="-j$(nproc)"
if [[ ! "x$USE_DOCKER" == "x" ]];
then
for COIN in monero wownero;
do
$SUDO docker run --platform linux/amd64 -v$HOME/.cache/ccache:/root/.ccache -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf libtinfo5; ./build_single.sh ${COIN} x86_64-w64-mingw32 $NPROC"
# $SUDO docker run --platform linux/amd64 -v$HOME/.cache/ccache:/root/.ccache -v$PWD:$PWD -w $PWD --rm -it git.mrcyjanek.net/mrcyjanek/debian:buster bash -c "git config --global --add safe.directory '*'; apt update; apt install -y ccache gcc-mingw-w64-i686 g++-mingw-w64-i686 gperf libtinfo5; ./build_single.sh ${COIN} i686-w64-mingw32 $NPROC"
done
else
for COIN in monero wownero;
do
$SUDO ./build_single.sh ${COIN} x86_64-w64-mingw32 $NPROC
# $SUDO ./build_single.sh ${COIN} i686-w64-mingw32 $NPROC
done
fi
popd
$SUDO unxz -f ../monero_c/release/monero/*.dll.xz
$SUDO unxz -f ../monero_c/release/wownero/*.dll.xz
+44
View File
@@ -0,0 +1,44 @@
#define MyAppName "Cake Wallet"
#define MyAppVersion "0.0.1"
#define MyAppPublisher "Cake Labs LLC"
#define MyAppURL "https://cakewallet.com/"
#define MyAppExeName "CakeWallet.exe"
[Setup]
AppId=com.cakewallet.cakewallet
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\CakeWallet
DisableProgramGroupPage=yes
LicenseFile=..\..\LICENSE.md
; Uncomment the following line to run in non administrative install mode (install for current user only.)
; PrivilegesRequired=lowest
OutputDir=..\..\
OutputBaseFilename=cakewallet_setup
SetupIconFile=..\..\windows\runner\resources\app_icon.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "..\..\build\windows\x64\runner\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# This (wrapper) script should be run in wsl with installed (windows "side") flutter
# and available cmd.exe in PATH
# Assume that we are in scripts/windows dir
CW_ROOT=`pwd`/../..
cd $CW_ROOT
cmd.exe /c cakewallet.bat $1