2023-05-09 09:30:29 +00:00
|
|
|
# beacon_chain
|
2024-01-06 06:18:28 +00:00
|
|
|
# Copyright (c) 2018-2024 Status Research & Development GmbH
|
2023-05-09 09:30:29 +00:00
|
|
|
# Licensed and distributed under either of
|
|
|
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
|
|
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
|
|
|
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
|
|
|
|
2022-03-30 22:00:03 +00:00
|
|
|
mode = ScriptMode.Verbose
|
|
|
|
|
|
|
|
version = "1.4.2"
|
|
|
|
author = "Status Research & Development GmbH"
|
|
|
|
description = "The Nimbus beacon chain node is a highly efficient Ethereum 2.0 client"
|
|
|
|
license = "MIT or Apache License 2.0"
|
|
|
|
|
|
|
|
requires(
|
2024-12-09 13:16:48 +00:00
|
|
|
"nim == 2.0.12",
|
2022-03-30 22:00:03 +00:00
|
|
|
"https://github.com/status-im/NimYAML",
|
|
|
|
"bearssl",
|
|
|
|
"blscurve",
|
|
|
|
"chronicles",
|
|
|
|
"chronos",
|
|
|
|
"confutils",
|
|
|
|
"eth",
|
|
|
|
"faststreams",
|
|
|
|
"httputils",
|
|
|
|
"json_rpc",
|
|
|
|
"json_serialization",
|
|
|
|
"libbacktrace",
|
|
|
|
"libp2p",
|
|
|
|
"metrics",
|
|
|
|
"nat_traversal",
|
|
|
|
"nimcrypto",
|
|
|
|
"normalize",
|
|
|
|
"presto",
|
|
|
|
"secp256k1",
|
|
|
|
"serialization",
|
|
|
|
"snappy",
|
|
|
|
"sqlite3_abi",
|
|
|
|
"ssz_serialization",
|
|
|
|
"stew",
|
|
|
|
"stint",
|
|
|
|
"taskpools",
|
|
|
|
"testutils",
|
|
|
|
"unicodedb >= 0.10",
|
|
|
|
"unittest2",
|
|
|
|
"web3",
|
|
|
|
"zlib",
|
|
|
|
"zxcvbn"
|
|
|
|
)
|
|
|
|
|
2024-12-09 13:16:48 +00:00
|
|
|
requires "https://github.com/status-im/nimbus-security-resources.git"
|
2022-03-30 22:00:03 +00:00
|
|
|
|
2024-01-06 06:18:28 +00:00
|
|
|
import std/tables
|
2022-11-24 20:56:02 +00:00
|
|
|
let namedBin = {
|
2022-03-30 22:00:03 +00:00
|
|
|
"beacon_chain/nimbus_beacon_node": "nimbus_beacon_node",
|
|
|
|
"beacon_chain/nimbus_validator_client": "nimbus_validator_client",
|
|
|
|
"ncli/ncli": "ncli",
|
|
|
|
}.toTable()
|
|
|
|
|
|
|
|
binDir = "build"
|
|
|
|
|
|
|
|
skipDirs = @[
|
|
|
|
".github",
|
2022-11-24 20:56:02 +00:00
|
|
|
".vscode",
|
2022-03-30 22:00:03 +00:00
|
|
|
"docker",
|
|
|
|
"grafana",
|
2022-11-24 20:56:02 +00:00
|
|
|
"installer",
|
2022-03-30 22:00:03 +00:00
|
|
|
"media",
|
|
|
|
"nfuzz",
|
|
|
|
"research",
|
|
|
|
"scripts",
|
|
|
|
"tests",
|
|
|
|
"tools",
|
|
|
|
"vendor",
|
|
|
|
"wasm",
|
|
|
|
]
|
|
|
|
|
|
|
|
proc getLang(): string =
|
|
|
|
var lang = "c"
|
|
|
|
if existsEnv"TEST_LANG":
|
|
|
|
lang = getEnv"TEST_LANG"
|
|
|
|
lang
|
|
|
|
|
|
|
|
proc test(name: string, defaultLang = getLang()) =
|
|
|
|
if not dirExists "build":
|
|
|
|
mkDir "build"
|
|
|
|
--run
|
|
|
|
switch("out", ("./build/" & name))
|
|
|
|
setCommand defaultLang, "tests/" & name & ".nim"
|
|
|
|
|
|
|
|
task test, "Run all tests":
|
|
|
|
test "all_tests"
|