mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-14 12:12:21 +00:00
* improve windows builds * install nasm for openssl compilation on win * install nasm for openssl compilation on win for github * add create-state, proxy-liteserver, rldp-http-proxy, http-proxy, adnl-proxy, dht-server, libtonlibjson.so and libemulator.so to docker image * build new artifacts inside Docker * add files smartcont/auto/* to docker image * build arm64 in docker branch build * improve secp256k1 build * adding natively portable binaries (all statically linked with libc++, without nixpkgs help) for x86-64 linux * install missing headers on ubuntu 20.04 * use clang-16 on ubuntu 20.04 * remove gsl for portable artifacts; add -f key to generate-random-id in order to read addr_list from file; * typo * decode json * decode json * add github workflow for appimages creation * add missing dependencies * use libc++ for appimages artifacts * typo * appimages wihtout libc++ * appimages with libc++ and some checks * add appimages to release (for testing) * add appimages to release (for testing) * add appimages to release (for testing) * add appimages to release (for testing) 2 * add appimages to release (for testing) 3 * appimages only on ubuntu 22 with ssl-3 for now * appimages only on ubuntu 20 with ssl-3 for now * appimages only on ubuntu 20 with ssl-3 for now * add export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}" to appimage AppRun * create release * appimages without jemalloc * bind specific libraries to appimages * add libreadline * add plain portable libs * add proper /lib/x86_64-linux-gnu/libreadline.so.8 * app images build with libc * try to ensure ABI compatibility with older glibc * try to ensure ABI compatibility with older glibc for shared libraries * shared lib without libc but with D_GLIBCXX_USE_CXX11_ABI and -static-libgcc -static-libstdc++ * add -fPIC -fcommon * add /lib/x86_64-linux-gnu/libstdc++.so.6 to static binaries * add -static-libgcc -static-libstdc++ to libtonlibjson and emulator when PORTABLE=1 * add -static-libgcc -static-libstdc++ to libtonlibjson and emulator when PORTABLE=1 * update emulator portable * Update CMakeLists.txt * test portable macos binaries * do not use -static-libgcc -static-libstdc++ on mac for shared libs * do not use -static-libgcc -static-libstdc++ on mac for shared libs * adjust create-release.yml * minor fixes, typos * minor fixes * linux apps double check * avoid infinite loop when place in system bin dir * avoid infinite loop when place in system bin dir 2 * test compilation on linux arm64 * test appimages on arm64 linux * test appimages on arm64 linux 2 * add portable linux arm64 to release * clean up * update README.md
50 lines
1.5 KiB
Bash
50 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
if [ ! -d "artifacts" ]; then
|
|
echo "No artifacts found."
|
|
exit 2
|
|
fi
|
|
# x86_64 or aarch64
|
|
ARCH=$1
|
|
|
|
rm -rf appimages
|
|
|
|
mkdir -p appimages/artifacts
|
|
|
|
wget -nc https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage
|
|
chmod +x ./appimagetool-$ARCH.AppImage
|
|
|
|
cd appimages
|
|
for file in ../artifacts/*; do
|
|
if [[ -f "$file" && "$file" != *.so ]]; then
|
|
appName=$(basename "$file")
|
|
echo $appName
|
|
# prepare AppDir
|
|
mkdir -p $appName.AppDir/usr/{bin,lib}
|
|
cp ../AppRun $appName.AppDir/AppRun
|
|
sed -i "s/app/$appName/g" $appName.AppDir/AppRun
|
|
chmod +x ./$appName.AppDir/AppRun
|
|
printf '[Desktop Entry]\nName='$appName'\nExec='$appName'\nIcon='$appName'\nType=Application\nCategories=Utility;\n' > $appName.AppDir/$appName.desktop
|
|
cp ../ton.png $appName.AppDir/$appName.png
|
|
cp $file $appName.AppDir/usr/bin/
|
|
cp ../build/openssl_3/libcrypto.so.3 \
|
|
/lib/$ARCH-linux-gnu/libatomic.so.1 \
|
|
/lib/$ARCH-linux-gnu/libsodium.so.23 \
|
|
/lib/$ARCH-linux-gnu/libz.so.1 \
|
|
/lib/$ARCH-linux-gnu/liblz4.so.1 \
|
|
/lib/$ARCH-linux-gnu/libmicrohttpd.so.12 \
|
|
/lib/$ARCH-linux-gnu/libreadline.so.8 \
|
|
/lib/$ARCH-linux-gnu/libstdc++.so.6 \
|
|
$appName.AppDir/usr/lib/
|
|
|
|
chmod +x ./$appName.AppDir/usr/bin/$appName
|
|
# create AppImage
|
|
./../appimagetool-$ARCH.AppImage -l $appName.AppDir
|
|
mv $appName-$ARCH.AppImage artifacts/$appName
|
|
fi
|
|
done
|
|
|
|
ls -larth artifacts
|
|
cp -r ../artifacts/{smartcont,lib} artifacts/
|
|
pwd
|
|
ls -larth artifacts
|