@@ -273,7 +273,7 @@ def run(commands):
273273 elif re .search (r'\%' , commands ):
274274 error ('Bad command: ' + commands )
275275 else :
276- return subprocess .run ("set -e\n " + commands , shell = True , env = modifiedEnv ).returncode == 0
276+ return subprocess .run ("set -e\n " + commands , shell = True , executable = "/bin/bash" , env = modifiedEnv ).returncode == 0
277277
278278# Thanks https://stackoverflow.com/a/510364
279279class _Getch :
@@ -429,4 +429,81 @@ def runStages():
429429 echo "Built archs: {archesStr}"
430430""" .format (ndk = ndkPath ,archesStr = ' ' .join (arches )))
431431
432+ stage ('tde2e' , """
433+ # Install gsed on macOS.
434+
435+ git submodule init && git submodule update
436+ git reset HEAD tde2e/ && git checkout -- tde2e/
437+ cd tde2e_source && git reset --hard HEAD && cd ..
438+ export NDK={ndk}
439+ export NINJA_PATH=`which ninja`
440+
441+ tde2e_dir=`pwd`/tde2e
442+ source_dir=`pwd`/tde2e_source
443+ broingssl_dir=`pwd`/boringssl
444+
445+ cp "$tde2e_dir/build-tdlib.sh" "$source_dir/example/android/."
446+ cp "$tde2e_dir/CMakeLists.txt" "$source_dir/example/android/."
447+
448+ for arch in {archesStr}; do
449+ mkdir -p $source_dir/example/android/third-party/openssl/$arch/lib/
450+ cp "$broingssl_dir/build/$arch/crypto/libcrypto.a" "$source_dir/example/android/third-party/openssl/$arch/lib/libcrypto.a"
451+ cp "$broingssl_dir/build/$arch/ssl/libssl.a" "$source_dir/example/android/third-party/openssl/$arch/lib/libssl.a"
452+ cp -R "$broingssl_dir/include" "$source_dir/example/android/third-party/openssl/$arch/"
453+ done
454+
455+ SED_CMDS=""
456+
457+ if ! [[ "{archesStr}" =~ "arm64-v8a" ]]; then
458+ SED_CMDS+="s/arm64-v8a//g;"
459+ fi
460+
461+ if ! [[ "{archesStr}" =~ "armeabi-v7a" ]]; then
462+ SED_CMDS+="s/armeabi-v7a//g;"
463+ fi
464+
465+ if ! [[ "{archesStr}" =~ "x86_64" ]]; then
466+ SED_CMDS+="s/x86_64//g;"
467+ fi
468+
469+ if ! [[ "{archesStr}" =~ "x86" ]]; then
470+ SED_CMDS+="s/x86//g;"
471+ fi
472+
473+ comment_line() {{
474+ SED_CMDS+="s/$1/# $1/g;"
475+ }}
476+
477+ comment_line "rm tdlib"
478+ comment_line "jar"
479+ comment_line "mv tdlib"
480+
481+ sed -i "s/ php//g" "$source_dir/example/android/check-environment.sh"
482+ sed -i "s/PHP_EXECUTABLE/FALSE/g" "$source_dir/td/generate/CMakeLists.txt"
483+
484+ cd "$source_dir/example/android"
485+ if [ -n "$SED_CMDS" ]; then
486+ sed "$SED_CMDS" ./build-tdlib.sh
487+ sed "$SED_CMDS" ./build-tdlib.sh | bash -s -- "{ndk}/../.."
488+ else
489+ ./build-tdlib.sh "{ndk}/../.."
490+ fi
491+
492+ for arch in {archesStr}; do
493+ mkdir -p $tde2e_dir/$arch
494+ cp "$source_dir/example/android/build-$arch-Java/td/tde2e/libtde2e.a" $tde2e_dir/$arch
495+ cp "$source_dir/example/android/build-$arch-Java/td/tdutils/libtdutils.a" $tde2e_dir/$arch
496+ done
497+
498+ echo "Built archs: {archesStr}"
499+ """ .format (
500+ ndk = ndkPath ,
501+ archesStr = ' ' .join (
502+ 'arm64-v8a' if arch == 'arm64' else
503+ 'armeabi-v7a' if arch == 'arm' else
504+ arch
505+ for arch in arches
506+ )
507+ ))
508+
432509runStages ()
0 commit comments