From 15b9fe10626fd45fdbbb01262fb1792acf5336f9 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Wed, 14 Oct 2020 08:27:53 +0200 Subject: [PATCH 1/4] JNI-120 Android build: Update sequoia version and use rust nightly Currently is needed to use rust nightly to cross-build the latest sequoia version for Android. Before building again is needed to run, on the build machine: rustup default nightly rustup update nightly rustup component add rust-src rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android --- android/external/Makefile.conf | 2 +- android/external/arm64-v8a/Makefile | 5 ++--- android/external/armeabi-v7a/Makefile | 2 +- android/external/x86/Makefile | 2 +- android/external/x86_64/Makefile | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index 561134d..56e063a 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -20,7 +20,7 @@ NETTLE_VERSION=3.4.1 ### Git deps repos EXTERNAL_GIT_REPOS += libetpan|https://github.com/fdik/libetpan.git?HEAD -EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?de497f59570437d448b293769eb57bf7a9741f30 +EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?365d00a08bec6a5a48d48a7c7893d78c27092b59 ### Common variables #### Source code targets diff --git a/android/external/arm64-v8a/Makefile b/android/external/arm64-v8a/Makefile index 70ebab3..31b1be6 100644 --- a/android/external/arm64-v8a/Makefile +++ b/android/external/arm64-v8a/Makefile @@ -222,7 +222,7 @@ $(LOCAL)/lib/libssl.so: openssl/libssl.so cp libcrypto.so $(LOCAL)/lib && \ cp libcrypto.a $(LOCAL)/lib && \ cp libssl.so $(LOCAL)/lib && \ - cp libssl.a $(LOCAL)/lib + cp libssl.a $(LOCAL)/lib ls -l $(LOCAL)/lib/libssl.so openssl-build: openssl/libssl.so @@ -328,8 +328,7 @@ $(CARGO_TARGET_DIR)/aarch64-linux-android/release/libsequoia_openpgp_ffi.so: se ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ - CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target aarch64-linux-android -p sequoia-openpgp-ffi --release - + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) rustup run nightly cargo build --target aarch64-linux-android -p sequoia-openpgp-ffi --release -Z build-std=core,alloc,std $(LOCAL)/lib/libsequoia_openpgp_ffi.so: $(CARGO_TARGET_DIR)/aarch64-linux-android/release/libsequoia_openpgp_ffi.so cp $(CARGO_TARGET_DIR)/aarch64-linux-android/release/libsequoia_openpgp_ffi.* $(LOCAL)/lib/ diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index 9ea17a8..ed8f0f3 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -330,7 +330,7 @@ $(CARGO_TARGET_DIR)/armv7-linux-androideabi/release/libsequoia_openpgp_ffi.so: ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ - CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target armv7-linux-androideabi -p sequoia-openpgp-ffi --release + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) rustup run nightly cargo build --target armv7-linux-androideabi -p sequoia-openpgp-ffi --release -Z build-std=core,alloc,std $(LOCAL)/lib/libsequoia_openpgp_ffi.so: $(CARGO_TARGET_DIR)/armv7-linux-androideabi/release/libsequoia_openpgp_ffi.so diff --git a/android/external/x86/Makefile b/android/external/x86/Makefile index 3e90334..e4dcbbc 100644 --- a/android/external/x86/Makefile +++ b/android/external/x86/Makefile @@ -327,7 +327,7 @@ $(CARGO_TARGET_DIR)/i686-linux-android/release/libsequoia_openpgp_ffi.so: sequo ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ - CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target i686-linux-android -p sequoia-openpgp-ffi --release + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) rustup run nightly cargo build --target i686-linux-android -p sequoia-openpgp-ffi --release -Z build-std=core,alloc,std $(LOCAL)/lib/libsequoia_openpgp_ffi.so: $(CARGO_TARGET_DIR)/i686-linux-android/release/libsequoia_openpgp_ffi.so diff --git a/android/external/x86_64/Makefile b/android/external/x86_64/Makefile index bc76246..887979d 100644 --- a/android/external/x86_64/Makefile +++ b/android/external/x86_64/Makefile @@ -327,7 +327,7 @@ $(CARGO_TARGET_DIR)/x86_64-linux-android/release/libsequoia_openpgp_ffi.so: seq ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ - CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target x86_64-linux-android -p sequoia-openpgp-ffi --release + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) rustup run nightly cargo build --target x86_64-linux-android -p sequoia-openpgp-ffi --release -Z build-std=core,alloc,std $(LOCAL)/lib/libsequoia_openpgp_ffi.so: $(CARGO_TARGET_DIR)/x86_64-linux-android/release/libsequoia_openpgp_ffi.so From 04b4a303a8f71d28d87bd8785c088ee21328616f Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Thu, 15 Oct 2020 14:25:00 +0200 Subject: [PATCH 2/4] JNI-120 Android build: Upgrade Sequpoia depedencies (Gmp, Nettle and OpenSSL). --- android/external/Makefile.conf | 6 +++--- android/external/armeabi-v7a/Makefile | 3 --- android/external/downloads/gmp-6.1.2.tar.bz2.md5 | 1 - android/external/downloads/gmp-6.2.0.tar.bz2.md5 | 1 + android/external/downloads/nettle-3.4.1.tar.gz.md5 | 1 - android/external/downloads/nettle-3.6.tar.gz.md5 | 1 + android/external/downloads/openssl-1.1.1b.tar.gz.md5 | 1 - android/external/downloads/openssl-1.1.1h.tar.gz.md5 | 1 + 8 files changed, 6 insertions(+), 9 deletions(-) delete mode 100644 android/external/downloads/gmp-6.1.2.tar.bz2.md5 create mode 100644 android/external/downloads/gmp-6.2.0.tar.bz2.md5 delete mode 100644 android/external/downloads/nettle-3.4.1.tar.gz.md5 create mode 100644 android/external/downloads/nettle-3.6.tar.gz.md5 delete mode 100644 android/external/downloads/openssl-1.1.1b.tar.gz.md5 create mode 100644 android/external/downloads/openssl-1.1.1h.tar.gz.md5 diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index 56e063a..318b4af 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -14,9 +14,9 @@ else endif ### Sequoia deps versions -OPENSSL_VERSION=1.1.1b -GMP_VERSION=6.1.2 -NETTLE_VERSION=3.4.1 +OPENSSL_VERSION=1.1.1h +GMP_VERSION=6.2.0 +NETTLE_VERSION=3.6 ### Git deps repos EXTERNAL_GIT_REPOS += libetpan|https://github.com/fdik/libetpan.git?HEAD diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index ed8f0f3..82de4dc 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -194,9 +194,6 @@ uuid/jni/Android.mk: uuid.src.stamp #------------------------------------------------------------------------------# # Sequoia -OPENSSL_VERSION=1.1.1b -GMP_VERSION=6.1.2 -NETTLE_VERSION=3.4.1 sequoia-deps-build: openssl-install nettle-install diff --git a/android/external/downloads/gmp-6.1.2.tar.bz2.md5 b/android/external/downloads/gmp-6.1.2.tar.bz2.md5 deleted file mode 100644 index 7143577..0000000 --- a/android/external/downloads/gmp-6.1.2.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -8ddbb26dc3bd4e2302984debba1406a5 gmp-6.1.2.tar.bz2 diff --git a/android/external/downloads/gmp-6.2.0.tar.bz2.md5 b/android/external/downloads/gmp-6.2.0.tar.bz2.md5 new file mode 100644 index 0000000..6e7e817 --- /dev/null +++ b/android/external/downloads/gmp-6.2.0.tar.bz2.md5 @@ -0,0 +1 @@ +c24161e0dd44cae78cd5f67193492a21 gmp-6.2.0.tar.bz2 diff --git a/android/external/downloads/nettle-3.4.1.tar.gz.md5 b/android/external/downloads/nettle-3.4.1.tar.gz.md5 deleted file mode 100644 index 38cfc6a..0000000 --- a/android/external/downloads/nettle-3.4.1.tar.gz.md5 +++ /dev/null @@ -1 +0,0 @@ -9bdebb0e2f638d3b9d91f7fc264b70c1 nettle-3.4.1.tar.gz diff --git a/android/external/downloads/nettle-3.6.tar.gz.md5 b/android/external/downloads/nettle-3.6.tar.gz.md5 new file mode 100644 index 0000000..45c0fd9 --- /dev/null +++ b/android/external/downloads/nettle-3.6.tar.gz.md5 @@ -0,0 +1 @@ +c45ee24ed7361dcda152a035d396fe8a nettle-3.6.tar.gz diff --git a/android/external/downloads/openssl-1.1.1b.tar.gz.md5 b/android/external/downloads/openssl-1.1.1b.tar.gz.md5 deleted file mode 100644 index 86c1370..0000000 --- a/android/external/downloads/openssl-1.1.1b.tar.gz.md5 +++ /dev/null @@ -1 +0,0 @@ -4532712e7bcc9414f5bce995e4e13930 openssl-1.1.1b.tar.gz diff --git a/android/external/downloads/openssl-1.1.1h.tar.gz.md5 b/android/external/downloads/openssl-1.1.1h.tar.gz.md5 new file mode 100644 index 0000000..99e70a8 --- /dev/null +++ b/android/external/downloads/openssl-1.1.1h.tar.gz.md5 @@ -0,0 +1 @@ +53840c70434793127a3574433494e8d3 openssl-1.1.1h.tar.gz From 3546afd50f1bafac22a06472ee63b5948a259299 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Thu, 15 Oct 2020 14:37:52 +0200 Subject: [PATCH 3/4] Android build: Update build.gradle to not parallel build JNI generated code --- android/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index f058512..f1f1d8e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -13,7 +13,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:4.0.2' } } @@ -32,8 +32,8 @@ android { defaultConfig { minSdkVersion 19 targetSdkVersion 30 - versionCode 2 - versionName "2.1.0-RC5" + versionCode 3 + versionName "2.1.4" externalNativeBuild { ndkBuild { @@ -94,7 +94,7 @@ android { // call source generation makefile target task genSources(type:Exec, dependsOn: 'genpEpEngineAsn1Sources') { workingDir '../src' - commandLine 'make', "-j${threadsToUse}", 'pEp.jar' + commandLine 'make', 'pEp.jar' } task genpEpEngineSyncSources(type:Exec) { From 4abc35c17c4ccb259d2e222584375c55cc835184 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Thu, 15 Oct 2020 15:04:43 +0200 Subject: [PATCH 4/4] JNI-120 Android build: Update referenced Engine version --- android/src/foundation/pEp/jniadapter/AndroidHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/foundation/pEp/jniadapter/AndroidHelper.java b/android/src/foundation/pEp/jniadapter/AndroidHelper.java index f9e71b8..2ac6863 100644 --- a/android/src/foundation/pEp/jniadapter/AndroidHelper.java +++ b/android/src/foundation/pEp/jniadapter/AndroidHelper.java @@ -28,7 +28,7 @@ public class AndroidHelper { private static File tmpDir; // TODO : Increment when needed. - public static int ENGINE_VERSION_CODE = 4768; + public static int ENGINE_VERSION_CODE = 5115; private static File shareDir;