From 5ed6759edcae2e6becba6c64b7a8b0a0209d77b5 Mon Sep 17 00:00:00 2001 From: Omar Date: Tue, 15 Sep 2026 17:37:02 +0200 Subject: [PATCH] fix linux --- cw_core/lib/db/sqlite.dart | 16 ---------------- cw_core/pubspec.yaml | 1 - linux/CMakeLists.txt | 6 ++++++ 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/cw_core/lib/db/sqlite.dart b/cw_core/lib/db/sqlite.dart index 3e91f24a5..07297449b 100644 --- a/cw_core/lib/db/sqlite.dart +++ b/cw_core/lib/db/sqlite.dart @@ -1,4 +1,3 @@ -import 'dart:ffi'; import 'dart:io'; import 'package:cw_core/db/sqlite_debug.dart'; @@ -6,7 +5,6 @@ import 'package:cw_core/root_dir.dart'; import 'package:cw_core/utils/print_verbose.dart'; import 'package:flutter/foundation.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; -import 'package:sqlite3/open.dart'; import 'package:path/path.dart' as p; Database? db; @@ -51,20 +49,6 @@ Future initDb({String? pathOverride}) async { Future _initDb({String? pathOverride}) async { if (Platform.isLinux || Platform.isWindows) { - if (Platform.isLinux) { - // The Linux bundle only installs the bundled sqlite3 shared object as - // libsqlite3_flutter_libs_plugin.so (see linux/CMakeLists.txt); load it - // directly instead of relying on a libsqlite3.so symlink, which the - // release tarball dereferences into a second copy of the same library - // and crashes the process when both copies get mapped. - open.overrideFor(OperatingSystem.linux, () { - try { - return DynamicLibrary.open('libsqlite3_flutter_libs_plugin.so'); - } catch (_) { - return DynamicLibrary.open('libsqlite3.so.0'); - } - }); - } databaseFactory = databaseFactoryFfi; } diff --git a/cw_core/pubspec.yaml b/cw_core/pubspec.yaml index a5d496474..b7843f4b1 100644 --- a/cw_core/pubspec.yaml +++ b/cw_core/pubspec.yaml @@ -47,7 +47,6 @@ dependencies: bech32: git: url: https://github.com/cake-tech/bech32.git - sqlite3: 3.5.1 sqlite3_flutter_libs: 0.5.40 dev_dependencies: diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index 7a45c054b..e9769eae6 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -160,6 +160,12 @@ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) COMPONENT Runtime) endforeach(bundled_library) +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + # Fully re-copy the assets directory on each build to avoid having stale files # from a previous install. set(FLUTTER_ASSET_DIR_NAME "flutter_assets")