mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Reworked TON portable artifacts (#1486)
* 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
This commit is contained in:
parent
a224491179
commit
e0605156de
25 changed files with 718 additions and 522 deletions
18
README.md
18
README.md
|
|
@ -71,7 +71,7 @@ Usually, the response to your pull request will indicate which section it falls
|
|||
|
||||
## Build TON blockchain
|
||||
|
||||
### Ubuntu 20.4, 22.04 (x86-64, aarch64)
|
||||
### Ubuntu 20.4, 22.04, 24.04 (x86-64, aarch64)
|
||||
Install additional system libraries
|
||||
```bash
|
||||
sudo apt-get update
|
||||
|
|
@ -141,18 +141,10 @@ Compile TON tonlib library
|
|||
./build-android-tonlib.sh
|
||||
```
|
||||
|
||||
### Build TON portable binaries with Nix package manager
|
||||
You need to install Nix first.
|
||||
```bash
|
||||
sh <(curl -L https://nixos.org/nix/install) --daemon
|
||||
```
|
||||
Then compile TON with Nix by executing below command from the root folder:
|
||||
```bash
|
||||
cp -r assembly/nix/* .
|
||||
export NIX_PATH=nixpkgs=https://github.com/nixOS/nixpkgs/archive/23.05.tar.gz
|
||||
nix-build linux-x86-64-static.nix
|
||||
```
|
||||
More examples for other platforms can be found under `assembly/nix`.
|
||||
### TON portable binaries
|
||||
|
||||
Linux portable binaries are wrapped into AppImages, at the same time MacOS portable binaries are statically linked executables.
|
||||
Linux and MacOS binaries are available for both x86-64 and arm64 architectures.
|
||||
|
||||
## Running tests
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue