Browse Source

PEMA-103 Replace sequoia with pEpEngineSequoiaBackend

pull/25/head
ignaciogarcia 3 years ago
parent
commit
1b0c5dffa0
No known key found for this signature in database GPG Key ID: 5E6A455C909DD623
  1. 4
      android/external/Makefile.conf
  2. 37
      android/external/MakefileTemplate
  3. 2
      android/external/downloads/Makefile

4
android/external/Makefile.conf

@ -41,7 +41,7 @@ NETTLE_VERSION=3.7.3
### Git deps repos ### Git deps repos
EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?507ab94fc9609432ef2d4c62770139482f1b5084 EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?507ab94fc9609432ef2d4c62770139482f1b5084
EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.1 EXTERNAL_GIT_REPOS += pEpEngineSequoiaBackend|https://gitea.pep.foundation/pEp.foundation/pEpEngineSequoiaBackend.git?81f582c64d295cac38941a15681c30758799c797
### Common variables ### Common variables
#### Source code targets #### Source code targets
@ -57,7 +57,7 @@ EXTERNAL_SRCS_CLEAN += uuid-clean
EXTERNAL_SRCS_CLEAN += openssl-clean EXTERNAL_SRCS_CLEAN += openssl-clean
EXTERNAL_SRCS_CLEAN += gmp-clean EXTERNAL_SRCS_CLEAN += gmp-clean
EXTERNAL_SRCS_CLEAN += nettle-clean EXTERNAL_SRCS_CLEAN += nettle-clean
EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean EXTERNAL_SRCS_CLEAN += pEpEngineSequoiaBackend-clean
### Other variables ### Other variables
ANDROID_ETPAN_BUILD_VERSION=2 ANDROID_ETPAN_BUILD_VERSION=2

37
android/external/MakefileTemplate

@ -27,7 +27,7 @@ include ../PerArchMakefile.conf
all: build all: build
## Build dependencies for arch [ARCH] ## Build dependencies for arch [ARCH]
build: showsetup uuid-prebuild sequoia-ffi-install libetpan-build build: showsetup uuid-prebuild pEpEngineSequoiaBackend-install libetpan-build
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Manage paths for PREFIX, LOCAL and PATH # Manage paths for PREFIX, LOCAL and PATH
@ -259,26 +259,21 @@ nettle-install: $(LOCAL)/lib/libnettle.so
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Sequoia-ffi # pEpEngineSequoiaBackend
CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/ CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/
sequoia.src.stamp: ../downloads/sequoia.tar.gz pEpEngineSequoiaBackend.src.stamp: ../downloads/pEpEngineSequoiaBackend.tar.gz
mkdir -p sequoia mkdir -p pEpEngineSequoiaBackend
cd sequoia && tar xvf ../$< cd pEpEngineSequoiaBackend && tar xvf ../$<
$(SED) -i 's,1.48.0,1.49.0,' sequoia/rust-toolchain $(SED) -i 's,1.48.0,1.60,' pEpEngineSequoiaBackend/rust-toolchain
cd sequoia && cargo update -p nettle-sys --precise 2.0.8
mkdir -p $(LOCAL)/lib/ mkdir -p $(LOCAL)/lib/
# This is a bad fix, we should move this to a common makefile (but not the .conf one) # This is a bad fix, we should move this to a common makefile (but not the .conf one)
find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \;
touch $@ touch $@
sequoia-ffi-clean: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so: pEpEngineSequoiaBackend.src.stamp $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so
rm -rf sequoia cd pEpEngineSequoiaBackend && PATH=$(TEMP_WORK_PATH) \
rm -rf sequoia.src.stamp
$(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so
cd sequoia && PATH=$(TEMP_WORK_PATH) \
CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
LD_LIBRARY_PATH=$(LOCAL)/lib/ \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \
PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \ PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \
@ -286,17 +281,15 @@ $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libsequoia_openpgp_ffi.so: sequoia.
ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR="$(LOCAL)/lib" \
ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \
ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \
CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target $(SEQUOIA_ARCH) -p sequoia-openpgp-ffi --release CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target $(SEQUOIA_ARCH) -p pep_engine_sequoia_backend --release
$(LOCAL)/lib/libpep_engine_sequoia_backend.so: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so
cp $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.* $(LOCAL)/lib/
$(LOCAL)/lib/libsequoia_openpgp_ffi.so: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libsequoia_openpgp_ffi.so
cp $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libsequoia_openpgp_ffi.* $(LOCAL)/lib/
cp -r sequoia/openpgp-ffi/include/* $(LOCAL)/include
## Build sequoia-ffi pEpEngineSequoiaBackend-build: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so
sequoia-ffi-build: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libsequoia_openpgp_ffi.so
## Install sequoia-ffi pEpEngineSequoiaBackend-install: $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libpep_engine_sequoia_backend.so
sequoia-ffi-install: $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libsequoia_openpgp_ffi.so
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# assets for Android app # assets for Android app
@ -354,7 +347,7 @@ clean-all: clean
sequoia-deps-build \ sequoia-deps-build \
openssl-build openssl-install \ openssl-build openssl-install \
nettle-build nettle-install \ nettle-build nettle-install \
sequoia-ffi-build sequoia-ffi-install \ pEpEngineSequoiaBackend-build pEpEngineSequoiaBackend-install \
assets \ assets \
$(EXTERNAL_LOCAL_GITS_UPDATE) $(EXTERNAL_SRCS) $(EXTERNAL_SRCS_CLEAN) \ $(EXTERNAL_LOCAL_GITS_UPDATE) $(EXTERNAL_SRCS) $(EXTERNAL_SRCS_CLEAN) \
showsetup showsetup

2
android/external/downloads/Makefile

@ -33,7 +33,7 @@ download-sequoia-deps: openssl-$(OPENSSL_VERSION).tar.gz gmp-$(GMP_VERSION).tar.
download-etpan: libetpan.git.stamp download-etpan: libetpan.git.stamp
## Download sequoia ## Download sequoia
download-sequoia: sequoia.git.stamp download-sequoia: pEpEngineSequoiaBackend.git.stamp
# Download source and patch it # Download source and patch it
libiconv-1.15.tar.gz: libiconv-1.15.tar.gz:

Loading…
Cancel
Save