monero: update dependencies (#3064)
What changed, and why it matters
This commit updates the Monero-related wallet libraries (monero_c) used by Cake Wallet from an older release candidate (v0.18.4.0-RC9) to a newer one (v0.18.4.6-RC1). It also reorganizes how the compiled native libraries are stored and named across Android, iOS, Linux, and macOS. The change is a routine dependency upgrade and build-system refactor. There is no direct evidence in the commit that this fixes a specific security vulnerability, but updating cryptographic/wallet libraries is generally a good security practice because newer versions often include bug fixes.
Verify the new monero_c ref and release bundle against the upstream project's release notes to confirm whether this update addresses any security issues. If it does, ensure the updated binaries are rebuilt and distributed for all platforms. Because native library paths changed, confirm that CI and local builds still produce correct install artifacts and that no stale symlinks remain in working trees.
Security signals we found
Dependency update for core wallet/cryptographic library (monero_c)
Upgrade from release candidate v0.18.4.0-RC9 to v0.18.4.6-RC1
Removal of committed symlinked native binaries in favor of build-time copies
No explicit vulnerability fix or CVE reference in commit message or diff
Evidence from the diff
The commit bumps the monero_c dependency from git ref 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 to c157cb82973b05d1226b39b4d8de0bec4aa10000 and the prebuilt release bundle from v0.18.4.0-RC9 to v0.18.4.6-RC1. It removes symlinked .so files from android/app/src/main/jniLibs, adds a .gitignore for them, and changes build scripts to copy binaries from a version-tagged subdirectory (release/${TAG}/${TRIPLET}/lib${COIN}_wallet2_api_c.so/dylib). The iOS simulator triplet is renamed from aarch64-apple-iossimulator to aarch64-apple-ios-simulator. Test setup and CMake install paths are updated to match the new layout. No source-code security fix is visible in the diff.
Changed components
cw_monerocw_wownerocw_zanoscripts/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.shlinux/CMakeLists.txttool/download_moneroc_prebuilds.dartAndroid JNI native librariesiOS framework generationGitHub Actions PR Linux build workflowInspect captured patch +116 / −88
diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml
index d009e32e..36fb28a2 100644
--- a/.github/workflows/pr_test_build_linux.yml
+++ b/.github/workflows/pr_test_build_linux.yml
@@ -113,12 +113,15 @@ jobs:
- name: Build monero_c
run: |
- 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
+ ./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
popd
- name: Execute Build and Setup Commands
@@ -218,7 +221,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 --verbose
+ run: cd cw_monero && flutter test
- 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
new file mode 100644
index 00000000..af6e9106
--- /dev/null
+++ b/android/app/src/main/jniLibs/.gitignore
@@ -0,0 +1 @@
+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
deleted file mode 120000
index 6cdcd70a..00000000
--- a/android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 8f6150ee..00000000
--- a/android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 49ddd0f4..00000000
--- a/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index c0d56dd3..00000000
--- a/android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 5a71e87b..00000000
--- a/android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 43f9b98b..00000000
--- a/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 654be50b..00000000
--- a/android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index bb3da908..00000000
--- a/android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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
deleted file mode 120000
index 8c37d73c..00000000
--- a/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../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 2d4bb12e..bfd176da 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: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
+ resolved-ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
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 3877032b..d8038f07 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: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
+ ref: c157cb82973b05d1226b39b4d8de0bec4aa10000
path: impls/monero.dart
mutex: ^3.1.0
ledger_flutter_plus: ^1.4.1
@@ -54,7 +54,6 @@ 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 780caea4..87cd0dbf 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;
- late File moneroCBinary;
+ 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 1a098100..20ae78d7 100644
--- a/cw_monero/test/utils/setup_monero_c.dart
+++ b/cw_monero/test/utils/setup_monero_c.dart
@@ -1,16 +1,27 @@
import 'dart:io';
+import 'package:path/path.dart' as p;
File getMoneroCBinary() {
- 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');
+ 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'));
}
String get moneroCBinaryName {
- 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";
+ 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";
}
diff --git a/cw_wownero/pubspec.lock b/cw_wownero/pubspec.lock
index e95c3b6c..e40a2bba 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: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
+ resolved-ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
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 44657144..dcdfc6a6 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: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
+ ref: c157cb82973b05d1226b39b4d8de0bec4aa10000 # monero_c hash
path: impls/monero.dart
mutex: ^3.1.0
@@ -49,7 +49,6 @@ 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 b18f0cfc..3b792645 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: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
+ ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
+ resolved-ref: "c157cb82973b05d1226b39b4d8de0bec4aa10000"
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 54091a85..b2af4ec8 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: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
+ ref: c157cb82973b05d1226b39b4d8de0bec4aa10000 # monero_c hash
path: impls/monero.dart
dev_dependencies:
flutter_test:
@@ -38,7 +38,6 @@ 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 2356c844..7a45c054 100644
--- a/linux/CMakeLists.txt
+++ b/linux/CMakeLists.txt
@@ -113,14 +113,37 @@ else()
set(LIB_TRIPLET "x86_64-linux-gnu")
endif()
-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)
+execute_process(
+ COMMAND git describe --tags
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c
+ OUTPUT_VARIABLE MONERO_C_TAG
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
-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)
+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/monero_c/release/wownero/${LIB_TRIPLET}_libwallet2_api_c.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" RENAME "wownero_libwallet2_api_c.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 "${MONERO_C_RELEASE_DIR}/libwownero_wallet2_api_c.so"
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
+ RENAME "libwownero_wallet2_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 1cec707e..341f1449 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,15 +12,33 @@ 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/${COIN}/${target}_libwallet2_api_c.so" ]];
+ if [[ -f "release/${monero_c_tag}/${target}/${COIN}_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 69d4f006..0f82c044 100755
--- a/scripts/ios/build_monero_all.sh
+++ b/scripts/ios/build_monero_all.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
+source "$(cd "$(dirname "$0")/.." && pwd)/functions.sh"
. ./config.sh
# ./install_missing_headers.sh
@@ -19,16 +19,8 @@ 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-iossimulator -j$MAKE_JOB_COUNT
+ ./build_single.sh ${COIN} aarch64-apple-ios-simulator -j$MAKE_JOB_COUNT
popd
done
-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
+./gen_framework.sh
diff --git a/scripts/ios/gen_framework.sh b/scripts/ios/gen_framework.sh
index e1c237f8..fda1e197 100755
--- a/scripts/ios/gen_framework.sh
+++ b/scripts/ios/gen_framework.sh
@@ -2,7 +2,8 @@
set -e
IOS_DIR="$(pwd)/../../ios"
-DYLIB_PATH="$(pwd)/../../scripts/monero_c/release"
+monero_c_tag=$(cd $(pwd)/../../scripts/monero_c/; git describe --tags)
+DYLIB_PATH="$(pwd)/../../scripts/monero_c/release/${monero_c_tag}/"
TMP_DIR="${IOS_DIR}/tmp"
rm -rf "${IOS_DIR:?}/MoneroWallet.xcframework" "${IOS_DIR:?}/WowneroWallet.xcframework" "${IOS_DIR:?}/ZanoWallet.xcframework"
@@ -16,7 +17,7 @@ write_info_plist() {
target="$3"
plist_path="${framework_bundle}/Info.plist"
- if [[ "x$target" = "xiossimulator" ]]; then
+ if [[ "x$target" = "xios-simulator" ]]; then
platform="iPhoneSimulator"
dtplatformname="iphonesimulator"
dtsdkname="iphonesimulator17.4"
@@ -97,11 +98,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}/${wallet}/aarch64-apple-${target}_libwallet2_api_c.dylib"
+ input_dylib="${DYLIB_PATH}/aarch64-apple-${target}/lib${wallet}_wallet2_api_c.dylib"
if [[ ! -f "$input_dylib" ]]; then
echo "Error: Input dylib not found: $input_dylib"
exit 1
@@ -144,7 +145,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" "iossimulator" "$simulator_out"
+ create_framework "$wallet" "$framework_name" "ios-simulator" "$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 6c901052..e17073d3 100755
--- a/scripts/linux/build_monero_all.sh
+++ b/scripts/linux/build_monero_all.sh
@@ -16,13 +16,7 @@ do
else
target="x86_64-linux-gnu"
fi
-
- 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
+
+ ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
popd
-done
\ No newline at end of file
+done
diff --git a/scripts/macos/build_monero_all.sh b/scripts/macos/build_monero_all.sh
index f4667424..f2a14d8d 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=""
-MONEROC_RELEASE_DIR="../monero_c/release/monero"
-WOWNEROC_RELEASE_DIR="../monero_c/release/wownero"
+monero_c_tag=$(cd ../monero_c/; git describe --tags)
+MONEROC_RELEASE_DIR="../monero_c/release/${monero_c_tag}"
../prepare_moneroc.sh
@@ -35,8 +35,8 @@ else
HOST="x86_64-apple-darwin"
fi
- 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"
+ 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"
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 b5752ad2..9e3a66cd 100755
--- a/scripts/prepare_moneroc.sh
+++ b/scripts/prepare_moneroc.sh
@@ -9,18 +9,17 @@ 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 fd9cd6dd..a12777ad 100644
--- a/tool/download_moneroc_prebuilds.dart
+++ b/tool/download_moneroc_prebuilds.dart
@@ -20,13 +20,11 @@ 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-iossimulator",
+ "aarch64-apple-ios-simulator",
];
Future<void> main() async {
Why this scored 24/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.