Revert "monero: update dependencies (#3064)" (#3114)
What changed, and why it matters
This commit reverts a previous dependency update for the Monero-related libraries used by Cake Wallet. It downgrades the bundled 'monero_c' code and prebuilt binaries from a newer release (v0.18.4.6-RC1) back to an older one (v0.18.4.0-RC9), and changes how those native library files are organized and named. The commit itself does not contain a clear security fix or vulnerability disclosure; it looks like a build/dependency rollback, possibly because the newer version caused build or runtime problems.
Treat this as a routine dependency revert unless additional context shows the newer Monero release introduced a security issue. Review the upstream monero_c release notes for v0.18.4.6-RC1 and v0.18.4.0-RC9 to determine whether the revert removes a security improvement or reintroduces a known bug. Verify checksums/signatures of the downloaded prebuilt binaries and ensure the older binaries do not contain known vulnerabilities.
Security signals we found
Dependency downgrade/revert of Monero wallet libraries
Change of prebuilt binary download URL to an older release
No explicit security bug fix or vulnerability mention in commit message
No CVE or advisory reference present in commit or supplied materials
Evidence from the diff
The change reverts commit e37f4785 (‘monero: update dependencies’). It pins the monero_c git dependency back to ref 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 (from c157cb82973b05d1226b39b4d8de0bec4aa10000), switches the downloaded prebuilt release bundle from v0.18.4.6-RC1 to v0.18.4.0-RC9, and reverts the directory layout for native libraries from a version-tagged subdirectory to a flat per-coin layout. It also restores symlinks in android/app/src/main/jniLibs and reverts CMake/install script paths accordingly. No source-code vulnerability patch is visible in the diff.
Changed components
cw_monero, cw_wownero, cw_zano Dart package dependenciesscripts/prepare_moneroc.shscripts/android/build_monero_all.shscripts/ios/build_monero_all.shscripts/ios/gen_framework.shscripts/linux/build_monero_all.shscripts/macos/build_monero_all.shtool/download_moneroc_prebuilds.dartlinux/CMakeLists.txtandroid/app/src/main/jniLibs native library symlinks.github/workflows/pr_test_build_linux.ymlInspect captured patch +88 / −116
diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml
index 36fb28a2..d009e32e 100644
--- a/.github/workflows/pr_test_build_linux.yml
+++ b/.github/workflows/pr_test_build_linux.yml
@@ -113,15 +113,12 @@ jobs:
- name: Build monero_c
run: |
- ./scripts/prepare_moneroc.sh
- mkdir -p scripts/monero_c/release
- pushd scripts/monero_c/release
- mkdir -p $(git describe --tags)
- pushd $(git describe --tags)
- wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
- unzip release-bundle.zip
- rm release-bundle.zip
- popd
+ mkdir -p scripts/monero_c
+ pushd scripts/monero_c
+ wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
+ unzip release-bundle.zip
+ rm release-bundle.zip
+ unxz -fv release/*/*.xz
popd
- name: Execute Build and Setup Commands
@@ -221,7 +218,7 @@ jobs:
exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart
- name: Test [cw_monero]
timeout-minutes: 15
- run: cd cw_monero && flutter test
+ run: cd cw_monero && flutter test --verbose
- name: Stop screen recording, encrypt and upload
if: always()
run: |
diff --git a/android/app/src/main/jniLibs/.gitignore b/android/app/src/main/jniLibs/.gitignore
deleted file mode 100644
index af6e9106..00000000
--- a/android/app/src/main/jniLibs/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-lib*_wallet2_api_c.so
diff --git a/android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so b/android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so
new file mode 120000
index 00000000..6cdcd70a
--- /dev/null
+++ b/android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/monero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so b/android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so
new file mode 120000
index 00000000..8f6150ee
--- /dev/null
+++ b/android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/wownero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
new file mode 120000
index 00000000..49ddd0f4
--- /dev/null
+++ b/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so b/android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so
new file mode 120000
index 00000000..c0d56dd3
--- /dev/null
+++ b/android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/monero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so b/android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so
new file mode 120000
index 00000000..5a71e87b
--- /dev/null
+++ b/android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/wownero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
new file mode 120000
index 00000000..43f9b98b
--- /dev/null
+++ b/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so b/android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so
new file mode 120000
index 00000000..654be50b
--- /dev/null
+++ b/android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/monero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so b/android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so
new file mode 120000
index 00000000..bb3da908
--- /dev/null
+++ b/android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/wownero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
new file mode 120000
index 00000000..8c37d73c
--- /dev/null
+++ b/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/cw_monero/pubspec.lock b/cw_monero/pubspec.lock
index bfd176da..2d4bb12e 100644
--- a/cw_monero/pubspec.lock
+++ b/cw_monero/pubspec.lock
@@ -582,8 +582,8 @@ packages:
dependency: "direct main"
description:
path: "impls/monero.dart"
- ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
- resolved-ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
+ ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
url: "https://github.com/mrcyjanek/monero_c"
source: git
version: "0.0.0"
diff --git a/cw_monero/pubspec.yaml b/cw_monero/pubspec.yaml
index d8038f07..3877032b 100644
--- a/cw_monero/pubspec.yaml
+++ b/cw_monero/pubspec.yaml
@@ -26,7 +26,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c
- ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
+ ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
path: impls/monero.dart
mutex: ^3.1.0
ledger_flutter_plus: ^1.4.1
@@ -54,6 +54,7 @@ flutter:
# be modified. They are used by the tooling to maintain consistency when
# adding or updating assets for this project.
+
# To add assets to your plugin package, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
diff --git a/cw_monero/test/monero_wallet_service_test.dart b/cw_monero/test/monero_wallet_service_test.dart
index 87cd0dbf..780caea4 100644
--- a/cw_monero/test/monero_wallet_service_test.dart
+++ b/cw_monero/test/monero_wallet_service_test.dart
@@ -18,7 +18,7 @@ import 'utils/setup_monero_c.dart';
Future<void> main() async {
group("MoneroWalletService Tests", () {
late MoneroWalletService walletService;
- File? moneroCBinary;
+ late File moneroCBinary;
setUpAll(() async {
await initDb(pathOverride: './test/data/db');
@@ -34,7 +34,7 @@ Future<void> main() async {
tearDownAll(() {
Directory('./test/data').deleteSync(recursive: true);
- moneroCBinary!.deleteSync();
+ moneroCBinary.deleteSync();
});
group("Create wallet", () {
diff --git a/cw_monero/test/utils/setup_monero_c.dart b/cw_monero/test/utils/setup_monero_c.dart
index 20ae78d7..1a098100 100644
--- a/cw_monero/test/utils/setup_monero_c.dart
+++ b/cw_monero/test/utils/setup_monero_c.dart
@@ -1,27 +1,16 @@
import 'dart:io';
-import 'package:path/path.dart' as p;
File getMoneroCBinary() {
- final baseDir = Directory('../scripts/monero_c/release');
-
- final versionDir =
- baseDir.listSync().whereType<Directory>().map((d) => d.path).firstWhere(
- (path) => p.basename(path).startsWith('v'),
- );
-
- if (Platform.isWindows) {
- return File(p.join(
- versionDir, 'x86_64-w64-mingw32', 'libmonero_wallet2_api_c.dll'));
- }
- if (Platform.isMacOS) {
- return File(p.join(versionDir, 'macos', 'libmonero_wallet2_api_c.dylib'));
- }
- return File(
- p.join(versionDir, 'x86_64-linux-gnu', 'libmonero_wallet2_api_c.so'));
+ if (Platform.isWindows)
+ return File(
+ '../scripts/monero_c/release/monero/x86_64-w64-mingw32_libwallet2_api_c.dll');
+ if (Platform.isMacOS) return File('../macos/monero_libwallet2_api_c.dylib');
+ return File('../scripts/monero_c/release/monero/x86_64-linux-gnu_libwallet2_api_c.so');
}
String get moneroCBinaryName {
- if (Platform.isWindows) return "libmonero_wallet2_api_c.dll";
- if (Platform.isMacOS) return "libmonero_wallet2_api_c.dylib";
- return "/usr/lib/libmonero_wallet2_api_c.so";
+ if (Platform.isWindows)
+ return "monero_libwallet2_api_c.dll";
+ if (Platform.isMacOS) return "monero_libwallet2_api_c.dylib";
+ return "/usr/lib/monero_libwallet2_api_c.so";
}
diff --git a/cw_wownero/pubspec.lock b/cw_wownero/pubspec.lock
index e40a2bba..e95c3b6c 100644
--- a/cw_wownero/pubspec.lock
+++ b/cw_wownero/pubspec.lock
@@ -502,8 +502,8 @@ packages:
dependency: "direct main"
description:
path: "impls/monero.dart"
- ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
- resolved-ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
+ ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
url: "https://github.com/mrcyjanek/monero_c"
source: git
version: "0.0.0"
diff --git a/cw_wownero/pubspec.yaml b/cw_wownero/pubspec.yaml
index dcdfc6a6..44657144 100644
--- a/cw_wownero/pubspec.yaml
+++ b/cw_wownero/pubspec.yaml
@@ -24,7 +24,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c
- ref: c157cb82973b05d1226b39b4d8de0bec4aa10000 # monero_c hash
+ ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
path: impls/monero.dart
mutex: ^3.1.0
@@ -49,6 +49,7 @@ flutter:
# be modified. They are used by the tooling to maintain consistency when
# adding or updating assets for this project.
+
# To add assets to your plugin package, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
diff --git a/cw_zano/pubspec.lock b/cw_zano/pubspec.lock
index 3b792645..b18f0cfc 100644
--- a/cw_zano/pubspec.lock
+++ b/cw_zano/pubspec.lock
@@ -507,8 +507,8 @@ packages:
dependency: "direct main"
description:
path: "impls/monero.dart"
- ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
- resolved-ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
+ ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
url: "https://github.com/mrcyjanek/monero_c"
source: git
version: "0.0.0"
diff --git a/cw_zano/pubspec.yaml b/cw_zano/pubspec.yaml
index b2af4ec8..54091a85 100644
--- a/cw_zano/pubspec.yaml
+++ b/cw_zano/pubspec.yaml
@@ -25,7 +25,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c
- ref: c157cb82973b05d1226b39b4d8de0bec4aa10000 # monero_c hash
+ ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
path: impls/monero.dart
dev_dependencies:
flutter_test:
@@ -38,6 +38,7 @@ dev_dependencies:
dependency_overrides:
watcher: ^1.1.0
+
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt
index 7a45c054..2356c844 100644
--- a/linux/CMakeLists.txt
+++ b/linux/CMakeLists.txt
@@ -113,37 +113,14 @@ else()
set(LIB_TRIPLET "x86_64-linux-gnu")
endif()
-execute_process(
- COMMAND git describe --tags
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c
- OUTPUT_VARIABLE MONERO_C_TAG
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-set(MONERO_C_RELEASE_DIR
- "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/${MONERO_C_TAG}/${LIB_TRIPLET}"
-)
-
-install(
- FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/zcash_lib/target/release/libwarp_api_ffi.so"
- DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- RENAME "libwarp_api_ffi.so"
- COMPONENT Runtime
-)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/zcash_lib/target/release/libwarp_api_ffi.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "libwarp_api_ffi.so"
+ COMPONENT Runtime)
-install(
- FILES "${MONERO_C_RELEASE_DIR}/libmonero_wallet2_api_c.so"
- DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- RENAME "libmonero_wallet2_api_c.so"
- COMPONENT Runtime
-)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/monero/${LIB_TRIPLET}_libwallet2_api_c.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "monero_libwallet2_api_c.so"
+ COMPONENT Runtime)
-install(
- FILES "${MONERO_C_RELEASE_DIR}/libwownero_wallet2_api_c.so"
- DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- RENAME "libwownero_wallet2_api_c.so"
- COMPONENT Runtime
-)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/wownero/${LIB_TRIPLET}_libwallet2_api_c.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "wownero_libwallet2_api_c.so"
+ COMPONENT Runtime)
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
COMPONENT Runtime)
diff --git a/scripts/android/build_monero_all.sh b/scripts/android/build_monero_all.sh
index 341f1449..1cec707e 100755
--- a/scripts/android/build_monero_all.sh
+++ b/scripts/android/build_monero_all.sh
@@ -1,7 +1,7 @@
#!/bin/bash
source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
-# Usage: env USE_DOCKER= ./build_all.sh
+# Usage: env USE_DOCKER= ./build_all.sh
set -x -e
@@ -12,33 +12,15 @@ cd "$(dirname "$0")"
for COIN in monero wownero zano;
do
pushd ../monero_c
- monero_c_tag=$(git describe --tags)
for target in {x86_64,aarch64}-linux-android armv7a-linux-androideabi
do
- if [[ -f "release/${monero_c_tag}/${target}/${COIN}_libwallet2_api_c.so" ]];
+ if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
then
echo "file exist, not building monero_c for ${COIN}/$target.";
else
./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
+ unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
fi
-
- case $target in
- x86_64-linux-android)
- mkdir -p ../../android/app/src/main/jniLibs/x86_64 || true
- cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/x86_64/
- ;;
- armv7a-linux-androideabi)
- mkdir -p ../../android/app/src/main/jniLibs/armeabi-v7a || true
- cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/armeabi-v7a/
- ;;
- aarch64-linux-android)
- mkdir -p ../../android/app/src/main/jniLibs/arm64-v8a || true
- cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/arm64-v8a/
- ;;
- *)
- echo "Unsupported target: $target"
- exit 1;
- esac
done
popd
done
diff --git a/scripts/ios/build_monero_all.sh b/scripts/ios/build_monero_all.sh
index 0f82c044..69d4f006 100755
--- a/scripts/ios/build_monero_all.sh
+++ b/scripts/ios/build_monero_all.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-source "$(cd "$(dirname "$0")/.." && pwd)/functions.sh"
+source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
. ./config.sh
# ./install_missing_headers.sh
@@ -19,8 +19,16 @@ for COIN in monero wownero zano;
do
pushd ../monero_c
./build_single.sh ${COIN} aarch64-apple-ios -j$MAKE_JOB_COUNT
- ./build_single.sh ${COIN} aarch64-apple-ios-simulator -j$MAKE_JOB_COUNT
+ ./build_single.sh ${COIN} aarch64-apple-iossimulator -j$MAKE_JOB_COUNT
popd
done
-./gen_framework.sh
+unxz -fk ../monero_c/release/monero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
+unxz -fk ../monero_c/release/wownero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
+unxz -fk ../monero_c/release/zano/aarch64-apple-ios_libwallet2_api_c.dylib.xz
+
+unxz -fk ../monero_c/release/monero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
+unxz -fk ../monero_c/release/wownero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
+unxz -fk ../monero_c/release/zano/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
+
+./gen_framework.sh
\ No newline at end of file
diff --git a/scripts/ios/gen_framework.sh b/scripts/ios/gen_framework.sh
index fda1e197..e1c237f8 100755
--- a/scripts/ios/gen_framework.sh
+++ b/scripts/ios/gen_framework.sh
@@ -2,8 +2,7 @@
set -e
IOS_DIR="$(pwd)/../../ios"
-monero_c_tag=$(cd $(pwd)/../../scripts/monero_c/; git describe --tags)
-DYLIB_PATH="$(pwd)/../../scripts/monero_c/release/${monero_c_tag}/"
+DYLIB_PATH="$(pwd)/../../scripts/monero_c/release"
TMP_DIR="${IOS_DIR}/tmp"
rm -rf "${IOS_DIR:?}/MoneroWallet.xcframework" "${IOS_DIR:?}/WowneroWallet.xcframework" "${IOS_DIR:?}/ZanoWallet.xcframework"
@@ -17,7 +16,7 @@ write_info_plist() {
target="$3"
plist_path="${framework_bundle}/Info.plist"
- if [[ "x$target" = "xios-simulator" ]]; then
+ if [[ "x$target" = "xiossimulator" ]]; then
platform="iPhoneSimulator"
dtplatformname="iphonesimulator"
dtsdkname="iphonesimulator17.4"
@@ -98,11 +97,11 @@ create_framework() {
echo "Creating ${framework_name}.framework for target ${target} in ${out_dir}..."
framework_bundle="${out_dir}/${framework_name}.framework"
-
+
rm -rf "$framework_bundle"
mkdir -p "$framework_bundle"
- input_dylib="${DYLIB_PATH}/aarch64-apple-${target}/lib${wallet}_wallet2_api_c.dylib"
+ input_dylib="${DYLIB_PATH}/${wallet}/aarch64-apple-${target}_libwallet2_api_c.dylib"
if [[ ! -f "$input_dylib" ]]; then
echo "Error: Input dylib not found: $input_dylib"
exit 1
@@ -145,7 +144,7 @@ for i in "${!wallets[@]}"; do
mkdir -p "$device_out" "$simulator_out"
create_framework "$wallet" "$framework_name" "ios" "$device_out"
- create_framework "$wallet" "$framework_name" "ios-simulator" "$simulator_out"
+ create_framework "$wallet" "$framework_name" "iossimulator" "$simulator_out"
device_framework="${device_out}/${framework_name}.framework"
simulator_framework="${simulator_out}/${framework_name}.framework"
diff --git a/scripts/linux/build_monero_all.sh b/scripts/linux/build_monero_all.sh
index e17073d3..6c901052 100755
--- a/scripts/linux/build_monero_all.sh
+++ b/scripts/linux/build_monero_all.sh
@@ -16,7 +16,13 @@ do
else
target="x86_64-linux-gnu"
fi
-
- ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
+
+ if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
+ then
+ echo "file exist, not building monero_c for ${COIN}/$target.";
+ else
+ ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
+ unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
+ fi
popd
-done
+done
\ No newline at end of file
diff --git a/scripts/macos/build_monero_all.sh b/scripts/macos/build_monero_all.sh
index f2a14d8d..f4667424 100755
--- a/scripts/macos/build_monero_all.sh
+++ b/scripts/macos/build_monero_all.sh
@@ -6,8 +6,8 @@ cd "$(dirname "$0")"
NPROC="-j$(sysctl -n hw.logicalcpu)"
MONERO_LIBS=""
WOWNERO_LIBS=""
-monero_c_tag=$(cd ../monero_c/; git describe --tags)
-MONEROC_RELEASE_DIR="../monero_c/release/${monero_c_tag}"
+MONEROC_RELEASE_DIR="../monero_c/release/monero"
+WOWNEROC_RELEASE_DIR="../monero_c/release/wownero"
../prepare_moneroc.sh
@@ -35,8 +35,8 @@ else
HOST="x86_64-apple-darwin"
fi
- MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libmonero_libwallet2_api_c.dylib"
- WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libwownero_libwallet2_api_c.dylib"
+ MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
+ WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${WOWNEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
pushd ../monero_c
./build_single.sh ${COIN} ${HOST} -j$MAKE_JOB_COUNT
diff --git a/scripts/prepare_moneroc.sh b/scripts/prepare_moneroc.sh
index 9e3a66cd..b5752ad2 100755
--- a/scripts/prepare_moneroc.sh
+++ b/scripts/prepare_moneroc.sh
@@ -9,17 +9,18 @@ then
rm -rf monero_c
git clone https://github.com/mrcyjanek/monero_c --branch master monero_c
cd monero_c
+ # NOTE: Make sure to update monero_c prebuilds link in workflow files
+ # https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
+ git checkout 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
+ git reset --hard
+ git submodule update --init --force --recursive
+ ./apply_patches.sh monero
+ ./apply_patches.sh wownero
+ ./apply_patches.sh zano
else
cd monero_c
fi
-# NOTE: Make sure to update monero_c prebuilds link in workflow files
-# https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
-git fetch -a
-git checkout c157cb82973b05d1226b39b4d8de0bec4aa10000
-git reset --hard
-git submodule update --init --force --recursive
-
for coin in monero wownero zano;
do
if [[ ! -f "$coin/.patch-applied" ]];
diff --git a/tool/download_moneroc_prebuilds.dart b/tool/download_moneroc_prebuilds.dart
index a12777ad..fd9cd6dd 100644
--- a/tool/download_moneroc_prebuilds.dart
+++ b/tool/download_moneroc_prebuilds.dart
@@ -20,11 +20,13 @@ final List<String> triplets = [
"x86_64-w64-mingw32",
// "x86_64-apple-darwin11", // Intel macbooks (contrib) - not used by cake
// "aarch64-apple-darwin11", // apple silicon macbooks (contrib) - not used by cake
+ // "host-apple-darwin", // not available on CI (yet)
// "x86_64-host-apple-darwin", // not available on CI (yet)
"aarch64-apple-darwin", // apple silicon macbooks
"x86_64-apple-darwin", // intel macbooks
+ "aarch64-host-apple-darwin", // apple silicon macbooks (local builds)
"aarch64-apple-ios",
- "aarch64-apple-ios-simulator",
+ "aarch64-apple-iossimulator",
];
Future<void> main() async {
Why this scored 31/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.