mirror of
https://github.com/logos-messaging/nim-chat-poc.git
synced 2026-01-02 14:13:10 +00:00
some adaptations for n-b-s
This commit is contained in:
parent
0743ea467f
commit
59c9c920be
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@
|
||||
/waku_vibe_template.dSYM
|
||||
/nim_chat_poc
|
||||
*.dSYM
|
||||
nimble.develop
|
||||
nimble.paths
|
||||
|
||||
20
.gitmodules
vendored
20
.gitmodules
vendored
@ -6,3 +6,23 @@
|
||||
url = https://github.com/waku-org/nwaku.git
|
||||
ignore = untracked
|
||||
branch = master
|
||||
[submodule "vendor/nim-chronos"]
|
||||
path = vendor/nim-chronos
|
||||
url = https://github.com/status-im/nim-chronos.git
|
||||
ignore = untracked
|
||||
branch = master
|
||||
[submodule "vendor/nim-chronicles"]
|
||||
path = vendor/nim-chronicles
|
||||
url = https://github.com/status-im/nim-chronicles.git
|
||||
ignore = untracked
|
||||
branch = master
|
||||
[submodule "vendor/nim-metrics"]
|
||||
path = vendor/nim-metrics
|
||||
url = https://github.com/status-im/nim-metrics.git
|
||||
ignore = untracked
|
||||
branch = master
|
||||
[submodule "vendor/nim-libp2p"]
|
||||
path = vendor/nim-libp2p
|
||||
url = https://github.com/status-im/nim-libp2p.git
|
||||
ignore = untracked
|
||||
branch = master
|
||||
|
||||
77
Makefile
Normal file
77
Makefile
Normal file
@ -0,0 +1,77 @@
|
||||
export BUILD_SYSTEM_DIR := vendor/nimbus-build-system
|
||||
export EXCLUDED_NIM_PACKAGES := vendor/nim-dnsdisc/vendor
|
||||
LINK_PCRE := 0
|
||||
FORMAT_MSG := "\\x1B[95mFormatting:\\x1B[39m"
|
||||
# we don't want an error here, so we can handle things later, in the ".DEFAULT" target
|
||||
-include $(BUILD_SYSTEM_DIR)/makefiles/variables.mk
|
||||
|
||||
ifeq ($(NIM_PARAMS),)
|
||||
# "variables.mk" was not included, so we update the submodules.
|
||||
GIT_SUBMODULE_UPDATE := git submodule update --init --recursive
|
||||
.DEFAULT:
|
||||
+@ echo -e "Git submodules not found. Running '$(GIT_SUBMODULE_UPDATE)'.\n"; \
|
||||
$(GIT_SUBMODULE_UPDATE); \
|
||||
echo
|
||||
# Now that the included *.mk files appeared, and are newer than this file, Make will restart itself:
|
||||
# https://www.gnu.org/software/make/manual/make.html#Remaking-Makefiles
|
||||
#
|
||||
# After restarting, it will execute its original goal, so we don't have to start a child Make here
|
||||
# with "$(MAKE) $(MAKECMDGOALS)". Isn't hidden control flow great?
|
||||
|
||||
else # "variables.mk" was included. Business as usual until the end of this file.
|
||||
|
||||
##########
|
||||
## Main ##
|
||||
##########
|
||||
.PHONY: all update clean
|
||||
|
||||
# default target, because it's the first one that doesn't start with '.'
|
||||
all: | waku_example
|
||||
|
||||
test_file := $(word 2,$(MAKECMDGOALS))
|
||||
define test_name
|
||||
$(shell echo '$(MAKECMDGOALS)' | cut -d' ' -f3-)
|
||||
endef
|
||||
|
||||
nim_chat_poc.nims:
|
||||
ln -s nim_chat_poc.nimble $@
|
||||
|
||||
update: | update-common
|
||||
rm -rf nim_chat_poc.nims && \
|
||||
$(MAKE) nim_chat_poc.nims $(HANDLE_OUTPUT)
|
||||
|
||||
clean:
|
||||
rm -rf build
|
||||
|
||||
# must be included after the default target
|
||||
-include $(BUILD_SYSTEM_DIR)/makefiles/targets.mk
|
||||
|
||||
## Possible values: prod; debug
|
||||
TARGET ?= prod
|
||||
|
||||
## Git version
|
||||
GIT_VERSION ?= $(shell git describe --abbrev=6 --always --tags)
|
||||
## Compilation parameters. If defined in the CLI the assignments won't be executed
|
||||
NIM_PARAMS := $(NIM_PARAMS) -d:git_version=\"$(GIT_VERSION)\"
|
||||
|
||||
##################
|
||||
## Dependencies ##
|
||||
##################
|
||||
.PHONY: build-waku-librln
|
||||
|
||||
build-waku-librln:
|
||||
make -C vendor/nwaku librln
|
||||
|
||||
##########
|
||||
## Example ##
|
||||
##########
|
||||
.PHONY: waku_example
|
||||
|
||||
waku_example: | build-waku-librln nim_chat_poc.nims
|
||||
echo -e $(BUILD_MSG) "build/$@" && \
|
||||
\
|
||||
$(ENV_SCRIPT) nim waku_example $(NIM_PARAMS) nim_chat_poc.nims
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
echo "Running setup task..."
|
||||
|
||||
echo "Init Submodules..."
|
||||
git submodule update --init --recursive
|
||||
|
||||
echo "Building Waku..."
|
||||
( cd vendor/waku && make -j14 librln)
|
||||
16
nim.cfg
16
nim.cfg
@ -1,16 +0,0 @@
|
||||
# Add custom paths to import modules
|
||||
--path: "vendor/waku"
|
||||
|
||||
# Compile with debug symbols
|
||||
--debuginfo
|
||||
|
||||
# Enable warnings
|
||||
--warning[UnusedImport]: on
|
||||
|
||||
# Enable experimental features
|
||||
--experimental
|
||||
|
||||
--passL: "./vendor/waku/librln_v0.7.0.a"
|
||||
|
||||
--define: chronicles_runtime_filtering
|
||||
|
||||
@ -1,17 +1,11 @@
|
||||
# Package
|
||||
|
||||
version = "0.1.0"
|
||||
author = "jazzz"
|
||||
description = "An example of the chat sdk in Nim"
|
||||
license = "MIT"
|
||||
srcDir = "src"
|
||||
bin = @["nim_chat_poc"]
|
||||
|
||||
|
||||
# Basic build task
|
||||
task initialize, "Initialize the project after cloning":
|
||||
exec "./initialize.sh"
|
||||
|
||||
version = "0.1.0"
|
||||
author = "jazzz"
|
||||
description = "An example of the chat sdk in Nim"
|
||||
license = "MIT"
|
||||
srcDir = "src"
|
||||
bin = @["nim_chat_poc"]
|
||||
|
||||
# Dependencies
|
||||
|
||||
@ -28,3 +22,19 @@ requires "eth"
|
||||
requires "regex"
|
||||
requires "web3"
|
||||
requires "https://github.com/jazzz/nim-sds#exports"
|
||||
requires "naawaku"
|
||||
|
||||
proc buildBinary(name: string, srcDir = "./", params = "", lang = "c") =
|
||||
if not dirExists "build":
|
||||
mkDir "build"
|
||||
# allow something like "nim nimbus --verbosity:0 --hints:off nimbus.nims"
|
||||
var extra_params = params
|
||||
for i in 2 ..< paramCount():
|
||||
extra_params &= " " & paramStr(i)
|
||||
|
||||
exec "nim " & lang & " --out:build/" & name & " --mm:refc " & extra_params & " " &
|
||||
srcDir & name & ".nim"
|
||||
|
||||
task waku_example, "Build Waku based simple example":
|
||||
let name = "waku_example"
|
||||
buildBinary name, "examples/", " -d:chronicles_log_level='TRACE' "
|
||||
|
||||
1
vendor/nim-chronicles
vendored
Submodule
1
vendor/nim-chronicles
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 67da11265f8defa5b2c7d2f17ab5b1637c6a1d41
|
||||
1
vendor/nim-chronos
vendored
Submodule
1
vendor/nim-chronos
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit bb0a8f07bcff3fb79b20720e4bb286fccedae93a
|
||||
1
vendor/nim-libp2p
vendored
Submodule
1
vendor/nim-libp2p
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 3103db25cce2c5553b2b8b83b8e442168b4a3f88
|
||||
1
vendor/nim-metrics
vendored
Submodule
1
vendor/nim-metrics
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit ecf64c6078d1276d3b7d9b3d931fbdb70004db11
|
||||
Loading…
x
Reference in New Issue
Block a user