Skip to content

Commit c655ea8

Browse files
committed
Added tdlib submodule.
1 parent 9abc25f commit c655ea8

4 files changed

Lines changed: 95 additions & 3 deletions

File tree

.github/workflows/tandroid.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,26 @@ jobs:
2222
- uses: actions/checkout@v3.1.0
2323
with:
2424
submodules: true
25+
- name: Free up some disk space.
26+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
27+
with:
28+
tool-cache: false
29+
android: false
2530
- uses: actions/setup-java@v4
2631
with:
2732
distribution: 'temurin'
2833
java-version: '17'
2934
- uses: nttld/setup-ndk@v1.4.2
30-
id: setup-ndk
35+
id: setup-ndk-r21e
3136
with:
3237
ndk-version: r21e
3338
link-to-sdk: true
39+
40+
- uses: nttld/setup-ndk@v1.4.2
41+
id: setup-ndk-r23c
42+
with:
43+
ndk-version: r23c
44+
link-to-sdk: true
3445
- name: Prepare additional build number.
3546
env:
3647
ADDITIONAL_BUILD: ${{ secrets.ADDITIONAL_BUILD_NUMBER }}
@@ -60,7 +71,7 @@ jobs:
6071
###
6172
echo $ADDITIONAL_BUILD_NUMBER
6273
sudo apt update
63-
sudo apt -y install ninja-build meson unzip pip
74+
sudo apt -y install ninja-build meson unzip pip gperf
6475
./gradlew :TMessagesProj_App:${{ matrix.afat }}
6576
6677
#grep BUILD_VERSION_STRING TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java | cut -d'"' -f 2 > ver.txt

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@
1515
[submodule "TMessagesProj/jni/dav1d"]
1616
path = TMessagesProj/jni/dav1d
1717
url = https://github.com/videolan/dav1d
18+
[submodule "TMessagesProj/jni/tde2e_source"]
19+
path = TMessagesProj/jni/tde2e_source
20+
url = https://github.com/tdlib/td

TMessagesProj/jni/prepare.py

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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
279279
class _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+
432509
runStages()

TMessagesProj/jni/tde2e_source

Submodule tde2e_source added at 25dceca

0 commit comments

Comments
 (0)