* [Buildroot] [PATCH 0/4] Initial support to blockchain clients
@ 2018-09-28 13:59 Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 1/4] host-go-glide: new package Fabio Urquiza
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Fabio Urquiza @ 2018-09-28 13:59 UTC (permalink / raw)
To: buildroot
This set of patches is the first one of a serie that will provide buildroot
with several blockchain clients. The first ones that will be added are three
bitcoin clients:
- Bitcoin Core (C++ based client)
- BTCD (Goland based client)
- Neutrino (Goland based lightweight client)
In order to build the Golang clients, a dependency resolving tool needed to
be added (Glide), and Go host building support needed to be implemented.
Next patches of the serie shall add suport to lighting network and Etherium
clients.
Fabio Urquiza (4):
host-go-glide: new package
bitcoin: new package
btcd: new package
neutrino: new package
package/Config.in | 6 ++++++
package/Config.in.host | 1 +
package/bitcoin/Config.in | 26 ++++++++++++++++++++++++++
package/bitcoin/bitcoin.hash | 3 +++
package/bitcoin/bitcoin.mk | 17 +++++++++++++++++
package/btcd/Config.in | 10 ++++++++++
package/btcd/btcd.hash | 3 +++
package/btcd/btcd.mk | 15 +++++++++++++++
package/go-glide/Config.in.host | 12 ++++++++++++
package/go-glide/go-glide.hash | 3 +++
package/go-glide/go-glide.mk | 14 ++++++++++++++
package/neutrino/Config.in | 13 +++++++++++++
package/neutrino/neutrino.hash | 3 +++
package/neutrino/neutrino.mk | 14 ++++++++++++++
package/pkg-golang.mk | 36 ++++++++++++++++++++++++++++++++----
15 files changed, 172 insertions(+), 4 deletions(-)
create mode 100644 package/bitcoin/Config.in
create mode 100644 package/bitcoin/bitcoin.hash
create mode 100644 package/bitcoin/bitcoin.mk
create mode 100644 package/btcd/Config.in
create mode 100644 package/btcd/btcd.hash
create mode 100644 package/btcd/btcd.mk
create mode 100644 package/go-glide/Config.in.host
create mode 100644 package/go-glide/go-glide.hash
create mode 100644 package/go-glide/go-glide.mk
create mode 100644 package/neutrino/Config.in
create mode 100644 package/neutrino/neutrino.hash
create mode 100644 package/neutrino/neutrino.mk
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/4] host-go-glide: new package
2018-09-28 13:59 [Buildroot] [PATCH 0/4] Initial support to blockchain clients Fabio Urquiza
@ 2018-09-28 13:59 ` Fabio Urquiza
2019-08-03 14:33 ` Yann E. MORIN
2018-09-28 13:59 ` [Buildroot] [PATCH 2/4] bitcoin: " Fabio Urquiza
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Fabio Urquiza @ 2018-09-28 13:59 UTC (permalink / raw)
To: buildroot
From: Fabio Urquiza <flus@dmz.org.br>
A package management for Golang.
Signed-off-by: Fabio Urquiza <fabiorush@gmail.com>
---
package/Config.in.host | 1 +
package/go-glide/Config.in.host | 12 ++++++++++++
package/go-glide/go-glide.hash | 3 +++
package/go-glide/go-glide.mk | 14 ++++++++++++++
package/pkg-golang.mk | 36 ++++++++++++++++++++++++++++++++----
5 files changed, 62 insertions(+), 4 deletions(-)
create mode 100644 package/go-glide/Config.in.host
create mode 100644 package/go-glide/go-glide.hash
create mode 100644 package/go-glide/go-glide.mk
diff --git a/package/Config.in.host b/package/Config.in.host
index 3a3578c..e8b6019 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -24,6 +24,7 @@ menu "Host utilities"
source "package/gnupg/Config.in.host"
source "package/go/Config.in.host"
source "package/go-bootstrap/Config.in.host"
+ source "package/go-glide/Config.in.host"
source "package/google-breakpad/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imx-mkimage/Config.in.host"
diff --git a/package/go-glide/Config.in.host b/package/go-glide/Config.in.host
new file mode 100644
index 0000000..5d085f9
--- /dev/null
+++ b/package/go-glide/Config.in.host
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_HOST_GO_GLIDE
+ bool "host glide"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ help
+ Glide is a tool for managing the _vendor_ directory within a Go
+ package. This feature, first introduced in Go 1.5, allows each
+ package to have a _vendor_ directory containing dependent
+ packages for the project. These vendor packages can be
+ installed by a tool (e.g. glide), similar to go get or they
+ can be vendored and distributed with the package.
+
+ https://github.com/Masterminds/glide
diff --git a/package/go-glide/go-glide.hash b/package/go-glide/go-glide.hash
new file mode 100644
index 0000000..856a0f7
--- /dev/null
+++ b/package/go-glide/go-glide.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 0886851af2437b161d47b279a32bef426577e7bec3f5acdadebe34549aae8270 go-glide-v0.13.2.tar.gz
+sha256 ff505b08691ce248f27dfe94d605419e6514c8b60912c7f4188a3e3168ad338f LICENSE
diff --git a/package/go-glide/go-glide.mk b/package/go-glide/go-glide.mk
new file mode 100644
index 0000000..f3eecc1
--- /dev/null
+++ b/package/go-glide/go-glide.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# glide
+#
+################################################################################
+
+GO_GLIDE_VERSION = v0.13.2
+GO_GLIDE_SITE = $(call github,Masterminds,glide,$(GO_GLIDE_VERSION))
+GO_GLIDE_LICENSE = Glide
+GO_GLIDE_LICENSE_FILES = LICENSE
+HOST_GO_GLIDE_BIN_NAME = glide
+HOST_GO_GLIDE_INSTALL_BINS = glide
+
+$(eval $(host-golang-package))
diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk
index 6eacd14..6405edf 100644
--- a/package/pkg-golang.mk
+++ b/package/pkg-golang.mk
@@ -22,6 +22,7 @@
################################################################################
GO_BIN = $(HOST_DIR)/bin/go
+GLIDE_BIN = $(HOST_DIR)/bin/glide
# We pass an empty GOBIN, otherwise "go install: cannot install
# cross-compiled binaries when GOBIN is set"
@@ -31,6 +32,15 @@ GO_TARGET_ENV = \
GOBIN= \
CGO_ENABLED=$(HOST_GO_CGO_ENABLED)
+GO_HOST_ENV = \
+ GOROOT="$(HOST_GO_ROOT)" \
+ CC="$(HOSTCC_NOCCACHE)" \
+ CXX="$(HOSTCXX_NOCCACHE)" \
+ GOTOOLDIR="$(HOST_GO_TOOLDIR)" \
+ PATH=$(BR_PATH) \
+ GOBIN= \
+ CGO_ENABLED=$(HOST_GO_CGO_ENABLED)
+
################################################################################
# inner-golang-package -- defines how the configuration, compilation and
# installation of a Go package should be done, implements a few hooks to tune
@@ -43,8 +53,6 @@ GO_TARGET_ENV = \
# argument 3 is the uppercase package name, without the HOST_ prefix for host
# packages
# argument 4 is the type (target or host)
-#
-# NOTE Only type target is supported at the moment
################################################################################
define inner-golang-package
@@ -61,6 +69,14 @@ $(2)_BUILD_OPTS += -tags "$$($(2)_TAGS)"
# Target packages need the Go compiler on the host.
$(2)_DEPENDENCIES += host-go
+$(2)_GO_GET ?= NO
+$(2)_GO_GLIDE ?= NO
+
+ifeq ($($(2)_GO_GLIDE),YES)
+$(2)_DEPENDENCIES += host-go-glide
+endif
+
+
$(2)_BUILD_TARGETS ?= .
# If the build target is just ".", then we assume the binary to be
@@ -97,11 +113,14 @@ endif
# file.
ifndef $(2)_BUILD_CMDS
define $(2)_BUILD_CMDS
+ echo $$($(2)_DEPENDENCIES)
$$(foreach d,$$($(2)_BUILD_TARGETS),\
cd $$($(2)_SRC_PATH); \
- $$(GO_TARGET_ENV) \
+ export $(if $(findstring $(4),target),$$(GO_TARGET_ENV),$$(GO_HOST_ENV)) \
GOPATH="$$(@D)/$$($(2)_WORKSPACE)" \
- $$($(2)_GO_ENV) \
+ $$($(2)_GO_ENV) && \
+ $(if $(findstring $($(2)_GO_GLIDE),YES),$$(GLIDE_BIN) install &&) \
+ $(if $(findstring $($(2)_GO_GET),YES),$$(GO_BIN) get -d &&) \
$$(GO_BIN) build -v $$($(2)_BUILD_OPTS) \
-o $$(@D)/bin/$$(or $$($(2)_BIN_NAME),$$(notdir $$(d))) \
./$$(d)
@@ -119,6 +138,14 @@ define $(2)_INSTALL_TARGET_CMDS
endef
endif
+ifndef $(2)_INSTALL_CMDS
+define $(2)_INSTALL_CMDS
+ $$(foreach d,$$($(2)_INSTALL_BINS),\
+ $(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $(HOST_DIR)/usr/bin/$$(d)
+ )
+endef
+endif
+
# Call the generic package infrastructure to generate the necessary make
# targets
$(call inner-generic-package,$(1),$(2),$(3),$(4))
@@ -130,3 +157,4 @@ endef # inner-golang-package
################################################################################
golang-package = $(call inner-golang-package,$(pkgname),$(call UPPERCASE,$(pkgname)),$(call UPPERCASE,$(pkgname)),target)
+host-golang-package = $(call inner-golang-package,host-$(pkgname),$(call UPPERCASE,host-$(pkgname)),$(call UPPERCASE,$(pkgname)),host)
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/4] bitcoin: new package
2018-09-28 13:59 [Buildroot] [PATCH 0/4] Initial support to blockchain clients Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 1/4] host-go-glide: new package Fabio Urquiza
@ 2018-09-28 13:59 ` Fabio Urquiza
2019-08-03 17:19 ` Thomas Petazzoni
2018-09-28 13:59 ` [Buildroot] [PATCH 3/4] btcd: " Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 4/4] neutrino: " Fabio Urquiza
3 siblings, 1 reply; 8+ messages in thread
From: Fabio Urquiza @ 2018-09-28 13:59 UTC (permalink / raw)
To: buildroot
Bitcoin Core is an open source project which maintains and releases Bitcoin
client software called ?Bitcoin Core?.
Signed-off-by: Fabio Urquiza <fabiorush@gmail.com>
---
package/Config.in | 4 ++++
package/bitcoin/Config.in | 26 ++++++++++++++++++++++++++
package/bitcoin/bitcoin.hash | 3 +++
package/bitcoin/bitcoin.mk | 17 +++++++++++++++++
4 files changed, 50 insertions(+)
create mode 100644 package/bitcoin/Config.in
create mode 100644 package/bitcoin/bitcoin.hash
create mode 100644 package/bitcoin/bitcoin.mk
diff --git a/package/Config.in b/package/Config.in
index 2810d04..796383a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1971,6 +1971,10 @@ endif
source "package/xtables-addons/Config.in"
source "package/znc/Config.in"
+menu "Blockchain Applications"
+ source "package/bitcoin/Config.in"
+endmenu
+
endmenu
menu "Package managers"
diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
new file mode 100644
index 0000000..cef0e73
--- /dev/null
+++ b/package/bitcoin/Config.in
@@ -0,0 +1,26 @@
+config BR2_PACKAGE_BITCOIN
+ bool "bitcoin"
+ select BR2_TOOLCHAIN_BUILDROOT_USE_SSP
+ select BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_BOOST
+ select BR2_PACKAGE_BOOST_SYSTEM
+ select BR2_PACKAGE_BOOST_FILESYSTEM
+ select BR2_PACKAGE_BOOST_THREAD
+ select BR2_PACKAGE_BOOST_CHRONO
+ select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_LIBEVENT
+ help
+ Bitcoin Core is an open source project which maintains and
+ releases Bitcoin client software called ?Bitcoin Core?.
+
+ It is a direct descendant of the original Bitcoin software
+ client released by Satoshi Nakamoto after he published the
+ famous Bitcoin whitepaper.
+
+ Bitcoin Core consists of both ?full-node? software for fully
+ validating the blockchain as well as a bitcoin wallet. The
+ project also currently maintains related software such as the
+ cryptography library libsecp256k1 and others located at GitHub.
+
+ https://bitcoincore.org
diff --git a/package/bitcoin/bitcoin.hash b/package/bitcoin/bitcoin.hash
new file mode 100644
index 0000000..96edd22
--- /dev/null
+++ b/package/bitcoin/bitcoin.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c8557b6df5f5cdf67b3ddf6fe501cfc6e0be698f175f16927dd08d6040df7d9f bitcoin-v0.16.3.tar.gz
+sha256 70223369f70e8cb550e75aa74eb86bfa5220fb09c0ba0549d91c36587d15d1a0 COPYING
diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk
new file mode 100644
index 0000000..58ed17b
--- /dev/null
+++ b/package/bitcoin/bitcoin.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# bitcoin
+#
+################################################################################
+
+BITCOIN_VERSION = v0.16.3
+BITCOIN_SITE = $(call github,bitcoin,bitcoin,$(BITCOIN_VERSION))
+BITCOIN_AUTORECONF = YES
+BITCOIN_LICENSE = MIT
+BITCOIN_LICENSE_FILES = COPYING
+BITCOIN_CONF_OPTS = --disable-wallet --disable-tests
+BITCOIN_CONF_OPTS += --with-sysroot=$(STAGING_DIR)
+BITCOIN_CONF_OPTS += --with-boost-libdir=$(STAGING_DIR)/usr/lib/
+BITCOIN_DEPENDENCIES = boost openssl libevent
+
+$(eval $(autotools-package))
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/4] btcd: new package
2018-09-28 13:59 [Buildroot] [PATCH 0/4] Initial support to blockchain clients Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 1/4] host-go-glide: new package Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 2/4] bitcoin: " Fabio Urquiza
@ 2018-09-28 13:59 ` Fabio Urquiza
2018-10-12 16:09 ` Adam Duskett
2018-09-28 13:59 ` [Buildroot] [PATCH 4/4] neutrino: " Fabio Urquiza
3 siblings, 1 reply; 8+ messages in thread
From: Fabio Urquiza @ 2018-09-28 13:59 UTC (permalink / raw)
To: buildroot
An alternative full node bitcoin implementation written in Go (golang).
Signed-off-by: Fabio Urquiza <fabiorush@gmail.com>
---
package/Config.in | 1 +
package/btcd/Config.in | 10 ++++++++++
package/btcd/btcd.hash | 3 +++
package/btcd/btcd.mk | 15 +++++++++++++++
4 files changed, 29 insertions(+)
create mode 100644 package/btcd/Config.in
create mode 100644 package/btcd/btcd.hash
create mode 100644 package/btcd/btcd.mk
diff --git a/package/Config.in b/package/Config.in
index 796383a..6a74a80 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1973,6 +1973,7 @@ endif
menu "Blockchain Applications"
source "package/bitcoin/Config.in"
+ source "package/btcd/Config.in"
endmenu
endmenu
diff --git a/package/btcd/Config.in b/package/btcd/Config.in
new file mode 100644
index 0000000..566e8dd
--- /dev/null
+++ b/package/btcd/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_BTCD
+ bool "btcd"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO_GLIDE
+ help
+ btcd is an alternative full node bitcoin implementation
+ written in Go (golang).
+
+ https://github.com/btcsuite/btcd
+
diff --git a/package/btcd/btcd.hash b/package/btcd/btcd.hash
new file mode 100644
index 0000000..d0b76c5
--- /dev/null
+++ b/package/btcd/btcd.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 4afd800125ecd9ff22c63dfc00c512ae5892f98b0415ecc1a19cd64afdf86bbb btcd-2a560b2036bee5e3679ec2133eb6520b2f195213.tar.gz
+sha256 46021938caf87eeb92c841fd48777a3a7bf218341386611c4d080aa45812d1d2 LICENSE
diff --git a/package/btcd/btcd.mk b/package/btcd/btcd.mk
new file mode 100644
index 0000000..4a296a7
--- /dev/null
+++ b/package/btcd/btcd.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# btcd
+#
+################################################################################
+
+BTCD_VERSION = 2a560b2036bee5e3679ec2133eb6520b2f195213
+BTCD_SITE = $(call github,btcsuite,btcd,$(BTCD_VERSION))
+BTCD_LICENSE = ISC
+BTCD_LICENSE_FILES = LICENSE
+BTCD_GO_GLIDE = YES
+BTCD_GO_GET = YES
+
+$(eval $(golang-package))
+
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 4/4] neutrino: new package
2018-09-28 13:59 [Buildroot] [PATCH 0/4] Initial support to blockchain clients Fabio Urquiza
` (2 preceding siblings ...)
2018-09-28 13:59 ` [Buildroot] [PATCH 3/4] btcd: " Fabio Urquiza
@ 2018-09-28 13:59 ` Fabio Urquiza
3 siblings, 0 replies; 8+ messages in thread
From: Fabio Urquiza @ 2018-09-28 13:59 UTC (permalink / raw)
To: buildroot
A privacy-preserving Bitcoin light client
Signed-off-by: Fabio Urquiza <fabiorush@gmail.com>
---
package/Config.in | 1 +
package/neutrino/Config.in | 13 +++++++++++++
package/neutrino/neutrino.hash | 3 +++
package/neutrino/neutrino.mk | 14 ++++++++++++++
4 files changed, 31 insertions(+)
create mode 100644 package/neutrino/Config.in
create mode 100644 package/neutrino/neutrino.hash
create mode 100644 package/neutrino/neutrino.mk
diff --git a/package/Config.in b/package/Config.in
index 6a74a80..4e40d43 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1974,6 +1974,7 @@ endif
menu "Blockchain Applications"
source "package/bitcoin/Config.in"
source "package/btcd/Config.in"
+ source "package/neutrino/Config.in"
endmenu
endmenu
diff --git a/package/neutrino/Config.in b/package/neutrino/Config.in
new file mode 100644
index 0000000..e09f53a
--- /dev/null
+++ b/package/neutrino/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_NEUTRINO
+ bool "neutrino"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO_GLIDE
+ help
+ Neutrino is an experimental Bitcoin light client written in Go
+ and designed with mobile Lightning Network clients in mind. It
+ uses a new proposal for compact block filters to minimize
+ bandwidth and storage use on the client side, while attempting
+ to preserve privacy and minimize processor load on full nodes
+ serving light clients.
+
+ https://github.com/lightninglabs/neutrino
diff --git a/package/neutrino/neutrino.hash b/package/neutrino/neutrino.hash
new file mode 100644
index 0000000..4e88053
--- /dev/null
+++ b/package/neutrino/neutrino.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 581bb625173252d006d6a1cb7962578829f0d7d26605cdcb2ac4e6191a294d8f neutrino-bee0ed11601a4ad0c3b23d462cd71089fc11f2cd.tar.gz
+sha256 86d02f0ba9cb90c5da357c931eec3d3d69667ea1cf83804f07cc1ed69494cf46 LICENSE
diff --git a/package/neutrino/neutrino.mk b/package/neutrino/neutrino.mk
new file mode 100644
index 0000000..4187936
--- /dev/null
+++ b/package/neutrino/neutrino.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# neutrino
+#
+################################################################################
+
+NEUTRINO_VERSION = bee0ed11601a4ad0c3b23d462cd71089fc11f2cd
+NEUTRINO_SITE = $(call github,lightninglabs,neutrino,$(NEUTRINO_VERSION))
+NEUTRINO_LICENSE = MIT
+NEUTRINO_LICENSE_FILES = LICENSE
+NEUTRINO_GO_GLIDE = YES
+
+$(eval $(golang-package))
+
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/4] btcd: new package
2018-09-28 13:59 ` [Buildroot] [PATCH 3/4] btcd: " Fabio Urquiza
@ 2018-10-12 16:09 ` Adam Duskett
0 siblings, 0 replies; 8+ messages in thread
From: Adam Duskett @ 2018-10-12 16:09 UTC (permalink / raw)
To: buildroot
Hi;
On Fri, Sep 28, 2018 at 10:03 AM Fabio Urquiza <fabiorush@gmail.com> wrote:
>
> An alternative full node bitcoin implementation written in Go (golang).
>
> Signed-off-by: Fabio Urquiza <fabiorush@gmail.com>
> ---
> package/Config.in | 1 +
> package/btcd/Config.in | 10 ++++++++++
> package/btcd/btcd.hash | 3 +++
> package/btcd/btcd.mk | 15 +++++++++++++++
> 4 files changed, 29 insertions(+)
> create mode 100644 package/btcd/Config.in
> create mode 100644 package/btcd/btcd.hash
> create mode 100644 package/btcd/btcd.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 796383a..6a74a80 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1973,6 +1973,7 @@ endif
>
> menu "Blockchain Applications"
> source "package/bitcoin/Config.in"
> + source "package/btcd/Config.in"
> endmenu
>
> endmenu
> diff --git a/package/btcd/Config.in b/package/btcd/Config.in
> new file mode 100644
> index 0000000..566e8dd
> --- /dev/null
> +++ b/package/btcd/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_BTCD
> + bool "btcd"
> + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO_GLIDE
> + help
> + btcd is an alternative full node bitcoin implementation
> + written in Go (golang).
> +
> + https://github.com/btcsuite/btcd
> +
> diff --git a/package/btcd/btcd.hash b/package/btcd/btcd.hash
> new file mode 100644
> index 0000000..d0b76c5
> --- /dev/null
> +++ b/package/btcd/btcd.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 4afd800125ecd9ff22c63dfc00c512ae5892f98b0415ecc1a19cd64afdf86bbb btcd-2a560b2036bee5e3679ec2133eb6520b2f195213.tar.gz
> +sha256 46021938caf87eeb92c841fd48777a3a7bf218341386611c4d080aa45812d1d2 LICENSE
> diff --git a/package/btcd/btcd.mk b/package/btcd/btcd.mk
> new file mode 100644
> index 0000000..4a296a7
> --- /dev/null
> +++ b/package/btcd/btcd.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# btcd
> +#
> +################################################################################
> +
> +BTCD_VERSION = 2a560b2036bee5e3679ec2133eb6520b2f195213
Is there a reason v0.12.0-beta isn't being used? Normally I wouldn't
suggest a beta release,
but every release is marked with "beta."
> +BTCD_SITE = $(call github,btcsuite,btcd,$(BTCD_VERSION))
> +BTCD_LICENSE = ISC
> +BTCD_LICENSE_FILES = LICENSE
> +BTCD_GO_GLIDE = YES
> +BTCD_GO_GET = YES
> +
> +$(eval $(golang-package))
> +
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thanks!
Adam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/4] host-go-glide: new package
2018-09-28 13:59 ` [Buildroot] [PATCH 1/4] host-go-glide: new package Fabio Urquiza
@ 2019-08-03 14:33 ` Yann E. MORIN
0 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2019-08-03 14:33 UTC (permalink / raw)
To: buildroot
Fabio, All,
Sorry for the long delay before replying to your patch...
On 2018-09-28 10:59 -0300, Fabio Urquiza spake thusly:
> From: Fabio Urquiza <flus@dmz.org.br>
> A package management for Golang.
We've discussed this patch during the developpers meeting today, and
we've decided to not apply this patch, because go-glide is now
deprecated, and replaced by "go modules", as discussed in that thread
from last April:
http://lists.busybox.net/pipermail/buildroot/2019-April/247191.html
And since the two go-based packages in your series (btcd and neutrino)
already appear to support go modules, we don't see the point in having
go-glide.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/4] bitcoin: new package
2018-09-28 13:59 ` [Buildroot] [PATCH 2/4] bitcoin: " Fabio Urquiza
@ 2019-08-03 17:19 ` Thomas Petazzoni
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2019-08-03 17:19 UTC (permalink / raw)
To: buildroot
Hello,
Thanks for your contribution! I have applied your patch, but after
making a significant number of changes. See below.
First, all new packages need an entry in DEVELOPERS file, so that the
original submitter (you!) can receive notifications about build issues
with this package.
On Fri, 28 Sep 2018 10:59:21 -0300
Fabio Urquiza <fabiorush@gmail.com> wrote:
> diff --git a/package/Config.in b/package/Config.in
> index 2810d04..796383a 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1971,6 +1971,10 @@ endif
> source "package/xtables-addons/Config.in"
> source "package/znc/Config.in"
>
> +menu "Blockchain Applications"
> + source "package/bitcoin/Config.in"
> +endmenu
Since we're for now only applying this package, having a new category
for blockchain applications was not really useful, so I moved it to
Miscellaneous applications.
> diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
> new file mode 100644
> index 0000000..cef0e73
> --- /dev/null
> +++ b/package/bitcoin/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_BITCOIN
> + bool "bitcoin"
> + select BR2_TOOLCHAIN_BUILDROOT_USE_SSP
You can't select this option, as it is only valid for internal
toolchain with the uClibc C library. The proper solution here was to
pass --disable-hardening, so that the bitcoin configure script doesn't
add any hardening-related CFLAGS. Buildroot has system-wide support for
hardening features, and if such features are enabled, it will pass the
appropriate CFLAGS.
> + select BR2_INSTALL_LIBSTDCPP
You cannot select this, you can only depend on it, and it needs a
Config.in comment. See other packages.
Also, other dependencies were missing:
- BR2_TOOLCHAIN_HAS_GCC_BUG_64735 due to the use of std::future
- BR2_TOOLCHAIN_HAS_ATOMIC due to the use of std::atomic
- A weird dependency was also needed because 8-byte atomics are not
provided on ARM Cortex-M.
All these issues were found by using ./utils/testpkg on your package.
> + select BR2_PACKAGE_BOOST
> + select BR2_PACKAGE_BOOST_SYSTEM
> + select BR2_PACKAGE_BOOST_FILESYSTEM
> + select BR2_PACKAGE_BOOST_THREAD
> + select BR2_PACKAGE_BOOST_CHRONO
> + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
> + select BR2_PACKAGE_OPENSSL
> + select BR2_PACKAGE_LIBEVENT
> + help
> + Bitcoin Core is an open source project which maintains and
> + releases Bitcoin client software called ?Bitcoin Core?.
> +
> + It is a direct descendant of the original Bitcoin software
> + client released by Satoshi Nakamoto after he published the
> + famous Bitcoin whitepaper.
> +
> + Bitcoin Core consists of both ?full-node? software for fully
We try to use only ASCII characters, and to cut the lines at 72
characters. This is something that "make check-package" tells you.
> +BITCOIN_VERSION = v0.16.3
> +BITCOIN_SITE = $(call github,bitcoin,bitcoin,$(BITCOIN_VERSION))
> +BITCOIN_AUTORECONF = YES
> +BITCOIN_LICENSE = MIT
> +BITCOIN_LICENSE_FILES = COPYING
> +BITCOIN_CONF_OPTS = --disable-wallet --disable-tests
> +BITCOIN_CONF_OPTS += --with-sysroot=$(STAGING_DIR)
The --with-sysroot option is not necessary.
> +BITCOIN_CONF_OPTS += --with-boost-libdir=$(STAGING_DIR)/usr/lib/
I grouped all those CONF_OPTS statements in just one statement.
See the final commit at:
https://git.buildroot.org/buildroot/commit/?id=656fc50b51c03891d34471fd39003355678f7fde
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-08-03 17:19 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-28 13:59 [Buildroot] [PATCH 0/4] Initial support to blockchain clients Fabio Urquiza
2018-09-28 13:59 ` [Buildroot] [PATCH 1/4] host-go-glide: new package Fabio Urquiza
2019-08-03 14:33 ` Yann E. MORIN
2018-09-28 13:59 ` [Buildroot] [PATCH 2/4] bitcoin: " Fabio Urquiza
2019-08-03 17:19 ` Thomas Petazzoni
2018-09-28 13:59 ` [Buildroot] [PATCH 3/4] btcd: " Fabio Urquiza
2018-10-12 16:09 ` Adam Duskett
2018-09-28 13:59 ` [Buildroot] [PATCH 4/4] neutrino: " Fabio Urquiza
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox