make apk builds more reproducible

This commit is contained in:
adbenitez 2025-08-06 14:45:25 +02:00
parent 9e70c43ab8
commit 0d8962f76c
2 changed files with 10 additions and 5 deletions

View file

@ -31,5 +31,6 @@ LOCAL_CFLAGS += -Drestrict='' -D__EMX__ -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT
LOCAL_CFLAGS += -DANDROID_NDK -DDISABLE_IMPORTGL -fno-strict-aliasing -DAVOID_TABLES -DANDROID_TILE_BASED_DECODE -DANDROID_ARMV6_IDCT -ffast-math -D__STDC_CONSTANT_MACROS
LOCAL_SRC_FILES := dc_wrapper.c
LOCAL_LDFLAGS += -Wl,--build-id=none
include $(BUILD_SHARED_LIBRARY)

View file

@ -50,6 +50,14 @@ if test -z "$ANDROID_NDK_ROOT"; then
exit 1
fi
# for reproducible build:
export RUSTFLAGS="-C link-args=-Wl,--build-id=none --remap-path-prefix=$HOME/.cargo= --remap-path-prefix=$(realpath $(dirname $(dirname "$0")))="
export SOURCE_DATE_EPOCH=1
# always use the same path to NDK:
rm -f /tmp/android-ndk-root
ln -s "$ANDROID_NDK_ROOT" /tmp/android-ndk-root
ANDROID_NDK_ROOT=/tmp/android-ndk-root
echo Setting CARGO_TARGET environment variables.
if test -z "$NDK_HOST_TAG"; then
@ -66,11 +74,9 @@ if test -z "$NDK_HOST_TAG"; then
fi
if test -z "$CARGO_TARGET_DIR"; then
CARGO_TARGET_DIR=target
export CARGO_TARGET_DIR=/tmp/deltachat-build
fi
unset RUSTFLAGS
TOOLCHAIN="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$NDK_HOST_TAG"
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang"
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="$TOOLCHAIN/bin/aarch64-linux-android21-clang"
@ -154,8 +160,6 @@ if test -z $1 || test $1 = x86_64; then
cp "$CARGO_TARGET_DIR/x86_64-linux-android/$RELEASE/libdeltachat.a" "$jnidir/x86_64"
fi
rm -fr "$TMPLIB"
echo -- ndk-build --
cd ../..