فهرست منبع

darkirc: use vendored sqlite and deprecate self-compiled sqlcipher.

darkfi 1 سال پیش
والد
کامیت
7b0513589d
3فایلهای تغییر یافته به همراه31 افزوده شده و 28 حذف شده
  1. 2 0
      Cargo.lock
  2. 1 0
      bin/darkirc/Cargo.toml
  3. 28 28
      bin/darkirc/android.Dockerfile

+ 2 - 0
Cargo.lock

@@ -2228,6 +2228,7 @@ dependencies = [
  "log",
  "openssl",
  "rand 0.8.5",
+ "rusqlite",
  "rustls-pemfile",
  "semver 1.0.23",
  "serde",
@@ -4253,6 +4254,7 @@ version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
 dependencies = [
+ "cc",
  "pkg-config",
  "vcpkg",
 ]

+ 1 - 0
bin/darkirc/Cargo.toml

@@ -62,6 +62,7 @@ structopt-toml = "0.5.1"
 # See https://github.com/rust-mobile/android-rs-glue/issues/193
 [target.aarch64-linux-android.dependencies]
 openssl = { version = "*", features = ["vendored"] }
+rusqlite = {version = "0.31.0", features = ["bundled"]}
 
 [lints]
 workspace = true

+ 28 - 28
bin/darkirc/android.Dockerfile

@@ -48,34 +48,34 @@ ENV TARGET_CC /opt/android-sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x
 
 # Make sqlcipher
 # Needed for sqlcipher amalgamation
-RUN apt install -yq tclsh libssl-dev
-RUN cd /tmp/ && \
-    wget -O sqlcipher.zip https://github.com/sqlcipher/sqlcipher/archive/refs/tags/v4.5.6.zip && \
-    unzip sqlcipher.zip && \
-    rm sqlcipher.zip && \
-    mv sqlcipher* sqlcipher && \
-    cd sqlcipher && \
-    ./configure && \
-    make sqlite3.c && \
-    mkdir build && \
-    mv *.c *.h build/ && \
-    mkdir jni && \
-    echo '\
-APP_ABI := arm64-v8a \n\
-APP_CPPFLAGS += -fexceptions -frtti \n\
-APP_STL := c++_shared' > jni/Application.mk && \
-    echo '\
-LOCAL_PATH := $(call my-dir) \n\
-include $(CLEAR_VARS) \n\
-LOCAL_MODULE            := sqlcipher-a \n\
-LOCAL_MODULE_FILENAME   := libsqlcipher \n\
-LOCAL_SRC_FILES         := ../build/sqlite3.c \n\
-LOCAL_C_INCLUDES        := ../build \n\
-LOCAL_EXPORT_C_INCLUDES := ../build \n\
-LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1 \n\
-include $(BUILD_STATIC_LIBRARY)' > jni/Android.mk && \
-    /opt/android-sdk/ndk/25.2.9519653/ndk-build
-ENV RUSTFLAGS "-L/tmp/sqlcipher/obj/local/arm64-v8a/"
+#RUN apt install -yq tclsh libssl-dev
+#RUN cd /tmp/ && \
+#    wget -O sqlcipher.zip https://github.com/sqlcipher/sqlcipher/archive/refs/tags/v4.5.6.zip && \
+#    unzip sqlcipher.zip && \
+#    rm sqlcipher.zip && \
+#    mv sqlcipher* sqlcipher && \
+#    cd sqlcipher && \
+#    ./configure && \
+#    make sqlite3.c && \
+#    mkdir build && \
+#    mv *.c *.h build/ && \
+#    mkdir jni && \
+#    echo '\
+#APP_ABI := arm64-v8a \n\
+#APP_CPPFLAGS += -fexceptions -frtti \n\
+#APP_STL := c++_shared' > jni/Application.mk && \
+#    echo '\
+#LOCAL_PATH := $(call my-dir) \n\
+#include $(CLEAR_VARS) \n\
+#LOCAL_MODULE            := sqlcipher-a \n\
+#LOCAL_MODULE_FILENAME   := libsqlcipher \n\
+#LOCAL_SRC_FILES         := ../build/sqlite3.c \n\
+#LOCAL_C_INCLUDES        := ../build \n\
+#LOCAL_EXPORT_C_INCLUDES := ../build \n\
+#LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1 \n\
+#include $(BUILD_STATIC_LIBRARY)' > jni/Android.mk && \
+#    /opt/android-sdk/ndk/25.2.9519653/ndk-build
+#ENV RUSTFLAGS "-L/tmp/sqlcipher/obj/local/arm64-v8a/"
 
 # Make directory for user code
 RUN mkdir /root/src