Message ID | 20201216080013.547261-6-christian@paral.in |
---|---|
State | Superseded, archived |
Headers | show |
Series | [v1,1/1] package/delve: new package | expand |
Hello Christian, PLEASE try to trim down your CC list! I am definitely not interested in Go related packages! Regards, Peter On Wed, 16 Dec 2020 00:00:13 -0800, Christian Stewart <christian@paral.in> wrote: > Delve is a debugger for the Go programming language. > > Signed-off-by: Christian Stewart <christian@paral.in> > --- > DEVELOPERS | 1 + > package/Config.in | 1 + > package/delve/Config.in | 18 ++++++++++++++++++ > package/delve/delve.hash | 3 +++ > package/delve/delve.mk | 21 +++++++++++++++++++++ > 5 files changed, 44 insertions(+) > create mode 100644 package/delve/Config.in > create mode 100644 package/delve/delve.hash > create mode 100644 package/delve/delve.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index f33f88df43..7ede0cc0f1 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -505,6 +505,7 @@ F: linux/linux-ext-aufs.mk > F: package/aufs/ > F: package/aufs-util/ > F: package/batman-adv/ > +F: package/delve/ > F: package/docker-cli/ > F: package/docker-containerd/ > F: package/docker-engine/ > diff --git a/package/Config.in b/package/Config.in > index 39c91645ad..b97937f841 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -88,6 +88,7 @@ menu "Debugging, profiling and benchmark" > source "package/cache-calibrator/Config.in" > source "package/clinfo/Config.in" > source "package/dacapo/Config.in" > + source "package/delve/Config.in" > source "package/dhrystone/Config.in" > source "package/dieharder/Config.in" > source "package/dmalloc/Config.in" > diff --git a/package/delve/Config.in b/package/delve/Config.in > new file mode 100644 > index 0000000000..008f00d789 > --- /dev/null > +++ b/package/delve/Config.in > @@ -0,0 +1,18 @@ > +config BR2_PACKAGE_DELVE > + bool "delve" > + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS > + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on BR2_TOOLCHAIN_USES_GLIBC # go, cgo > + depends on !BR2_TOOLCHAIN_USES_UCLIBC # go > + depends on BR2_USE_MMU # go > + help > + Delve is a debugger for the Go programming language. > + > + https://github.com/go-delve/delve > + > +comment "delve needs a glibc toolchain w/ threads" > + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS > + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS > + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC > + depends on BR2_USE_MMU > diff --git a/package/delve/delve.hash b/package/delve/delve.hash > new file mode 100644 > index 0000000000..e8bb9c37ad > --- /dev/null > +++ b/package/delve/delve.hash > @@ -0,0 +1,3 @@ > +# Locally calculated > +sha256 f8bbaecdfc9d1ff6148900d3dea44b6dd06a7f0197be4e9a75c289b7f62682ab delve-1.5.0.tar.gz > +sha256 778864b990007e8cef6633f8c372dd05bac1fada6cf67b008afb1483f83b38f5 LICENSE > diff --git a/package/delve/delve.mk b/package/delve/delve.mk > new file mode 100644 > index 0000000000..d524db374f > --- /dev/null > +++ b/package/delve/delve.mk > @@ -0,0 +1,21 @@ > +################################################################################ > +# > +# delve > +# > +################################################################################ > + > +DELVE_VERSION = 1.5.0 > +DELVE_SITE = $(call github,go-delve,delve,v$(DELVE_VERSION)) > + > +DELVE_LICENSE = MIT > +DELVE_LICENSE_FILES = LICENSE > + > +DELVE_DEPENDENCIES = host-pkgconf > + > +DELVE_TAGS = cgo > + > +DELVE_BUILD_TARGETS = cmd/dlv > + > +DELVE_INSTALL_BINS = $(notdir $(DELVE_BUILD_TARGETS)) > + > +$(eval $(golang-package))
Hello Christian, On Wed, 16 Dec 2020 00:00:13 -0800 Christian Stewart <christian@paral.in> wrote: > Delve is a debugger for the Go programming language. > > Signed-off-by: Christian Stewart <christian@paral.in> I have applied, but after doing some changes. See below. > diff --git a/package/delve/Config.in b/package/delve/Config.in > new file mode 100644 > index 0000000000..008f00d789 > --- /dev/null > +++ b/package/delve/Config.in > @@ -0,0 +1,18 @@ > +config BR2_PACKAGE_DELVE > + bool "delve" > + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS > + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on BR2_TOOLCHAIN_USES_GLIBC # go, cgo > + depends on !BR2_TOOLCHAIN_USES_UCLIBC # go There is no such dependency on glibc && !uclibc in Go. > + depends on BR2_USE_MMU # go There is no dependency on BR2_USE_MMU in Go. So both of these do not make sense. However, delve has indeed a limited set of CPU architectures it supports. Apparently, just aarch64, i386 and x86-64, according to pkg/proc/native/support_sentinel.go in the code base. So I've replaced the Config.in file with this: # Supported architectures are listed in # pkg/proc/native/support_sentinel.go config BR2_PACKAGE_DELVE_ARCH_SUPPORTS bool default y if BR2_aarch64 default y if BR2_i386 default y if BR2_x86_64 depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS config BR2_PACKAGE_DELVE bool "delve" depends on BR2_PACKAGE_DELVE_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS help Delve is a debugger for the Go programming language. https://github.com/go-delve/delve comment "delve needs a toolchain w/ threads" depends on BR2_PACKAGE_DELVE_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS I have verified that it builds fine on uClibc/i386 and musl/aarch64 for example, which confirms that the glibc && !uclibc dependency was not correct. Applied with this fixed. Thanks! Thomas
diff --git a/DEVELOPERS b/DEVELOPERS index f33f88df43..7ede0cc0f1 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -505,6 +505,7 @@ F: linux/linux-ext-aufs.mk F: package/aufs/ F: package/aufs-util/ F: package/batman-adv/ +F: package/delve/ F: package/docker-cli/ F: package/docker-containerd/ F: package/docker-engine/ diff --git a/package/Config.in b/package/Config.in index 39c91645ad..b97937f841 100644 --- a/package/Config.in +++ b/package/Config.in @@ -88,6 +88,7 @@ menu "Debugging, profiling and benchmark" source "package/cache-calibrator/Config.in" source "package/clinfo/Config.in" source "package/dacapo/Config.in" + source "package/delve/Config.in" source "package/dhrystone/Config.in" source "package/dieharder/Config.in" source "package/dmalloc/Config.in" diff --git a/package/delve/Config.in b/package/delve/Config.in new file mode 100644 index 0000000000..008f00d789 --- /dev/null +++ b/package/delve/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_DELVE + bool "delve" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC # go, cgo + depends on !BR2_TOOLCHAIN_USES_UCLIBC # go + depends on BR2_USE_MMU # go + help + Delve is a debugger for the Go programming language. + + https://github.com/go-delve/delve + +comment "delve needs a glibc toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_USE_MMU diff --git a/package/delve/delve.hash b/package/delve/delve.hash new file mode 100644 index 0000000000..e8bb9c37ad --- /dev/null +++ b/package/delve/delve.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f8bbaecdfc9d1ff6148900d3dea44b6dd06a7f0197be4e9a75c289b7f62682ab delve-1.5.0.tar.gz +sha256 778864b990007e8cef6633f8c372dd05bac1fada6cf67b008afb1483f83b38f5 LICENSE diff --git a/package/delve/delve.mk b/package/delve/delve.mk new file mode 100644 index 0000000000..d524db374f --- /dev/null +++ b/package/delve/delve.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# delve +# +################################################################################ + +DELVE_VERSION = 1.5.0 +DELVE_SITE = $(call github,go-delve,delve,v$(DELVE_VERSION)) + +DELVE_LICENSE = MIT +DELVE_LICENSE_FILES = LICENSE + +DELVE_DEPENDENCIES = host-pkgconf + +DELVE_TAGS = cgo + +DELVE_BUILD_TARGETS = cmd/dlv + +DELVE_INSTALL_BINS = $(notdir $(DELVE_BUILD_TARGETS)) + +$(eval $(golang-package))
Delve is a debugger for the Go programming language. Signed-off-by: Christian Stewart <christian@paral.in> --- DEVELOPERS | 1 + package/Config.in | 1 + package/delve/Config.in | 18 ++++++++++++++++++ package/delve/delve.hash | 3 +++ package/delve/delve.mk | 21 +++++++++++++++++++++ 5 files changed, 44 insertions(+) create mode 100644 package/delve/Config.in create mode 100644 package/delve/delve.hash create mode 100644 package/delve/delve.mk