From ddde821064f0a7db1cd879e0ae9de37505b85012 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Fri, 2 Sep 2022 22:03:53 +0100 Subject: [PATCH] nix: direct-sqlcipher patch, openssl flag for android (#1011) --- flake.nix | 23 +++++++++++++++++++---- scripts/nix/direct-sqlcipher-2.3.27.patch | 12 ++++++++++++ scripts/nix/direct-sqlite-2.3.26.patch | 15 --------------- 3 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 scripts/nix/direct-sqlcipher-2.3.27.patch delete mode 100644 scripts/nix/direct-sqlite-2.3.26.patch diff --git a/flake.nix b/flake.nix index 23f22ee737..819c1db22c 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,7 @@ }; sha256map = import ./scripts/nix/sha256map.nix; modules = [{ - packages.direct-sqlite.patches = [ ./scripts/nix/direct-sqlite-2.3.26.patch ]; + packages.direct-sqlcipher.patches = [ ./scripts/nix/direct-sqlcipher-2.3.27.patch ]; packages.entropy.patches = [ ./scripts/nix/entropy.patch ]; } ({ pkgs,lib, ... }: lib.mkIf (pkgs.stdenv.hostPlatform.isAndroid) { @@ -91,7 +91,12 @@ > $out/nix-support/hydra-build-products ''; }; - "aarch64-android:lib:simplex-chat" = (drv androidPkgs).simplex-chat.components.library.override { + "aarch64-android:lib:simplex-chat" = (drv' { + pkgs' = androidPkgs; + extra-modules = [{ + packages.direct-sqlcipher.flags.openssl = true; + }]; + }).simplex-chat.components.library.override { smallAddressSpace = true; enableShared = false; # for android we build a shared library, passing these arguments is a bit tricky, as # we want only the threaded rts (HSrts_thr) and ffi to be linked, but not fed into iserv for @@ -138,7 +143,12 @@ > $out/nix-support/hydra-build-products ''; }; - "x86_64-android:lib:simplex-chat" = (drv androidPkgs).simplex-chat.components.library.override { + "x86_64-android:lib:simplex-chat" = (drv' { + pkgs' = androidPkgs; + extra-modules = [{ + packages.direct-sqlcipher.flags.openssl = true; + }]; + }).simplex-chat.components.library.override { smallAddressSpace = true; enableShared = false; # for android we build a shared library, passing these arguments is a bit tricky, as # we want only the threaded rts (HSrts_thr) and ffi to be linked, but not fed into iserv for @@ -185,7 +195,12 @@ > $out/nix-support/hydra-build-products ''; }; - "x86_64-linux:lib:simplex-chat" = (drv androidPkgs).simplex-chat.components.library.override { + "x86_64-linux:lib:simplex-chat" = (drv' { + pkgs' = androidPkgs; + extra-modules = [{ + packages.direct-sqlcipher.flags.openssl = true; + }]; + }).simplex-chat.components.library.override { smallAddressSpace = true; enableShared = false; # for android we build a shared library, passing these arguments is a bit tricky, as # we want only the threaded rts (HSrts_thr) and ffi to be linked, but not fed into iserv for diff --git a/scripts/nix/direct-sqlcipher-2.3.27.patch b/scripts/nix/direct-sqlcipher-2.3.27.patch new file mode 100644 index 0000000000..3fec71357a --- /dev/null +++ b/scripts/nix/direct-sqlcipher-2.3.27.patch @@ -0,0 +1,12 @@ +diff --git a/direct-sqlcipher.cabal b/direct-sqlcipher.cabal +index 728ba3e..c63745e 100644 +--- a/direct-sqlcipher.cabal ++++ b/direct-sqlcipher.cabal +@@ -84,6 +84,8 @@ library + cc-options: -DSQLITE_TEMP_STORE=2 + -DSQLITE_HAS_CODEC + ++ extra-libraries: dl ++ + if !os(windows) && !os(android) + extra-libraries: pthread diff --git a/scripts/nix/direct-sqlite-2.3.26.patch b/scripts/nix/direct-sqlite-2.3.26.patch deleted file mode 100644 index 9ac2196ddd..0000000000 --- a/scripts/nix/direct-sqlite-2.3.26.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/direct-sqlite.cabal b/direct-sqlite.cabal -index 96f26b7..996198e 100644 ---- a/direct-sqlite.cabal -+++ b/direct-sqlite.cabal -@@ -69,7 +69,9 @@ library - install-includes: sqlite3.h, sqlite3ext.h - include-dirs: cbits - -- if !os(windows) && !os(android) -+ extra-libraries: dl -+ -+ if !os(windows) && !os(android) - extra-libraries: pthread - - if flag(fulltextsearch)