/ dnsdisc.nimble
dnsdisc.nimble
1 # Package 2 3 packageName = "dnsdisc" 4 version = "0.1.0" 5 author = "Status Research & Development GmbH" 6 description = "Nim discovery library supporting EIP-1459" 7 license = "MIT or Apache License 2.0" 8 9 # Dependencies 10 11 requires "nim >= 1.6.0", 12 "bearssl", 13 "chronicles", 14 "chronos", 15 "eth", 16 "secp256k1", 17 "stew", 18 "testutils", 19 "unittest2", 20 "nimcrypto", 21 "results" 22 23 # Helper functions 24 proc buildBinary(name: string, srcDir = "./", params = "", lang = "c") = 25 if not dirExists "build": 26 mkDir "build" 27 # allow something like "nim nimbus --verbosity:0 --hints:off nimbus.nims" 28 var extra_params = params 29 for i in 2..<paramCount(): 30 extra_params &= " " & paramStr(i) 31 exec "nim " & lang & " --mm:refc --out:build/" & name & " " & extra_params & " " & srcDir & name & ".nim" 32 if NimMajor >= 2: 33 exec "nim " & lang & " --mm:orc --out:build/" & name & " " & extra_params & " " & srcDir & name & ".nim" 34 35 proc test(name: string, params = "-d:chronicles_log_level=DEBUG", lang = "c") = 36 # XXX: When running `> NIM_PARAMS="-d:chronicles_log_level=INFO" make test2` 37 # I expect compiler flag to be overridden, however it stays with whatever is 38 # specified here. 39 exec "nim " & lang & " --mm:refc -r " & params & " tests/" & name & ".nim" 40 if NimMajor >= 2: 41 exec "nim " & lang & " --mm:orc -r " & params & " tests/" & name & ".nim" 42 43 task creator, "Build DNS discovery tree creator": 44 buildBinary "tree_creator", "dnsdisc/creator/", "-d:chronicles_log_level=DEBUG -d:chronosStrictException" 45 46 task test, "Build & run all DNS discovery tests": 47 test "all_tests"