Revert "Revert "monero: update dependencies"" (#3115)
* Revert "Revert "monero: update dependencies (#3064)" (#3114)" This reverts commit 2d034091ffc95dc36530d23cb0cce401b19db9bf. * bump: moneroc * fix: macos builds --------- Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Omar Hatem committed
Mar 25, 2026 at 21:25 UTC
3917e55f46fea70f81b80949d5ed886be5a0d819
32 files changed
+163
-139
.github/workflows/pr_test_build_linux.yml
+10
-7
@@ -113,12 +113,15 @@ jobs:
113
114
- name: Build monero_c
115
run: |
116
- mkdir -p scripts/monero_c
117
- pushd scripts/monero_c
118
- wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
119
- unzip release-bundle.zip
120
- rm release-bundle.zip
121
- unxz -fv release/*/*.xz
116
+ ./scripts/prepare_moneroc.sh
117
+ mkdir -p scripts/monero_c/release
118
+ pushd scripts/monero_c/release
119
+ mkdir -p $(git describe --tags)
120
+ pushd $(git describe --tags)
121
+ wget https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
122
+ unzip release-bundle.zip
123
+ rm release-bundle.zip
124
+ popd
125
popd
126
127
- name: Execute Build and Setup Commands
@@ -218,7 +221,7 @@ jobs:
221
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
222
- name: Test [cw_monero]
223
timeout-minutes: 15
221
- run: cd cw_monero && flutter test --verbose
224
+ run: cd cw_monero && flutter test
225
- name: Stop screen recording, encrypt and upload
226
if: always()
227
run: |
android/app/src/main/jniLibs/.gitignore
new
+1
@@ -0,0 +1 @@
1
+lib*_wallet2_api_c.so
android/app/src/main/jniLibs/arm64-v8a/libmonero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/monero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/arm64-v8a/libwownero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/wownero/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/zano/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libmonero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/monero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libwownero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/wownero/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/zano/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libmonero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/monero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libwownero_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/wownero/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
deleted
-1
@@ -1 +0,0 @@
1
-../../../../../../scripts/monero_c/release/zano/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
cw_monero/pubspec.lock
+2
-2
@@ -582,8 +582,8 @@ packages:
582
dependency: "direct main"
583
description:
584
path: "impls/monero.dart"
585
- ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
586
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
585
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
586
+ resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
587
url: "https://github.com/mrcyjanek/monero_c"
588
source: git
589
version: "0.0.0"
cw_monero/pubspec.yaml
+1
-2
@@ -26,7 +26,7 @@ dependencies:
26
monero:
27
git:
28
url: https://github.com/mrcyjanek/monero_c
29
- ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
29
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
30
path: impls/monero.dart
31
mutex: ^3.1.0
32
ledger_flutter_plus: ^1.4.1
@@ -54,7 +54,6 @@ flutter:
54
# be modified. They are used by the tooling to maintain consistency when
55
# adding or updating assets for this project.
56
57
-
57
# To add assets to your plugin package, add an assets section, like this:
58
# assets:
59
# - images/a_dot_burr.jpeg
cw_monero/test/monero_wallet_service_test.dart
+2
-2
@@ -18,7 +18,7 @@ import 'utils/setup_monero_c.dart';
18
Future<void> main() async {
19
group("MoneroWalletService Tests", () {
20
late MoneroWalletService walletService;
21
- late File moneroCBinary;
21
+ File? moneroCBinary;
22
23
setUpAll(() async {
24
await initDb(pathOverride: './test/data/db');
@@ -34,7 +34,7 @@ Future<void> main() async {
34
35
tearDownAll(() {
36
Directory('./test/data').deleteSync(recursive: true);
37
- moneroCBinary.deleteSync();
37
+ moneroCBinary!.deleteSync();
38
});
39
40
group("Create wallet", () {
cw_monero/test/utils/setup_monero_c.dart
+20
-9
@@ -1,16 +1,27 @@
1
import 'dart:io';
2
+import 'package:path/path.dart' as p;
3
4
File getMoneroCBinary() {
4
- if (Platform.isWindows)
5
- return File(
6
- '../scripts/monero_c/release/monero/x86_64-w64-mingw32_libwallet2_api_c.dll');
7
- if (Platform.isMacOS) return File('../macos/monero_libwallet2_api_c.dylib');
8
- return File('../scripts/monero_c/release/monero/x86_64-linux-gnu_libwallet2_api_c.so');
5
+ final baseDir = Directory('../scripts/monero_c/release');
6
+
7
+ final versionDir =
8
+ baseDir.listSync().whereType<Directory>().map((d) => d.path).firstWhere(
9
+ (path) => p.basename(path).startsWith('v'),
10
+ );
11
+
12
+ if (Platform.isWindows) {
13
+ return File(p.join(
14
+ versionDir, 'x86_64-w64-mingw32', 'libmonero_wallet2_api_c.dll'));
15
+ }
16
+ if (Platform.isMacOS) {
17
+ return File(p.join(versionDir, 'macos', 'libmonero_wallet2_api_c.dylib'));
18
+ }
19
+ return File(
20
+ p.join(versionDir, 'x86_64-linux-gnu', 'libmonero_wallet2_api_c.so'));
21
}
22
23
String get moneroCBinaryName {
12
- if (Platform.isWindows)
13
- return "monero_libwallet2_api_c.dll";
14
- if (Platform.isMacOS) return "monero_libwallet2_api_c.dylib";
15
- return "/usr/lib/monero_libwallet2_api_c.so";
24
+ if (Platform.isWindows) return "libmonero_wallet2_api_c.dll";
25
+ if (Platform.isMacOS) return "libmonero_wallet2_api_c.dylib";
26
+ return "/usr/lib/libmonero_wallet2_api_c.so";
27
}
cw_wownero/pubspec.lock
+2
-2
@@ -502,8 +502,8 @@ packages:
502
dependency: "direct main"
503
description:
504
path: "impls/monero.dart"
505
- ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
506
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
505
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
506
+ resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
507
url: "https://github.com/mrcyjanek/monero_c"
508
source: git
509
version: "0.0.0"
cw_wownero/pubspec.yaml
+1
-2
@@ -24,7 +24,7 @@ dependencies:
24
monero:
25
git:
26
url: https://github.com/mrcyjanek/monero_c
27
- ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
27
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2 # monero_c hash
28
path: impls/monero.dart
29
mutex: ^3.1.0
30
@@ -49,7 +49,6 @@ flutter:
49
# be modified. They are used by the tooling to maintain consistency when
50
# adding or updating assets for this project.
51
52
-
52
# To add assets to your plugin package, add an assets section, like this:
53
# assets:
54
# - images/a_dot_burr.jpeg
cw_zano/pubspec.lock
+2
-2
@@ -507,8 +507,8 @@ packages:
507
dependency: "direct main"
508
description:
509
path: "impls/monero.dart"
510
- ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
511
- resolved-ref: "411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29"
510
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
511
+ resolved-ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2
512
url: "https://github.com/mrcyjanek/monero_c"
513
source: git
514
version: "0.0.0"
cw_zano/pubspec.yaml
+1
-2
@@ -25,7 +25,7 @@ dependencies:
25
monero:
26
git:
27
url: https://github.com/mrcyjanek/monero_c
28
- ref: 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29 # monero_c hash
28
+ ref: bc8d1a0b75b97156d71579581b4cdfe58c777ed2 # monero_c hash
29
path: impls/monero.dart
30
dev_dependencies:
31
flutter_test:
@@ -38,7 +38,6 @@ dev_dependencies:
38
dependency_overrides:
39
watcher: ^1.1.0
40
41
-
41
# For information on the generic Dart part of this file, see the
42
# following page: https://dart.dev/tools/pub/pubspec
43
linux/CMakeLists.txt
+29
-6
@@ -113,14 +113,37 @@ else()
113
set(LIB_TRIPLET "x86_64-linux-gnu")
114
endif()
115
116
-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"
117
- COMPONENT Runtime)
116
+execute_process(
117
+ COMMAND git describe --tags
118
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c
119
+ OUTPUT_VARIABLE MONERO_C_TAG
120
+ OUTPUT_STRIP_TRAILING_WHITESPACE
121
+)
122
119
-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"
120
- COMPONENT Runtime)
123
+set(MONERO_C_RELEASE_DIR
124
+ "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/monero_c/release/${MONERO_C_TAG}/${LIB_TRIPLET}"
125
+)
126
122
-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"
123
- COMPONENT Runtime)
127
+install(
128
+ FILES "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/zcash_lib/target/release/libwarp_api_ffi.so"
129
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
130
+ RENAME "libwarp_api_ffi.so"
131
+ COMPONENT Runtime
132
+)
133
+
134
+install(
135
+ FILES "${MONERO_C_RELEASE_DIR}/libmonero_wallet2_api_c.so"
136
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
137
+ RENAME "libmonero_wallet2_api_c.so"
138
+ COMPONENT Runtime
139
+)
140
+
141
+install(
142
+ FILES "${MONERO_C_RELEASE_DIR}/libwownero_wallet2_api_c.so"
143
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
144
+ RENAME "libwownero_wallet2_api_c.so"
145
+ COMPONENT Runtime
146
+)
147
148
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
149
COMPONENT Runtime)
macos/.gitignore
+1
@@ -5,3 +5,4 @@
5
# Xcode-related
6
**/dgph
7
**/xcuserdata/
8
+*.dylib
macos/Podfile.lock
+24
-24
@@ -167,34 +167,34 @@ EXTERNAL SOURCES:
167
:path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos
168
169
SPEC CHECKSUMS:
170
- bitbox_flutter: 16088f5c7febacf894f4d07bbdfb441c9f0757fe
171
- breez_sdk_spark_flutter: 2e864a52e699546aedea3d64d0e0cc88bc0ac595
172
- connectivity_plus: 0a976dfd033b59192912fa3c6c7b54aab5093802
173
- cw_mweb: 7440b12ead811dda972a9918442ea2a458e8742c
174
- device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
175
- devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225
170
+ bitbox_flutter: b3c6d3c4970b134a78a17fddef0ef429cfec2593
171
+ breez_sdk_spark_flutter: b7826ff465c65d620a03560c28c384f44c2dc383
172
+ connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
173
+ cw_mweb: 4746a3b5cc5bd4afe6fadd2481c4f7b239e391d0
174
+ device_info_plus: b0fafc687fb901e2af612763340f1b0d4352f8e5
175
+ devicelocale: 456a07c045d3113938aa4983065bd8526e2af792
176
dnssec_proof: d461cac7bd3301eb7447f87936745a0c1ae0a67e
177
- fast_scanner: d31bae07e2653403a69dac99fb710c1722b16a97
178
- file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
179
- flutter_inappwebview_macos: bdf207b8f4ebd58e86ae06cd96b147de99a67c9b
180
- flutter_local_authentication: 85674893931e1c9cfa7c9e4f5973cb8c56b018b0
181
- flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
182
- flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea
177
+ fast_scanner: a4ead8e56f185cd565e25250fdb97fa669ea1d2e
178
+ file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31
179
+ flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d
180
+ flutter_local_authentication: 2f9a2682f498abcc12d7e9729b5007a947170fdc
181
+ flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
182
+ flutter_secure_storage_macos: 3dacac420d84c4d0dc5e868194ee43c8664ec797
183
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
184
- in_app_review: 866c9b17c87a7b46a395bda43f5d3ca02deb585a
184
+ in_app_review: 66e7680752b632d83f4f0e88b34d52ed303fbff4
185
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
186
- package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
187
- path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
188
- share_plus: 1fa619de8392a4398bfaf176d441853922614e89
189
- shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
190
- sp_scanner: 269d96e0ec3173e69156be7239b95182be3b8303
191
- sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
186
+ package_info_plus: f0052d280d17aa382b932f399edf32507174e870
187
+ path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
188
+ share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
189
+ shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
190
+ sp_scanner: d9316427b628dd86d6e9e3c5d42ed6b4b410157c
191
+ sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
192
sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b
193
- sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa
194
- torch_dart: 2e94855e15fcc87bd824e179f1f9c3e0f1e1d302
195
- universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
196
- url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
197
- wakelock_plus: 9d63063ffb7af1c215209769067c57103bde719d
193
+ sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1
194
+ torch_dart: 7e4f682c34ee0d967a35977102590094a7510c90
195
+ universal_ble: ff19787898040d721109c6324472e5dd4bc86adc
196
+ url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
197
+ wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b
198
199
PODFILE CHECKSUM: 65ec1541137fb5b35d00490dec1bb48d4d9586bb
200
macos/Runner.xcodeproj/project.pbxproj
+8
-8
@@ -28,8 +28,8 @@
28
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
29
83FF6BF911B29965D3589BE7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD06F8F6E3797AC031038136 /* Pods_Runner.framework */; };
30
9F565D5929954F53009A75FB /* secRandom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F565D5729954F53009A75FB /* secRandom.swift */; };
31
- CE75FC4A2C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
32
- CED5DBE42BE59BBF0065028F /* monero_libwallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
31
+ CE5899C52F71669A008E754F /* libwownero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
32
+ CE5899C62F71669A008E754F /* libmonero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
33
/* End PBXBuildFile section */
34
35
/* Begin PBXContainerItemProxy section */
@@ -59,8 +59,8 @@
59
dstPath = "";
60
dstSubfolderSpec = 10;
61
files = (
62
- CE75FC4A2C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib in CopyFiles */,
63
- CED5DBE42BE59BBF0065028F /* monero_libwallet2_api_c.dylib in CopyFiles */,
62
+ CE5899C52F71669A008E754F /* libwownero_wallet2_api_c.dylib in CopyFiles */,
63
+ CE5899C62F71669A008E754F /* libmonero_wallet2_api_c.dylib in CopyFiles */,
64
);
65
runOnlyForDeploymentPostprocessing = 0;
66
};
@@ -90,8 +90,8 @@
90
9F1E7BFB2BF2D27500C28C9A /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
91
9F565D5729954F53009A75FB /* secRandom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = secRandom.swift; path = CakeWallet/secRandom.swift; sourceTree = "<group>"; };
92
BD06F8F6E3797AC031038136 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
93
- CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = wownero_libwallet2_api_c.dylib; sourceTree = "<group>"; };
94
- CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = monero_libwallet2_api_c.dylib; sourceTree = "<group>"; };
93
+ CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libwownero_wallet2_api_c.dylib; sourceTree = "<group>"; };
94
+ CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libmonero_wallet2_api_c.dylib; sourceTree = "<group>"; };
95
/* End PBXFileReference section */
96
97
/* Begin PBXFrameworksBuildPhase section */
@@ -120,8 +120,8 @@
120
33CC10E42044A3C60003C045 = {
121
isa = PBXGroup;
122
children = (
123
- CE75FC492C147EBA00CCC46E /* wownero_libwallet2_api_c.dylib */,
124
- CED5DBE32BE59BBF0065028F /* monero_libwallet2_api_c.dylib */,
123
+ CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */,
124
+ CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */,
125
9F565D5729954F53009A75FB /* secRandom.swift */,
126
33FAB671232836740065AC1E /* Runner */,
127
33CEB47122A05771004F2AC0 /* Flutter */,
macos/monero_libwallet2_api_c.dylib
deleted
-1
@@ -1 +0,0 @@
1
-../scripts/monero_c/release/monero/host-apple-darwin_libwallet2_api_c.dylib
\ No newline at end of file
macos/wownero_libwallet2_api_c.dylib
deleted
-1
@@ -1 +0,0 @@
1
-../scripts/monero_c/release/wownero/host-apple-darwin_libwallet2_api_c.dylib
\ No newline at end of file
scripts/android/build_monero_all.sh
+21
-3
@@ -1,7 +1,7 @@
1
#!/bin/bash
2
source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
3
4
-# Usage: env USE_DOCKER= ./build_all.sh
4
+# Usage: env USE_DOCKER= ./build_all.sh
5
6
set -x -e
7
@@ -12,15 +12,33 @@ cd "$(dirname "$0")"
12
for COIN in monero wownero zano;
13
do
14
pushd ../monero_c
15
+ monero_c_tag=$(git describe --tags)
16
for target in {x86_64,aarch64}-linux-android armv7a-linux-androideabi
17
do
17
- if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
18
+ if [[ -f "release/${monero_c_tag}/${target}/${COIN}_libwallet2_api_c.so" ]];
19
then
20
echo "file exist, not building monero_c for ${COIN}/$target.";
21
else
22
./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
22
- unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
23
fi
24
+
25
+ case $target in
26
+ x86_64-linux-android)
27
+ mkdir -p ../../android/app/src/main/jniLibs/x86_64 || true
28
+ cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/x86_64/
29
+ ;;
30
+ armv7a-linux-androideabi)
31
+ mkdir -p ../../android/app/src/main/jniLibs/armeabi-v7a || true
32
+ cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/armeabi-v7a/
33
+ ;;
34
+ aarch64-linux-android)
35
+ mkdir -p ../../android/app/src/main/jniLibs/arm64-v8a || true
36
+ cp ../monero_c/release/${monero_c_tag}/${target}/lib${COIN}_wallet2_api_c.so ../../android/app/src/main/jniLibs/arm64-v8a/
37
+ ;;
38
+ *)
39
+ echo "Unsupported target: $target"
40
+ exit 1;
41
+ esac
42
done
43
popd
44
done
scripts/ios/build_monero_all.sh
+3
-11
@@ -1,5 +1,5 @@
1
#!/bin/sh
2
-source "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/functions.sh"
2
+source "$(cd "$(dirname "$0")/.." && pwd)/functions.sh"
3
4
. ./config.sh
5
# ./install_missing_headers.sh
@@ -19,16 +19,8 @@ for COIN in monero wownero zano;
19
do
20
pushd ../monero_c
21
./build_single.sh ${COIN} aarch64-apple-ios -j$MAKE_JOB_COUNT
22
- ./build_single.sh ${COIN} aarch64-apple-iossimulator -j$MAKE_JOB_COUNT
22
+ ./build_single.sh ${COIN} aarch64-apple-ios-simulator -j$MAKE_JOB_COUNT
23
popd
24
done
25
26
-unxz -fk ../monero_c/release/monero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
27
-unxz -fk ../monero_c/release/wownero/aarch64-apple-ios_libwallet2_api_c.dylib.xz
28
-unxz -fk ../monero_c/release/zano/aarch64-apple-ios_libwallet2_api_c.dylib.xz
29
-
30
-unxz -fk ../monero_c/release/monero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
31
-unxz -fk ../monero_c/release/wownero/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
32
-unxz -fk ../monero_c/release/zano/aarch64-apple-iossimulator_libwallet2_api_c.dylib.xz
33
-
34
-./gen_framework.sh
\ No newline at end of file
26
+./gen_framework.sh
scripts/ios/gen_framework.sh
+6
-5
@@ -2,7 +2,8 @@
2
set -e
3
4
IOS_DIR="$(pwd)/../../ios"
5
-DYLIB_PATH="$(pwd)/../../scripts/monero_c/release"
5
+monero_c_tag=$(cd $(pwd)/../../scripts/monero_c/; git describe --tags)
6
+DYLIB_PATH="$(pwd)/../../scripts/monero_c/release/${monero_c_tag}/"
7
TMP_DIR="${IOS_DIR}/tmp"
8
9
rm -rf "${IOS_DIR:?}/MoneroWallet.xcframework" "${IOS_DIR:?}/WowneroWallet.xcframework" "${IOS_DIR:?}/ZanoWallet.xcframework"
@@ -16,7 +17,7 @@ write_info_plist() {
17
target="$3"
18
plist_path="${framework_bundle}/Info.plist"
19
19
- if [[ "x$target" = "xiossimulator" ]]; then
20
+ if [[ "x$target" = "xios-simulator" ]]; then
21
platform="iPhoneSimulator"
22
dtplatformname="iphonesimulator"
23
dtsdkname="iphonesimulator17.4"
@@ -97,11 +98,11 @@ create_framework() {
98
echo "Creating ${framework_name}.framework for target ${target} in ${out_dir}..."
99
100
framework_bundle="${out_dir}/${framework_name}.framework"
100
-
101
+
102
rm -rf "$framework_bundle"
103
mkdir -p "$framework_bundle"
104
104
- input_dylib="${DYLIB_PATH}/${wallet}/aarch64-apple-${target}_libwallet2_api_c.dylib"
105
+ input_dylib="${DYLIB_PATH}/aarch64-apple-${target}/lib${wallet}_wallet2_api_c.dylib"
106
if [[ ! -f "$input_dylib" ]]; then
107
echo "Error: Input dylib not found: $input_dylib"
108
exit 1
@@ -144,7 +145,7 @@ for i in "${!wallets[@]}"; do
145
mkdir -p "$device_out" "$simulator_out"
146
147
create_framework "$wallet" "$framework_name" "ios" "$device_out"
147
- create_framework "$wallet" "$framework_name" "iossimulator" "$simulator_out"
148
+ create_framework "$wallet" "$framework_name" "ios-simulator" "$simulator_out"
149
150
device_framework="${device_out}/${framework_name}.framework"
151
simulator_framework="${simulator_out}/${framework_name}.framework"
scripts/linux/build_monero_all.sh
+3
-9
@@ -16,13 +16,7 @@ do
16
else
17
target="x86_64-linux-gnu"
18
fi
19
-
20
- if [[ -f "release/${COIN}/${target}_libwallet2_api_c.so" ]];
21
- then
22
- echo "file exist, not building monero_c for ${COIN}/$target.";
23
- else
24
- ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
25
- unxz -f ../monero_c/release/${COIN}/${target}_libwallet2_api_c.so.xz
26
- fi
19
+
20
+ ./build_single.sh ${COIN} $target -j$MAKE_JOB_COUNT
21
popd
28
-done
\ No newline at end of file
22
+done
scripts/macos/build_monero_all.sh
+18
-21
@@ -2,14 +2,14 @@
2
set -x -e
3
4
cd "$(dirname "$0")"
5
+../prepare_moneroc.sh
6
7
NPROC="-j$(sysctl -n hw.logicalcpu)"
8
MONERO_LIBS=""
9
WOWNERO_LIBS=""
9
-MONEROC_RELEASE_DIR="../monero_c/release/monero"
10
-WOWNEROC_RELEASE_DIR="../monero_c/release/wownero"
10
+monero_c_tag=$(cd ../monero_c/; git describe --tags)
11
+MONEROC_RELEASE_DIR="../monero_c/release/${monero_c_tag}"
12
12
-../prepare_moneroc.sh
13
14
# NOTE: -j1 is intentional. Otherwise you will run into weird behaviour on macos
15
if [[ ! "x$USE_DOCKER" == "x" ]];
@@ -22,29 +22,26 @@ then
22
popd
23
done
24
else
25
- ARCHS=(x86_64 arm64)
25
+ ARCHS=(x86_64 arm64)
26
for COIN in monero wownero;
27
do
28
MONERO_LIBS=""
29
WOWNERO_LIBS=""
30
- for ARCH in "${ARCHS[@]}";
31
- do
32
- if [[ "$ARCH" == "arm64" ]]; then
33
- HOST="aarch64-apple-darwin"
34
- else
35
- HOST="x86_64-apple-darwin"
36
- fi
37
-
38
- MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
39
- WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${WOWNEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib"
40
-
41
- pushd ../monero_c
30
+ for ARCH in "${ARCHS[@]}";
31
+ do
32
+ if [[ "$ARCH" == "arm64" ]]; then
33
+ HOST="aarch64-apple-darwin"
34
+ else
35
+ HOST="x86_64-apple-darwin"
36
+ fi
37
+ MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libmonero_wallet2_api_c.dylib"
38
+ WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}/libwownero_wallet2_api_c.dylib"
39
+ pushd ../monero_c
40
./build_single.sh ${COIN} ${HOST} -j$MAKE_JOB_COUNT
43
- unxz -f ./release/${COIN}/${HOST}_libwallet2_api_c.dylib.xz
44
- popd
45
- done
41
+ popd
42
+ done
43
done
44
fi
45
49
-lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
50
-lipo -create ${WOWNERO_LIBS} -output "${WOWNEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"
46
+lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/../../../../macos/libmonero_wallet2_api_c.dylib"
47
+lipo -create ${WOWNERO_LIBS} -output "${MONEROC_RELEASE_DIR}/../../../../macos/libwownero_wallet2_api_c.dylib"
scripts/prepare_moneroc.sh
+7
-8
@@ -9,18 +9,17 @@ then
9
rm -rf monero_c
10
git clone https://github.com/mrcyjanek/monero_c --branch master monero_c
11
cd monero_c
12
- # NOTE: Make sure to update monero_c prebuilds link in workflow files
13
- # https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.0-RC9/release-bundle.zip
14
- git checkout 411e8a1cdb3f4c2812d83f28c335d2a4eb18bd29
15
- git reset --hard
16
- git submodule update --init --force --recursive
17
- ./apply_patches.sh monero
18
- ./apply_patches.sh wownero
19
- ./apply_patches.sh zano
12
else
13
cd monero_c
14
fi
15
16
+# NOTE: Make sure to update monero_c prebuilds link in workflow files
17
+# https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC1/release-bundle.zip
18
+git fetch -a
19
+git checkout bc8d1a0b75b97156d71579581b4cdfe58c777ed2
20
+git reset --hard
21
+git submodule update --init --force --recursive
22
+
23
for coin in monero wownero zano;
24
do
25
if [[ ! -f "$coin/.patch-applied" ]];
tool/download_moneroc_prebuilds.dart
+1
-3
@@ -20,13 +20,11 @@ final List<String> triplets = [
20
"x86_64-w64-mingw32",
21
// "x86_64-apple-darwin11", // Intel macbooks (contrib) - not used by cake
22
// "aarch64-apple-darwin11", // apple silicon macbooks (contrib) - not used by cake
23
- // "host-apple-darwin", // not available on CI (yet)
23
// "x86_64-host-apple-darwin", // not available on CI (yet)
24
"aarch64-apple-darwin", // apple silicon macbooks
25
"x86_64-apple-darwin", // intel macbooks
27
- "aarch64-host-apple-darwin", // apple silicon macbooks (local builds)
26
"aarch64-apple-ios",
29
- "aarch64-apple-iossimulator",
27
+ "aarch64-apple-ios-simulator",
28
];
29
30
Future<void> main() async {