-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #399 from eth-pkg/upcoming/bookworm/amd64/eth-node…
…-nimbus-eth2/25.1.0-1 upcoming/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1
- releases/noble/amd64/eth-node-teku/25.2.0-1
- releases/noble/amd64/eth-node-reth/1.2.0-1
- releases/noble/amd64/eth-node-prysm/5.3.0-1
- releases/noble/amd64/eth-node-nimbus-eth2/25.2.0-1
- releases/noble/amd64/eth-node-nimbus-eth2/25.1.0-1
- releases/noble/amd64/eth-node-nethermind/1.31.1-1
- releases/noble/amd64/eth-node-nethermind/1.31.0-1
- releases/noble/amd64/eth-node-lodestar/1.27.1-1
- releases/noble/amd64/eth-node-lodestar/1.27.0-1
- releases/noble/amd64/eth-node-lodestar/1.26.0-1
- releases/noble/amd64/eth-node-geth/1.15.3-1
- releases/noble/amd64/eth-node-geth/1.15.2-1
- releases/noble/amd64/eth-node-geth/1.15.1-1
- releases/noble/amd64/eth-node-geth/1.15.0-1
- releases/noble/amd64/eth-node-geth/1.14.13-1
- releases/noble/amd64/eth-node-erigon/2.61.1-1
- releases/noble/amd64/eth-node-besu/25.2.1-1
- releases/noble/amd64/eth-node-besu/25.2.0-1
- releases/bookworm/amd64/eth-node-teku/25.2.0-1
- releases/bookworm/amd64/eth-node-reth/1.2.0-1
- releases/bookworm/amd64/eth-node-prysm/5.3.0-1
- releases/bookworm/amd64/eth-node-nimbus-eth2/25.2.0-1
- releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1
- releases/bookworm/amd64/eth-node-nethermind/1.31.1-1
- releases/bookworm/amd64/eth-node-nethermind/1.31.0-1
- releases/bookworm/amd64/eth-node-lodestar/1.27.1-1
- releases/bookworm/amd64/eth-node-lodestar/1.27.0-1
- releases/bookworm/amd64/eth-node-lodestar/1.26.0-1
- releases/bookworm/amd64/eth-node-geth/1.15.3-1
- releases/bookworm/amd64/eth-node-geth/1.15.2-1
- releases/bookworm/amd64/eth-node-geth/1.15.1-1
- releases/bookworm/amd64/eth-node-geth/1.15.0-1
- releases/bookworm/amd64/eth-node-geth/1.14.13-1
- releases/bookworm/amd64/eth-node-erigon/2.61.1-1
- releases/bookworm/amd64/eth-node-besu/25.2.1-1
- releases/bookworm/amd64/eth-node-besu/25.2.0-1
Showing
18 changed files
with
981 additions
and
0 deletions.
There are no files selected for viewing
6 changes: 6 additions & 0 deletions
6
releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1/eth-node-nimbus-eth2.changelog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
eth-node-nimbus-eth2 (25.1.0-1) bookworm; urgency=medium | ||
|
||
* Support for 25.1.0-1 | ||
|
||
-- Eniko Nagy <[email protected]> Wed, 29 Jan 2025 07:48:55 +0100 | ||
|
26 changes: 26 additions & 0 deletions
26
releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1/eth-node-nimbus-eth2.sps
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name = "eth-node-nimbus-eth2" | ||
architecture = "any" | ||
summary = "Nimbus Eth2 (Beacon Chain)" | ||
conflicts = [] | ||
recommends = [] | ||
provides = ["eth-node-consensus-client (= 1)"] | ||
suggests = ["eth-node (= 1)"] | ||
add_files = [ | ||
"build/nimbus_beacon_node /usr/lib/eth-node-nimbus-eth2/bin", | ||
"build/nimbus_validator_client /usr/lib/eth-node-nimbus-eth2/bin", | ||
"build/deposit_contract /usr/lib/eth-node-nimbus-eth2/bin", | ||
"build/nimbus_signing_node /usr/lib/eth-node-nimbus-eth2/bin", | ||
"build/nimbus_light_client /usr/lib/eth-node-nimbus-eth2/bin", | ||
"docker/dist/README.md.tpl /usr/lib/eth-node-nimbus-eth2/README" | ||
] | ||
add_links = [ | ||
"/usr/lib/eth-node-nimbus-eth2/bin/nimbus_beacon_node /usr/bin/nimbus_beacon_node", | ||
] | ||
|
||
add_manpages = [] | ||
long_doc = """ | ||
Nimbus-eth2 is an extremely efficient consensus layer (eth2) client implementation. | ||
While it's optimised for embedded systems and resource-restricted devices | ||
-- including Raspberry Pis, its low resource usage also makes it an excellent choice | ||
for any server or desktop (where it simply takes up fewer resources). | ||
""" |
8 changes: 8 additions & 0 deletions
8
releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1/eth-node-nimbus-eth2.sss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
name = "eth-node-nimbus-eth2" | ||
maintainer = "Eniko Nagy <[email protected]>" | ||
section = "net" | ||
variants = [] | ||
build_depends = ["cmake", "clang", "llvm", "binutils"] | ||
packages = ["eth-node-nimbus-eth2"] | ||
skip_debug_symbols = true | ||
|
8 changes: 8 additions & 0 deletions
8
releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1/pkg-builder-verify.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[verify] | ||
package_hash=[ | ||
# { hash="8acafcede1991021c60b6bda87134f17e22024ba", name= "eth-node-nimbus-eth2_24.6.0-1.dsc"}, | ||
# disable as it fails day by day, we don't care about this, until the other hashes are the same | ||
# { hash="f0773b315ea03acaaca3d3959877e4d02758a5fd", name= "eth-node-nimbus-eth2_24.3.0.orig.tar.gz"}, | ||
{ hash="2462efd0cc77045dc10f44fb8d40517d12097bb3", name= "eth-node-nimbus-eth2_25.1.0-1.debian.tar.xz"}, | ||
{ hash="d56b27270426f8e470351cf2fb7f63701dfa7c1a", name= "eth-node-nimbus-eth2_25.1.0-1_amd64.deb"}, | ||
] |
83 changes: 83 additions & 0 deletions
83
releases/bookworm/amd64/eth-node-nimbus-eth2/25.1.0-1/pkg-builder.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
[package_fields] | ||
spec_file = "eth-node-nimbus-eth2.sss" | ||
package_name = "eth-node-nimbus-eth2" | ||
version_number = "25.1.0" | ||
revision_number = "1" | ||
homepage = "https://github.com/status-im/nimbus-eth2" | ||
|
||
[package_type] | ||
# virtual | git | default | ||
package_type = "git" | ||
git_url = "https://github.com/status-im/nimbus-eth2.git" | ||
git_tag = "v25.1.0" | ||
submodules = [ | ||
{ "commit" = "73fbb29019c19887235c1da456cfbfd5b4835184", "path" = "vendor/EIPs" }, | ||
{ "commit" = "7721c955b522f4893265bb36a6de4f8edef8b54b", "path" = "vendor/NimYAML" }, | ||
{ "commit" = "0e085cb606e78a495ce8014f9350931bc360e663", "path" = "vendor/gnosis-chain-configs" }, | ||
{ "commit" = "f6761b531dae01e30ca05658d01853415465d1e0", "path" = "vendor/holesky" }, | ||
{ "commit" = "dd91689396a9824ed3c78d0576cf5d854504c25c", "path" = "vendor/mainnet" }, | ||
{ "commit" = "c7683c5a6221605bbab31b53d01feb3a3161bb8b", "path" = "vendor/nim-bearssl" }, | ||
{ "commit" = "3737c9663d26076ed89f011c2688c1b9ee1eb73a", "path" = "vendor/nim-blscurve" }, | ||
{ "commit" = "81a4a7a360c78be9c80c8f735c76b6d4a1517304", "path" = "vendor/nim-chronicles" }, | ||
{ "commit" = "c04576d829b8a0a1b12baaa8bc92037501b3a4a0", "path" = "vendor/nim-chronos" }, | ||
{ "commit" = "e214b3992a31acece6a9aada7d0a1ad37c928f3b", "path" = "vendor/nim-confutils" }, | ||
{ "commit" = "dcfbc4291d39b59563828c3e32be4d51a2f25931", "path" = "vendor/nim-eth" }, | ||
{ "commit" = "1c774c0dad2f9b0072693aa1fa348f6a9e7890d0", "path" = "vendor/nim-eth2-scenarios" }, | ||
{ "commit" = "2b08c774afaafd600cf4c6f994cf78b8aa090c0c", "path" = "vendor/nim-faststreams" }, | ||
{ "commit" = "79cbab1460f4c0cdde2084589d017c43a3d7b4f1", "path" = "vendor/nim-http-utils" }, | ||
{ "commit" = "274372132de497e6b7b793c9d5d5474b71bf80a2", "path" = "vendor/nim-json-rpc" }, | ||
{ "commit" = "6eadb6e939ffa7882ff5437033c11a9464d3385c", "path" = "vendor/nim-json-serialization" }, | ||
{ "commit" = "33d2e9a5d4df1bbf4aca7cf00457bf15b1d657a6", "path" = "vendor/nim-kzg4844" }, | ||
{ "commit" = "6da0cda88ab7780bd5fd342327adb91ab84692aa", "path" = "vendor/nim-libbacktrace" }, | ||
{ "commit" = "b0f83fd48c90224a30679f6079af60767c30f8e1", "path" = "vendor/nim-libp2p" }, | ||
{ "commit" = "25ffd054fd774f8cf7935e75d6cad542306d7802", "path" = "vendor/nim-metrics" }, | ||
{ "commit" = "c35304151ea39077330f225e3837450990d55e48", "path" = "vendor/nim-minilru" }, | ||
{ "commit" = "213ac13dfe5c4830474912c48181b86b73f1ec1f", "path" = "vendor/nim-nat-traversal" }, | ||
{ "commit" = "08caa2a4da40580ed7fe3ce723b3f7feabcca8e5", "path" = "vendor/nim-normalize" }, | ||
{ "commit" = "92b1c7ff141e6920e1f8a98a14c35c1fa098e3be", "path" = "vendor/nim-presto" }, | ||
{ "commit" = "71d404b314479a6205bfd050f4fe5fe49cdafc69", "path" = "vendor/nim-results" }, | ||
{ "commit" = "62e16b4dff513f1eea7148a8cbba8a8c547b9546", "path" = "vendor/nim-secp256k1" }, | ||
{ "commit" = "2086c99608b4bf472e1ef5fe063710f280243396", "path" = "vendor/nim-serialization" }, | ||
{ "commit" = "0c308d34241c9f0764f6d111a0288428ded173bc", "path" = "vendor/nim-snappy" }, | ||
{ "commit" = "cc4fefd538aa43814c5864c540fb75b567c2dcc3", "path" = "vendor/nim-sqlite3-abi" }, | ||
{ "commit" = "d7552018fe2fe1ab1b74a68517caa085a2309622", "path" = "vendor/nim-ssz-serialization" }, | ||
{ "commit" = "79e4fa5a9d3374db17ed63622714d3e1094c7f34", "path" = "vendor/nim-stew" }, | ||
{ "commit" = "1a2c661e3f50ff696b0b6692fab0d7bb2abf10cc", "path" = "vendor/nim-stint" }, | ||
{ "commit" = "7b74a716a40249720fd7da428113147942b9642d", "path" = "vendor/nim-taskpools" }, | ||
{ "commit" = "4d37244f9f5e1acd8592a4ceb5c3fc47bc160181", "path" = "vendor/nim-testutils" }, | ||
{ "commit" = "fea85b27f0badcf617033ca1bc05444b5fd8aa7a", "path" = "vendor/nim-toml-serialization" }, | ||
{ "commit" = "66f2458710dc641dd4640368f9483c8a0ec70561", "path" = "vendor/nim-unicodedb" }, | ||
{ "commit" = "845b6af28b9f68f02d320e03ad18eccccea7ddb9", "path" = "vendor/nim-unittest2" }, | ||
{ "commit" = "a3bc5ad48e2b05fa253ba68bbd5b84e4ea234f50", "path" = "vendor/nim-web3" }, | ||
{ "commit" = "ebe308a79a7b440a11dfbe74f352be86a3883508", "path" = "vendor/nim-websock" }, | ||
{ "commit" = "3f7998095264d262a8d99e2be89045e6d9301537", "path" = "vendor/nim-zlib" }, | ||
{ "commit" = "d827fdc9968a4f06bba587dc38df2b20399f8cf5", "path" = "vendor/nim-zxcvbn" }, | ||
{ "commit" = "dff3634b5d843f9b63425086f1b13245e26b6177", "path" = "vendor/nimbus-benchmarking" }, | ||
{ "commit" = "4c6ff070c116450bb2c285691724ac9e6202cb28", "path" = "vendor/nimbus-build-system" }, | ||
{ "commit" = "ce9945b1b159d4c9b628f8c4cd2d262964692810", "path" = "vendor/nimbus-security-resources" }, | ||
{ "commit" = "dc07e3058c6904eef965394493b6ea99aa2adefc", "path" = "vendor/nimcrypto" }, | ||
{ "commit" = "da5654742513435bdd6dbc5fd033cf593ce57a0f", "path" = "vendor/sepolia" } | ||
] | ||
|
||
|
||
[package_type.language_env] | ||
language_env = "nim" | ||
nim_version = "2.0.6" # according to docs, downgrade nim version to this version | ||
nim_binary_url = "https://nim-lang.org/download/nim-2.0.6-linux_x64.tar.xz" | ||
nim_version_checksum = "4613c18f6c70d14f7fcbcb0c644425699862902ec64d7b785ededaf161815cdc nim-2.0.6-linux_x64.tar.xz" | ||
|
||
|
||
[build_env] | ||
codename = "bookworm" | ||
arch = "amd64" | ||
pkg_builder_version = "0.2.9" | ||
debcrafter_version = "2711b53" | ||
run_lintian = true | ||
run_piuparts = true | ||
run_autopkgtest = true | ||
lintian_version = "2.116.3" | ||
piuparts_version = "1.1.7" | ||
autopkgtest_version = "5.28" | ||
sbuild_version = "0.85.6" | ||
# package directory | ||
workdir = "~/.pkg-builder/packages/bookworm" |
257 changes: 257 additions & 0 deletions
257
...-eth2/25.1.0-1/src/.pc/001-makefile.patch/vendor/nimbus-build-system/makefiles/targets.mk
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,257 @@ | ||
# Copyright (c) 2018-2021 Status Research & Development GmbH. Licensed under | ||
# either of: | ||
# - Apache License, version 2.0 | ||
# - MIT license | ||
# at your option. This file may not be copied, modified, or distributed except | ||
# according to those terms. | ||
|
||
.PHONY: \ | ||
sanity-checks \ | ||
warn-update \ | ||
warn-jobs \ | ||
deps-common \ | ||
build-nim \ | ||
update-test \ | ||
update-common \ | ||
$(NIM_BINARY) \ | ||
update-remote \ | ||
nat-libs \ | ||
libminiupnpc.a \ | ||
libnatpmp.a \ | ||
clean-cross \ | ||
clean-common \ | ||
mrproper \ | ||
github-ssh \ | ||
status \ | ||
ntags \ | ||
ctags \ | ||
show-deps \ | ||
fetch-dlls | ||
|
||
#- when the special ".SILENT" target is present, all recipes are silenced as if they all had a "@" prefix | ||
#- by setting SILENT_TARGET_PREFIX to a non-empty value, the name of this target becomes meaningless to `make` | ||
#- idea stolen from http://make.mad-scientist.net/managing-recipe-echoing/ | ||
$(SILENT_TARGET_PREFIX).SILENT: | ||
|
||
# dir | ||
build: | ||
mkdir -p $@ | ||
|
||
sanity-checks: | ||
which $(CC) &>/dev/null || { echo "C compiler ($(CC)) not installed. Aborting."; exit 1; } | ||
|
||
#- check if "make update" was executed | ||
warn-update: | ||
if [[ -e $(UPDATE_TIMESTAMP) ]]; then \ | ||
if [[ $$(cat $(UPDATE_TIMESTAMP)) -ne $$($(GET_CURRENT_COMMIT_TIMESTAMP)) ]]; then \ | ||
echo -e "\nWarning: to ensure you are building in a supported repo state, please always run \"$$(basename "$(MAKE)") update\" after \"git pull\"\n(it looks like you've forgotten to do this).\nThis also applies whenever you switch to a new branch or commit, e.g.: whenever you run \"git checkout ...\".\n"; \ | ||
fi; \ | ||
fi | ||
|
||
#- check if we're enabling multiple jobs - https://stackoverflow.com/a/48865939 | ||
warn-jobs: | ||
+ if [[ ! "${MAKEFLAGS}" =~ --jobserver[^=]+= ]]; then \ | ||
NPROC=$$($(NPROC_CMD)); \ | ||
if [[ $${NPROC} -gt 1 ]]; then \ | ||
echo -e "\nTip of the day: this will probably build faster if you use \"$$(basename "$(MAKE)") -j$${NPROC} ...\".\n"; \ | ||
fi; \ | ||
fi | ||
|
||
nimbus-build-system-paths: | ||
echo "Creating nimbus-build-system.paths"; \ | ||
TOP_LEVEL_DIR="$(CURDIR)" "$(CURDIR)/$(BUILD_SYSTEM_DIR)/scripts/create_nbs_paths.sh" | ||
|
||
deps-common: | sanity-checks warn-update warn-jobs $(NIMBLE_DIR) | ||
# - don't build our Nim target if it's not going to be used | ||
ifeq ($(USE_SYSTEM_NIM), 0) | ||
deps-common: $(NIM_BINARY) | ||
endif | ||
|
||
#- conditionally re-builds the Nim compiler (not usually needed, because `make update` calls this rule; delete $(NIM_BINARY) to force it) | ||
#- allows parallel building with the '+' prefix | ||
#- handles the case where NIM_COMMIT was previously used to build a non-default compiler | ||
#- forces a rebuild of csources, Nimble and a complete compiler rebuild, in case we're called after pulling a new Nim version | ||
#- uses our Git submodules for csources and Nimble (Git doesn't let us place them in another submodule) | ||
#- build_all.sh looks at the parent dir to decide whether to copy the resulting csources binary there, | ||
# but this is broken when using symlinks, so build csources separately (we get parallel compiling as a bonus) | ||
#- Windows is a special case, as usual | ||
#- macOS is also a special case, with its "ln" not supporting "-r" | ||
#- the AppVeyor 32-bit build is done on a 64-bit image, so we need to override the architecture detection with ARCH_OVERRIDE | ||
build-nim: | sanity-checks | ||
+ if [[ -z "$(NIM_COMMIT)" ]]; then git submodule update --init --recursive "$(BUILD_SYSTEM_DIR)"; fi; \ | ||
NIM_BUILD_MSG="$(BUILD_MSG) Nim compiler" \ | ||
V=$(V) \ | ||
CC=$(CC) \ | ||
MAKE="$(MAKE)" \ | ||
ARCH_OVERRIDE=$(ARCH_OVERRIDE) \ | ||
QUICK_AND_DIRTY_COMPILER=$(QUICK_AND_DIRTY_COMPILER) \ | ||
"$(CURDIR)/$(BUILD_SYSTEM_DIR)/scripts/build_nim.sh" "$(NIM_DIR)" ../Nim-csources ../nimble "$(CI_CACHE)" | ||
|
||
# Check if the update might cause loss of work. Abort, if so, while allowing an override mechanism. | ||
update-test: | ||
TEE_TO_TTY="cat"; if bash -c ": >/dev/tty" &>/dev/null; then TEE_TO_TTY="tee /dev/tty"; fi; \ | ||
COMMAND="git status --short --untracked-files=no --ignore-submodules=untracked"; \ | ||
LINES=$$({ $${COMMAND} | grep 'vendor' && echo ^---top level || true; git submodule foreach --recursive --quiet "$${COMMAND} | grep . && echo ^---\$$name || true"; } | $${TEE_TO_TTY} | wc -l); \ | ||
if [[ "$${LINES}" -ne "0" && "$(OVERRIDE)" != "1" ]]; then echo -e "\nYou have uncommitted local changes which might be overwritten by the update. Aborting.\nIf you know better, you can use the 'update' target instead of 'update-dev'.\n"; exit 1; fi | ||
|
||
#- for each submodule, delete checked out files (that might prevent a fresh checkout); skip dotfiles | ||
#- in case of submodule URL changes, propagates that change in the parent repo's .git directory | ||
#- initialises and updates the Git submodules | ||
#- hard-resets the working copies of submodules | ||
#- deletes "nimcache" directories | ||
#- updates ".update.timestamp" | ||
#- deletes the ".nimble" dir and executes the "deps" target | ||
#- allows parallel building with the '+' prefix | ||
#- rebuilds the Nim compiler if the corresponding submodule is updated | ||
update-common: | sanity-checks update-test | ||
git submodule foreach --quiet 'git ls-files --exclude-standard --recurse-submodules -z -- ":!:.*" | xargs -0 rm -rf' | ||
git $(GIT_SUBMODULE_CONFIG) submodule update --init --recursive || true | ||
# changing URLs in a submodule's submodule means we have to sync and update twice | ||
git submodule sync --quiet --recursive | ||
git $(GIT_SUBMODULE_CONFIG) submodule update --init --recursive | ||
git submodule foreach --quiet --recursive 'git $(GIT_SUBMODULE_CONFIG) reset --quiet --hard' | ||
find . -type d -name nimcache -print0 | xargs -0 rm -rf | ||
$(GET_CURRENT_COMMIT_TIMESTAMP) > $(UPDATE_TIMESTAMP) | ||
rm -rf $(NIMBLE_DIR) | ||
+ "$(MAKE)" --no-print-directory deps-common | ||
|
||
# supposed to be used by developers, instead of "update", to avoid losing submodule work | ||
update-dev: | ||
+ "$(MAKE)" OVERRIDE=0 update | ||
|
||
#- rebuilds the Nim compiler if the corresponding submodule is updated | ||
$(NIM_BINARY): | sanity-checks | ||
+ "$(MAKE)" --no-print-directory build-nim | ||
|
||
# don't use this target, or you risk updating dependency repos that are not ready to be used in Nimbus | ||
update-remote: | ||
git submodule update --remote | ||
|
||
nat-libs: | libminiupnpc.a libnatpmp.a | ||
|
||
libminiupnpc.a: | sanity-checks | ||
ifeq ($(OS), Windows_NT) | ||
+ [ -e vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc/$@ ] || \ | ||
PATH=".;$${PATH}" "$(MAKE)" -C vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc -f Makefile.mingw CC=$(CC) CFLAGS="-Os -fPIC" $@ $(HANDLE_OUTPUT) | ||
else | ||
+ "$(MAKE)" -C vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc CC=$(CC) CFLAGS="-Os -fPIC" build/$@ $(HANDLE_OUTPUT) | ||
endif | ||
|
||
libnatpmp.a: | sanity-checks | ||
ifeq ($(OS), Windows_NT) | ||
+ "$(MAKE)" -C vendor/nim-nat-traversal/vendor/libnatpmp-upstream OS=mingw CC=$(CC) CFLAGS="-Wall -Wno-cpp -Os -fPIC -DWIN32 -DNATPMP_STATICLIB -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 $(CFLAGS)" $@ $(HANDLE_OUTPUT) | ||
else | ||
+ "$(MAKE)" CFLAGS="-Wall -Wno-cpp -Os -fPIC -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 $(CFLAGS)" -C vendor/nim-nat-traversal/vendor/libnatpmp-upstream CC=$(CC) $@ $(HANDLE_OUTPUT) | ||
endif | ||
|
||
#- depends on Git submodules being initialised | ||
#- fakes a Nimble package repository with the minimum info needed by the Nim compiler | ||
# for runtime path (i.e.: the second line in $(NIMBLE_DIR)/pkgs/*/*.nimble-link) | ||
$(NIMBLE_DIR): | ||
mkdir -p $(NIMBLE_DIR)/pkgs | ||
NIMBLE_DIR="$(CURDIR)/$(NIMBLE_DIR)" PWD_CMD="$(PWD)" EXCLUDED_NIM_PACKAGES="$(EXCLUDED_NIM_PACKAGES)" \ | ||
git submodule foreach --recursive --quiet '"$(CURDIR)/$(BUILD_SYSTEM_DIR)/scripts/create_nimble_link.sh" "$$sm_path"' | ||
|
||
clean-cross: | ||
+ [[ -e vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc ]] && "$(MAKE)" -C vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc CC=$(CC) clean $(HANDLE_OUTPUT) || true | ||
+ [[ -e vendor/nim-nat-traversal/vendor/libnatpmp-upstream ]] && "$(MAKE)" -C vendor/nim-nat-traversal/vendor/libnatpmp-upstream CC=$(CC) clean $(HANDLE_OUTPUT) || true | ||
|
||
clean-common: clean-cross | ||
rm -rf build/{*.exe,*.so,*.so.0} $(NIMBLE_DIR) $(NIM_BINARY) $(NIM_DIR)/bin/{timestamp,last_built_commit,nim_commit_*} $(NIM_DIR)/nimcache nimcache | ||
|
||
# dangerous cleaning, because you may have not-yet-pushed branches and commits in those vendor repos you're about to delete | ||
mrproper: clean | ||
rm -rf vendor | ||
|
||
# for when you want to use SSH keys with GitHub | ||
github-ssh: | ||
git config url."[email protected]:".insteadOf "https://github.com/" | ||
git submodule foreach --recursive 'git config url."[email protected]:".insteadOf "https://github.com/"' | ||
|
||
# runs `git status` in all Git repos | ||
status: | $(REPOS) | ||
$(eval CMD := $(GIT_STATUS)) | ||
$(RUN_CMD_IN_ALL_REPOS) | ||
|
||
# https://bitbucket.org/nimcontrib/ntags/ - currently fails with "out of memory" | ||
ntags: | ||
ntags -R . | ||
|
||
#- a few files need to be excluded because they trigger an infinite loop in https://github.com/universal-ctags/ctags | ||
#- limiting it to Nim files, because there are a lot of C files we don't care about | ||
ctags: | ||
ctags -R --verbose=yes \ | ||
--langdef=nim \ | ||
--langmap=nim:.nim \ | ||
--regex-nim='/(\w+)\*?\s*=\s*object/\1/c,class/' \ | ||
--regex-nim='/(\w+)\*?\s*=\s*enum/\1/e,enum/' \ | ||
--regex-nim='/(\w+)\*?\s*=\s*tuple/\1/t,tuple/' \ | ||
--regex-nim='/(\w+)\*?\s*=\s*range/\1/s,subrange/' \ | ||
--regex-nim='/(\w+)\*?\s*=\s*proc/\1/p,proctype/' \ | ||
--regex-nim='/proc\s+(\w+)/\1/f,procedure/' \ | ||
--regex-nim='/func\s+(\w+)/\1/f,procedure/' \ | ||
--regex-nim='/method\s+(\w+)/\1/m,method/' \ | ||
--regex-nim='/proc\s+`([^`]+)`/\1/o,operator/' \ | ||
--regex-nim='/template\s+(\w+)/\1/u,template/' \ | ||
--regex-nim='/macro\s+(\w+)/\1/v,macro/' \ | ||
--languages=nim \ | ||
--exclude=nimcache \ | ||
--exclude='*/Nim/tinyc' \ | ||
--exclude='*/Nim/tests' \ | ||
--exclude='*/Nim/csources' \ | ||
--exclude=nimbus/genesis_alloc.nim \ | ||
--exclude=$(REPOS_DIR)/nim-bncurve/tests/tvectors.nim \ | ||
. | ||
|
||
# list all Git submodule URLs and commit hashes, including the nested ones | ||
show-deps: | ||
{ "$(CURDIR)/$(BUILD_SYSTEM_DIR)/scripts/git_show_deps.sh" ;\ | ||
git submodule foreach --quiet --recursive "$(CURDIR)/$(BUILD_SYSTEM_DIR)/scripts/git_show_deps.sh"; } \ | ||
| sort -u | ||
|
||
############################ | ||
# Windows-specific section # | ||
############################ | ||
|
||
ifeq ($(OS), Windows_NT) | ||
# no tabs allowed for indentation here | ||
|
||
# the AppVeyor 32-bit build is done on a 64-bit image, so we need to override the architecture detection | ||
ifeq ($(ARCH_OVERRIDE), x86) | ||
ARCH := x86 | ||
else | ||
ifeq ($(PROCESSOR_ARCHITEW6432), AMD64) | ||
ARCH := x64 | ||
else | ||
ifeq ($(PROCESSOR_ARCHITECTURE), AMD64) | ||
ARCH := x64 | ||
endif | ||
ifeq ($(PROCESSOR_ARCHITECTURE), x86) | ||
ARCH := x86 | ||
endif | ||
endif | ||
endif | ||
|
||
ifeq ($(ARCH), x86) | ||
ROCKSDB_DIR := x86 | ||
endif | ||
ifeq ($(ARCH), x64) | ||
ROCKSDB_DIR := x64 | ||
endif | ||
|
||
ROCKSDB_ARCHIVE := nimbus-deps.zip | ||
ROCKSDB_URL := https://github.com/status-im/nimbus-deps/releases/download/rocksdb-9.1.0/$(ROCKSDB_ARCHIVE) | ||
CURL := curl -O -L | ||
UNZIP := unzip -o | ||
|
||
#- back to tabs | ||
#- copied from .appveyor.yml | ||
#- this is why we can't delete the whole "build" dir in the "clean" target | ||
fetch-dlls: | build | ||
cd build && \ | ||
$(CURL) $(ROCKSDB_URL) && \ | ||
$(CURL) https://nim-lang.org/download/dlls.zip && \ | ||
$(UNZIP) $(ROCKSDB_ARCHIVE) && \ | ||
cp -a $(ROCKSDB_DIR)/*.dll . && \ | ||
$(UNZIP) dlls.zip | ||
endif |
Oops, something went wrong.