mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Merge branch 'refs/heads/testnet' into accelerator
This commit is contained in:
commit
f91ed6cc31
18 changed files with 336 additions and 129 deletions
25
.github/workflows/build-ton-macos-arm64-shared.yml
vendored
Normal file
25
.github/workflows/build-ton-macos-arm64-shared.yml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
name: MacOS TON build (shared, arm64)
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Build TON
|
||||
run: |
|
||||
cp assembly/native/build-macos-shared.sh .
|
||||
chmod +x build-macos-shared.sh
|
||||
./build-macos-shared.sh -t -a
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ton-binaries-macos-14
|
||||
path: artifacts
|
107
.github/workflows/create-release.yml
vendored
107
.github/workflows/create-release.yml
vendored
|
@ -35,6 +35,14 @@ jobs:
|
|||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download Mac arm64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ton-arm64-macos.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download and unzip Mac x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
|
@ -43,6 +51,14 @@ jobs:
|
|||
workflow_conclusion: success
|
||||
skip_unpack: false
|
||||
|
||||
- name: Download and unzip arm64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ton-arm64-macos.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: false
|
||||
|
||||
- name: Download Windows artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
|
@ -297,6 +313,97 @@ jobs:
|
|||
asset_name: tonlib-cli-mac-x86-64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
|
||||
# mac arm64
|
||||
|
||||
- name: Upload Mac arm64 artifacts
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries.zip
|
||||
asset_name: ton-mac-arm64.zip
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - fift
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/fift
|
||||
asset_name: fift-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - func
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/func
|
||||
asset_name: func-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - lite-client
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/lite-client
|
||||
asset_name: lite-client-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - rldp-http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/rldp-http-proxy
|
||||
asset_name: rldp-http-proxy-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/http-proxy
|
||||
asset_name: http-proxy-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - storage-daemon-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/storage-daemon-cli
|
||||
asset_name: storage-daemon-cli-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - storage-daemon
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/storage-daemon
|
||||
asset_name: storage-daemon-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - tonlibjson
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/libtonlibjson.dylib
|
||||
asset_name: tonlibjson-mac-arm64.dylib
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - libemulator
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/libemulator.dylib
|
||||
asset_name: libemulator-mac-arm64.dylib
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
- name: Upload Mac arm64 single artifact - tonlib-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-arm64-macos-binaries/tonlib-cli
|
||||
asset_name: tonlib-cli-mac-arm64
|
||||
tag: ${{ steps.tag.outputs.TAG }}
|
||||
|
||||
# linux x86-64
|
||||
|
||||
- name: Upload Linux x86-64 artifacts
|
||||
|
|
37
.github/workflows/ton-arm64-macos.yml
vendored
Normal file
37
.github/workflows/ton-arm64-macos.yml
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
name: MacOS TON build (portable, arm64)
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- uses: cachix/install-nix-action@v23
|
||||
with:
|
||||
extra_nix_config: |
|
||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build TON
|
||||
run: |
|
||||
cp assembly/nix/build-macos-nix.sh .
|
||||
chmod +x build-macos-nix.sh
|
||||
./build-macos-nix.sh -t
|
||||
|
||||
- name: Simple binaries test
|
||||
run: |
|
||||
sudo mv /nix/store /nix/store2
|
||||
artifacts/validator-engine -V
|
||||
artifacts/lite-client -V
|
||||
artifacts/fift -V
|
||||
artifacts/func -V
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ton-arm64-macos-binaries
|
||||
path: artifacts
|
13
Changelog.md
13
Changelog.md
|
@ -1,3 +1,16 @@
|
|||
## 2024.06 Update
|
||||
|
||||
1. Make Jemalloc default allocator
|
||||
2. Add candidate broadcasting and caching
|
||||
3. Limit per address speed for external messages broadcast by reasonably large number
|
||||
4. Overlay improvements: fix dropping peers in small custom overlays, fix wrong certificate on missed keyblocks
|
||||
5. Extended statistics and logs for celldb usage, session stats, persistent state serialization
|
||||
6. Tonlib and explorer fixes
|
||||
7. Flags for precize control of Celldb: `--celldb-cache-size`, `--celldb-direct-io` and `--celldb-preload-all`
|
||||
8. Add valiator-console command to stop persistent state serialization
|
||||
9. Use `@` path separator for defining include path in fift and create-state utilities on Windows only.
|
||||
|
||||
|
||||
## 2024.04 Update
|
||||
|
||||
1. Emulator: Single call optimized runGetMethod added
|
||||
|
|
|
@ -15,8 +15,6 @@ while getopts 't' flag; do
|
|||
done
|
||||
|
||||
cp assembly/nix/linux-arm64* .
|
||||
cp assembly/nix/microhttpd.nix .
|
||||
cp assembly/nix/openssl.nix .
|
||||
export NIX_PATH=nixpkgs=https://github.com/nixOS/nixpkgs/archive/23.05.tar.gz
|
||||
|
||||
if [ "$with_tests" = true ]; then
|
||||
|
@ -30,7 +28,9 @@ cp ./result/bin/* artifacts/
|
|||
test $? -eq 0 || { echo "No artifacts have been built..."; exit 1; }
|
||||
chmod +x artifacts/*
|
||||
rm -rf result
|
||||
|
||||
nix-build linux-arm64-tonlib.nix
|
||||
|
||||
cp ./result/lib/libtonlibjson.so.0.5 artifacts/libtonlibjson.so
|
||||
cp ./result/lib/libemulator.so artifacts/
|
||||
cp ./result/lib/fift/* artifacts/lib/
|
||||
|
|
|
@ -15,8 +15,6 @@ while getopts 't' flag; do
|
|||
done
|
||||
|
||||
cp assembly/nix/linux-x86-64* .
|
||||
cp assembly/nix/microhttpd.nix .
|
||||
cp assembly/nix/openssl.nix .
|
||||
export NIX_PATH=nixpkgs=https://github.com/nixOS/nixpkgs/archive/23.05.tar.gz
|
||||
|
||||
if [ "$with_tests" = true ]; then
|
||||
|
@ -30,7 +28,9 @@ cp ./result/bin/* artifacts/
|
|||
test $? -eq 0 || { echo "No artifacts have been built..."; exit 1; }
|
||||
chmod +x artifacts/*
|
||||
rm -rf result
|
||||
|
||||
nix-build linux-x86-64-tonlib.nix
|
||||
|
||||
cp ./result/lib/libtonlibjson.so.0.5 artifacts/libtonlibjson.so
|
||||
cp ./result/lib/libemulator.so artifacts/
|
||||
cp ./result/lib/fift/* artifacts/lib/
|
||||
|
|
|
@ -28,7 +28,9 @@ cp ./result-bin/bin/* artifacts/
|
|||
test $? -eq 0 || { echo "No artifacts have been built..."; exit 1; }
|
||||
chmod +x artifacts/*
|
||||
rm -rf result-bin
|
||||
|
||||
nix-build macos-tonlib.nix
|
||||
|
||||
cp ./result/lib/libtonlibjson.dylib artifacts/
|
||||
cp ./result/lib/libemulator.dylib artifacts/
|
||||
cp ./result/lib/fift/* artifacts/lib/
|
||||
|
|
|
@ -6,9 +6,23 @@
|
|||
, testing ? false
|
||||
}:
|
||||
let
|
||||
microhttpdmy = (import ./microhttpd.nix) {};
|
||||
staticOptions = pkg: pkg.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--without-shared" "--disable-shared" "--disable-tests" ];
|
||||
});
|
||||
|
||||
secp256k1Static = (staticOptions pkgs.secp256k1);
|
||||
libsodiumStatic = (staticOptions pkgs.libsodium);
|
||||
jemallocStatic = (staticOptions pkgs.jemalloc);
|
||||
|
||||
microhttpdStatic = pkgs.libmicrohttpd.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--enable-static" "--disable-tests" "--disable-benchmark" "--disable-shared" "--disable-https" "--with-pic" ];
|
||||
});
|
||||
|
||||
in
|
||||
with import microhttpdmy;
|
||||
stdenv.mkDerivation {
|
||||
pname = "ton";
|
||||
version = "dev-bin";
|
||||
|
@ -16,30 +30,32 @@ stdenv.mkDerivation {
|
|||
src = ./.;
|
||||
|
||||
nativeBuildInputs = with pkgs;
|
||||
[
|
||||
cmake ninja git pkg-config
|
||||
];
|
||||
[ cmake ninja git pkg-config ];
|
||||
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
pkgsStatic.openssl microhttpdmy pkgsStatic.zlib pkgsStatic.libsodium.dev pkgsStatic.secp256k1 glibc.static pkgsStatic.lz4
|
||||
(openssl.override { static = true; }).dev
|
||||
microhttpdStatic.dev
|
||||
(zlib.override { shared = false; }).dev
|
||||
(lz4.override { enableStatic = true; enableShared = false; }).dev
|
||||
jemallocStatic
|
||||
secp256k1Static
|
||||
libsodiumStatic.dev
|
||||
glibc.static
|
||||
];
|
||||
|
||||
makeStatic = true;
|
||||
doCheck = testing;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DTON_USE_ABSEIL=OFF"
|
||||
"-DNIX=ON"
|
||||
"-DBUILD_SHARED_LIBS=OFF"
|
||||
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
|
||||
"-DCMAKE_LINK_SEARCH_END_STATIC=ON"
|
||||
"-DMHD_FOUND=1"
|
||||
"-DMHD_INCLUDE_DIR=${microhttpdmy}/usr/local/include"
|
||||
"-DMHD_LIBRARY=${microhttpdmy}/usr/local/lib/libmicrohttpd.a"
|
||||
"-DCMAKE_CTEST_ARGUMENTS=--timeout;1800"
|
||||
"-DTON_USE_JEMALLOC=ON"
|
||||
];
|
||||
|
||||
makeStatic = true;
|
||||
doCheck = testing;
|
||||
|
||||
LDFLAGS = [
|
||||
"-static-libgcc" "-static-libstdc++" "-static"
|
||||
];
|
||||
|
|
|
@ -5,9 +5,21 @@
|
|||
, stdenv ? pkgs.stdenv
|
||||
}:
|
||||
let
|
||||
microhttpdmy = (import ./microhttpd.nix) {};
|
||||
staticOptions = pkg: pkg.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--without-shared" "--disable-shared" "--disable-tests" ];
|
||||
});
|
||||
|
||||
secp256k1Static = (staticOptions pkgs.secp256k1);
|
||||
libsodiumStatic = (staticOptions pkgs.libsodium);
|
||||
|
||||
microhttpdStatic = pkgs.libmicrohttpd.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--enable-static" "--disable-tests" "--disable-benchmark" "--disable-shared" "--disable-https" "--with-pic" ];
|
||||
});
|
||||
in
|
||||
with import microhttpdmy;
|
||||
pkgs.llvmPackages_16.stdenv.mkDerivation {
|
||||
pname = "ton";
|
||||
version = "dev-lib";
|
||||
|
@ -21,7 +33,12 @@ pkgs.llvmPackages_16.stdenv.mkDerivation {
|
|||
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
pkgsStatic.openssl microhttpdmy pkgsStatic.zlib pkgsStatic.libsodium.dev pkgsStatic.secp256k1 pkgsStatic.lz4
|
||||
(openssl.override { static = true; }).dev
|
||||
microhttpdStatic.dev
|
||||
(zlib.override { shared = false; }).dev
|
||||
(lz4.override { enableStatic = true; enableShared = false; }).dev
|
||||
secp256k1Static
|
||||
libsodiumStatic.dev
|
||||
];
|
||||
|
||||
dontAddStaticConfigureFlags = false;
|
||||
|
@ -29,9 +46,6 @@ pkgs.llvmPackages_16.stdenv.mkDerivation {
|
|||
cmakeFlags = [
|
||||
"-DTON_USE_ABSEIL=OFF"
|
||||
"-DNIX=ON"
|
||||
"-DMHD_FOUND=1"
|
||||
"-DMHD_INCLUDE_DIR=${microhttpdmy}/usr/local/include"
|
||||
"-DMHD_LIBRARY=${microhttpdmy}/usr/local/lib/libmicrohttpd.a"
|
||||
];
|
||||
|
||||
LDFLAGS = [
|
||||
|
|
|
@ -6,9 +6,23 @@
|
|||
, testing ? false
|
||||
}:
|
||||
let
|
||||
microhttpdmy = (import ./microhttpd.nix) {};
|
||||
staticOptions = pkg: pkg.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--without-shared" "--disable-shared" "--disable-tests" ];
|
||||
});
|
||||
|
||||
secp256k1Static = (staticOptions pkgs.secp256k1);
|
||||
libsodiumStatic = (staticOptions pkgs.libsodium);
|
||||
jemallocStatic = (staticOptions pkgs.jemalloc);
|
||||
|
||||
microhttpdStatic = pkgs.libmicrohttpd.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--enable-static" "--disable-tests" "--disable-benchmark" "--disable-shared" "--disable-https" "--with-pic" ];
|
||||
});
|
||||
|
||||
in
|
||||
with import microhttpdmy;
|
||||
stdenv.mkDerivation {
|
||||
pname = "ton";
|
||||
version = "dev-bin";
|
||||
|
@ -16,31 +30,33 @@ stdenv.mkDerivation {
|
|||
src = ./.;
|
||||
|
||||
nativeBuildInputs = with pkgs;
|
||||
[
|
||||
cmake ninja git pkg-config
|
||||
];
|
||||
[ cmake ninja git pkg-config ];
|
||||
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
pkgsStatic.openssl microhttpdmy pkgsStatic.zlib pkgsStatic.libsodium.dev pkgsStatic.secp256k1 glibc.static pkgsStatic.lz4
|
||||
(openssl.override { static = true; }).dev
|
||||
microhttpdStatic.dev
|
||||
(zlib.override { shared = false; }).dev
|
||||
(lz4.override { enableStatic = true; enableShared = false; }).dev
|
||||
jemallocStatic
|
||||
secp256k1Static
|
||||
libsodiumStatic.dev
|
||||
glibc.static
|
||||
];
|
||||
|
||||
makeStatic = true;
|
||||
doCheck = testing;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DTON_USE_ABSEIL=OFF"
|
||||
"-DNIX=ON"
|
||||
"-DBUILD_SHARED_LIBS=OFF"
|
||||
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
|
||||
"-DCMAKE_LINK_SEARCH_END_STATIC=ON"
|
||||
"-DMHD_FOUND=1"
|
||||
"-DMHD_INCLUDE_DIR=${microhttpdmy}/usr/local/include"
|
||||
"-DMHD_LIBRARY=${microhttpdmy}/usr/local/lib/libmicrohttpd.a"
|
||||
"-DCMAKE_CTEST_ARGUMENTS=--timeout;1800"
|
||||
"-DTON_USE_JEMALLOC=ON"
|
||||
];
|
||||
|
||||
makeStatic = true;
|
||||
doCheck = testing;
|
||||
|
||||
LDFLAGS = [
|
||||
"-static-libgcc" "-static-libstdc++" "-static"
|
||||
"-static-libgcc" "-static-libstdc++" "-fPIC"
|
||||
];
|
||||
}
|
||||
|
|
|
@ -9,6 +9,21 @@
|
|||
let
|
||||
system = builtins.currentSystem;
|
||||
|
||||
staticOptions = pkg: pkg.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--without-shared" "--disable-shared" "--disable-tests" ];
|
||||
});
|
||||
|
||||
secp256k1Static = (staticOptions pkgs.secp256k1);
|
||||
libsodiumStatic = (staticOptions pkgs.libsodium);
|
||||
|
||||
microhttpdStatic = pkgs.libmicrohttpd.overrideAttrs(oldAttrs: {
|
||||
dontDisableStatic = true;
|
||||
enableSharedExecutables = false;
|
||||
configureFlags = (oldAttrs.configureFlags or []) ++ [ "--enable-static" "--disable-tests" "--disable-benchmark" "--disable-shared" "--disable-https" "--with-pic" ];
|
||||
});
|
||||
|
||||
nixos1909 = (import (builtins.fetchTarball {
|
||||
url = "https://channels.nixos.org/nixos-19.09/nixexprs.tar.xz";
|
||||
sha256 = "1vp1h2gkkrckp8dzkqnpcc6xx5lph5d2z46sg2cwzccpr8ay58zy";
|
||||
|
@ -34,7 +49,12 @@ stdenv227.mkDerivation {
|
|||
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
pkgsStatic.openssl pkgsStatic.zlib pkgsStatic.libmicrohttpd.dev pkgsStatic.libsodium.dev pkgsStatic.secp256k1 pkgsStatic.lz4
|
||||
(openssl.override { static = true; }).dev
|
||||
microhttpdStatic.dev
|
||||
(zlib.override { shared = false; }).dev
|
||||
(lz4.override { enableStatic = true; enableShared = false; }).dev
|
||||
secp256k1Static
|
||||
libsodiumStatic.dev
|
||||
];
|
||||
|
||||
dontAddStaticConfigureFlags = false;
|
||||
|
|
|
@ -17,7 +17,7 @@ pkgs.llvmPackages_14.stdenv.mkDerivation {
|
|||
|
||||
buildInputs = with pkgs;
|
||||
lib.forEach [
|
||||
secp256k1 libsodium.dev libmicrohttpd.dev gmp.dev nettle.dev libtasn1.dev libidn2.dev libunistring.dev gettext (gnutls.override { withP11-kit = false; }).dev
|
||||
secp256k1 libsodium.dev libmicrohttpd.dev gmp.dev nettle.dev libtasn1.dev libidn2.dev libunistring.dev gettext jemalloc (gnutls.override { withP11-kit = false; }).dev
|
||||
]
|
||||
(x: x.overrideAttrs(oldAttrs: rec { configureFlags = (oldAttrs.configureFlags or []) ++ [ "--enable-static" "--disable-shared" "--disable-tests" ]; dontDisableStatic = true; }))
|
||||
++ [
|
||||
|
@ -38,13 +38,13 @@ pkgs.llvmPackages_14.stdenv.mkDerivation {
|
|||
cmakeFlags = [
|
||||
"-DTON_USE_ABSEIL=OFF"
|
||||
"-DNIX=ON"
|
||||
"-DTON_USE_JEMALLOC=ON"
|
||||
"-DCMAKE_CROSSCOMPILING=OFF"
|
||||
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
|
||||
"-DCMAKE_LINK_SEARCH_END_STATIC=ON"
|
||||
"-DBUILD_SHARED_LIBS=OFF"
|
||||
"-DCMAKE_CXX_FLAGS=-stdlib=libc++"
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=11.3"
|
||||
"-DCMAKE_CTEST_ARGUMENTS=--timeout;1800"
|
||||
];
|
||||
|
||||
LDFLAGS = [
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
{ pkgs ? import <nixpkgs> { system = builtins.currentSystem; }
|
||||
, stdenv ? pkgs.stdenv
|
||||
, fetchgit ? pkgs.fetchgit
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "microhttpdmy";
|
||||
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.gnunet.org/libmicrohttpd.git";
|
||||
rev = "refs/tags/v0.9.77";
|
||||
sha256 = "sha256-x+nfB07PbZwBlFc6kZZFYiRpk0a3QN/ByHB+hC8na/o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [ automake libtool autoconf texinfo ];
|
||||
|
||||
buildInputs = with pkgs; [ ];
|
||||
|
||||
configurePhase = ''
|
||||
./autogen.sh
|
||||
./configure --enable-static --disable-tests --disable-benchmark --disable-shared --disable-https --with-pic
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
make install DESTDIR=$out
|
||||
'';
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{ pkgs ? import <nixpkgs> { system = builtins.currentSystem; }
|
||||
, stdenv ? pkgs.stdenv
|
||||
, fetchFromGitHub ? pkgs.fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "opensslmy";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openssl";
|
||||
repo = "openssl";
|
||||
rev = "refs/tags/openssl-3.1.4";
|
||||
sha256 = "sha256-Vvf1wiNb4ikg1lIS9U137aodZ2JzM711tSWMJFYWtWI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [ perl ];
|
||||
|
||||
buildInputs = with pkgs; [ ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs Configure
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
./Configure no-shared
|
||||
'';
|
||||
installPhase = ''
|
||||
make install DESTDIR=$out
|
||||
'';
|
||||
}
|
|
@ -479,10 +479,17 @@ if (NOT CMAKE_CROSSCOMPILING OR USE_EMSCRIPTEN)
|
|||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_DEST_FIF}
|
||||
)
|
||||
set(ARG_DEST_CPP "${ARG_DEST}.cpp")
|
||||
|
||||
if (WIN32)
|
||||
set(ARG_LIB_DIR "fift/lib@smartcont")
|
||||
else()
|
||||
set(ARG_LIB_DIR "fift/lib:smartcont")
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
COMMENT "Generate ${ARG_DEST_CPP}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND fift -Ifift/lib:smartcont -s asm-to-cpp.fif ${ARG_DEST_FIF} ${ARG_DEST_CPP} ${ARG_NAME}
|
||||
COMMAND fift -I${ARG_LIB_DIR} -s asm-to-cpp.fif ${ARG_DEST_FIF} ${ARG_DEST_CPP} ${ARG_NAME}
|
||||
MAIN_DEPENDENCY ${ARG_SOURCE}
|
||||
DEPENDS fift ${ARG_DEST_FIF} smartcont/asm-to-cpp.fif fift/lib/Asm.fif
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_DEST_CPP}
|
||||
|
|
|
@ -814,11 +814,16 @@ void usage(const char* progname) {
|
|||
void parse_include_path_set(std::string include_path_set, std::vector<std::string>& res) {
|
||||
td::Parser parser(include_path_set);
|
||||
while (!parser.empty()) {
|
||||
auto path = parser.read_till_nofail(':');
|
||||
#if TD_WINDOWS
|
||||
auto path_separator = '@';
|
||||
#else
|
||||
auto path_separator = ':';
|
||||
#endif
|
||||
auto path = parser.read_till_nofail(path_separator);
|
||||
if (!path.empty()) {
|
||||
res.push_back(path.str());
|
||||
}
|
||||
parser.skip_nofail(':');
|
||||
parser.skip_nofail(path_separator);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ void usage(const char* progname) {
|
|||
<< " [-i] [-n] [-I <source-include-path>] {-L <library-fif-file>} <source-file1-fif> <source-file2-fif> ...\n";
|
||||
std::cerr << "\t-n\tDo not preload standard preamble file `Fift.fif`\n"
|
||||
"\t-i\tForce interactive mode even if explicit source file names are indicated\n"
|
||||
"\t-I<source-search-path>\tSets colon-separated library source include path. If not indicated, "
|
||||
"\t-I<source-search-path>\tSets colon-separated (unix) or at-separated (windows) library source include path. If not indicated, "
|
||||
"$FIFTPATH is used instead.\n"
|
||||
"\t-L<library-fif-file>\tPre-loads a library source file\n"
|
||||
"\t-d<ton-db-path>\tUse a ton database\n"
|
||||
|
@ -75,11 +75,16 @@ void usage(const char* progname) {
|
|||
void parse_include_path_set(std::string include_path_set, std::vector<std::string>& res) {
|
||||
td::Parser parser(include_path_set);
|
||||
while (!parser.empty()) {
|
||||
auto path = parser.read_till_nofail(':');
|
||||
#if TD_WINDOWS
|
||||
auto path_separator = '@';
|
||||
#else
|
||||
auto path_separator = ':';
|
||||
#endif
|
||||
auto path = parser.read_till_nofail(path_separator);
|
||||
if (!path.empty()) {
|
||||
res.push_back(path.str());
|
||||
}
|
||||
parser.skip_nofail(':');
|
||||
parser.skip_nofail(path_separator);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
## 2024.04 Update
|
||||
|
||||
1. Emulator: Single call optimized runGetMethod added
|
||||
2. Tonlib: a series of proof improvements, also breaking Change in `liteServer.getAllShardsInfo` method (see below)
|
||||
3. DB: usage statistics now collected, outdated persistent states are not serialized
|
||||
4. LS: fast `getOutMsgQueueSizes` added, preliminary support of non-final block requests
|
||||
5. Network: lz4 compression of block candidates (disabled by default).
|
||||
6. Overlays: add custom overlays
|
||||
7. Transaction Executor: fixed issue with due_payment collection
|
||||
|
||||
* `liteServer.getAllShardsInfo` method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in the `data` correspond to ShardHashes from the block.
|
||||
|
||||
Besides the work of the core team, this update is based on the efforts of @akifoq (due_payment issue).
|
||||
1. Make Jemalloc default allocator
|
||||
2. Add candidate broadcasting and caching
|
||||
3. Limit per address speed for external messages broadcast by reasonably large number
|
||||
4. Overlay improvements: fix dropping peers in small custom overlays, fix wrong certificate on missed keyblocks
|
||||
5. Extended statistics and logs for celldb usage, session stats, persistent state serialization
|
||||
6. Tonlib and explorer fixes
|
||||
7. Flags for precize control of Celldb: `--celldb-cache-size`, `--celldb-direct-io` and `--celldb-preload-all`
|
||||
8. Add valiator-console command to stop persistent state serialization
|
||||
9. Use `@` path separator for defining include path in fift and create-state utilities on Windows only.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue