* [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go'
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-04-15 16:44 ` Yann E. MORIN
2024-06-01 15:39 ` Yann E. MORIN
2024-04-15 16:22 ` [Buildroot] [PATCH v2 2/6] package/go: new subdirectory for go variants Thomas Perale via buildroot
` (5 subsequent siblings)
6 siblings, 2 replies; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
DEVELOPERS | 3 +++
1 file changed, 3 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index 399b2931ff..039b803d50 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2979,6 +2979,9 @@ F: package/frotz/
F: package/kvm-unit-tests/
F: package/xorcurses/
+N: Thomas Perale <thomas.perale@mind.be>
+F: package/go/
+
N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
F: arch/Config.in.arm
F: board/beaglev/
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go'
2024-04-15 16:22 ` [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go' Thomas Perale via buildroot
@ 2024-04-15 16:44 ` Yann E. MORIN
2024-04-15 17:38 ` Thomas Perale via buildroot
2024-06-01 15:39 ` Yann E. MORIN
1 sibling, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2024-04-15 16:44 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Your From and Signed-off-by are still not the same: @essensium.com vs.
@mind.be.
Check your ~/.gitconfig for the proper user.email key. If you also set
format.signOff, it should automatically inject the proper SoB line, but
if you, like me, explicitly inject SoB lines [0], check your code
snippet.
[0] I use vim's snipmate plugin https://github.com/garbas/vim-snipmate
with my own snippets for SoB lines:
snippet sob
Signed-off-by:
snippet ME
Yann E. MORIN <yann.morin.1998@free.fr>
(so that I can reflex-type sob<TAB>ME<TAB> for my SoB lines.)
For this series, no need to respin _just_ for this: just reply whether
to use the SoB line (@mind) or the From field (@essentium), and I can
fix it locally when applying.
Regards,
Yann E. MORIN.
> ---
> DEVELOPERS | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 399b2931ff..039b803d50 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2979,6 +2979,9 @@ F: package/frotz/
> F: package/kvm-unit-tests/
> F: package/xorcurses/
>
> +N: Thomas Perale <thomas.perale@mind.be>
> +F: package/go/
> +
> N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> F: arch/Config.in.arm
> F: board/beaglev/
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go'
2024-04-15 16:44 ` Yann E. MORIN
@ 2024-04-15 17:38 ` Thomas Perale via buildroot
2024-04-15 20:20 ` Yann E. MORIN
0 siblings, 1 reply; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 17:38 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: Christian Stewart, Thomas Perale, buildroot
Yann,
Please use SoB @mind.be.
I subscribed with the @essensium email to the buildroot ML and if i
recall correctly i received an error when sending with the @mind alias
and didn't really bothered fixing it.
Regards,
PERALE Thomas
On 4/15/24 6:44 PM, Yann E. MORIN wrote:
> Thomas, All,
>
> On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
>> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
> Your From and Signed-off-by are still not the same: @essensium.com vs.
> @mind.be.
>
> Check your ~/.gitconfig for the proper user.email key. If you also set
> format.signOff, it should automatically inject the proper SoB line, but
> if you, like me, explicitly inject SoB lines [0], check your code
> snippet.
>
> [0] I use vim's snipmate plugin https://github.com/garbas/vim-snipmate
> with my own snippets for SoB lines:
>
> snippet sob
> Signed-off-by:
> snippet ME
> Yann E. MORIN <yann.morin.1998@free.fr>
>
> (so that I can reflex-type sob<TAB>ME<TAB> for my SoB lines.)
>
> For this series, no need to respin _just_ for this: just reply whether
> to use the SoB line (@mind) or the From field (@essentium), and I can
> fix it locally when applying.
>
> Regards,
> Yann E. MORIN.
>
>> ---
>> DEVELOPERS | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index 399b2931ff..039b803d50 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -2979,6 +2979,9 @@ F: package/frotz/
>> F: package/kvm-unit-tests/
>> F: package/xorcurses/
>>
>> +N: Thomas Perale <thomas.perale@mind.be>
>> +F: package/go/
>> +
>> N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>> F: arch/Config.in.arm
>> F: board/beaglev/
>> --
>> 2.44.0
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go'
2024-04-15 17:38 ` Thomas Perale via buildroot
@ 2024-04-15 20:20 ` Yann E. MORIN
0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-04-15 20:20 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
On 2024-04-15 19:38 +0200, Thomas Perale spake thusly:
> Please use SoB @mind.be.
>
> I subscribed with the @essensium email to the buildroot ML and if i recall
> correctly i received an error when sending with the @mind alias and didn't
> really bothered fixing it.
In that case, I think you can tell git send-email to always inject the
pseudo From-header at the beginning of the commit, and when we git-am,
that's what get used instead of the mail's From field.
I had a similar issue with my @work setup [0], I'll dig up the git
config I use there tomorrow.
[0] https://lore.kernel.org/buildroot/ZNCU8E59+%2FD%2Frn5T@tl-lnx-nyma7486-2/
Regards,
Yann E. MORIN.
> Regards,
> PERALE Thomas
>
> On 4/15/24 6:44 PM, Yann E. MORIN wrote:
> > Thomas, All,
> >
> > On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> > > Signed-off-by: Thomas Perale <thomas.perale@mind.be>
> > Your From and Signed-off-by are still not the same: @essensium.com vs.
> > @mind.be.
> >
> > Check your ~/.gitconfig for the proper user.email key. If you also set
> > format.signOff, it should automatically inject the proper SoB line, but
> > if you, like me, explicitly inject SoB lines [0], check your code
> > snippet.
> >
> > [0] I use vim's snipmate plugin https://github.com/garbas/vim-snipmate
> > with my own snippets for SoB lines:
> >
> > snippet sob
> > Signed-off-by:
> > snippet ME
> > Yann E. MORIN <yann.morin.1998@free.fr>
> >
> > (so that I can reflex-type sob<TAB>ME<TAB> for my SoB lines.)
> >
> > For this series, no need to respin _just_ for this: just reply whether
> > to use the SoB line (@mind) or the From field (@essentium), and I can
> > fix it locally when applying.
> >
> > Regards,
> > Yann E. MORIN.
> >
> > > ---
> > > DEVELOPERS | 3 +++
> > > 1 file changed, 3 insertions(+)
> > >
> > > diff --git a/DEVELOPERS b/DEVELOPERS
> > > index 399b2931ff..039b803d50 100644
> > > --- a/DEVELOPERS
> > > +++ b/DEVELOPERS
> > > @@ -2979,6 +2979,9 @@ F: package/frotz/
> > > F: package/kvm-unit-tests/
> > > F: package/xorcurses/
> > >
> > > +N: Thomas Perale <thomas.perale@mind.be>
> > > +F: package/go/
> > > +
> > > N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > > F: arch/Config.in.arm
> > > F: board/beaglev/
> > > --
> > > 2.44.0
> > >
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot@buildroot.org
> > > https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go'
2024-04-15 16:22 ` [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go' Thomas Perale via buildroot
2024-04-15 16:44 ` Yann E. MORIN
@ 2024-06-01 15:39 ` Yann E. MORIN
1 sibling, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:39 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> DEVELOPERS | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 399b2931ff..039b803d50 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2979,6 +2979,9 @@ F: package/frotz/
> F: package/kvm-unit-tests/
> F: package/xorcurses/
>
> +N: Thomas Perale <thomas.perale@mind.be>
> +F: package/go/
> +
> N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> F: arch/Config.in.arm
> F: board/beaglev/
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v2 2/6] package/go: new subdirectory for go variants
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
2024-04-15 16:22 ` [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go' Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-06-01 15:41 ` Yann E. MORIN
2024-04-15 16:22 ` [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO Thomas Perale via buildroot
` (4 subsequent siblings)
6 siblings, 1 reply; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
Move every go compiler-related packages into a newly created
package/go/ subdirectory.
This subdirectory structure moves the GO_VERSION variable into the
common package/go/go.mk file. In the next commits, host-go will be
turned into a virtual-package and the common GO_VERSION force the
providers to use the same Go compiler version.
Common variables to all providers are kept in package/go/go.mk and
package/go/Config.in.host.
Also, the subdirectory structure forces the evaluation of the common
GO_VERSION before the providers access it.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
.checkpackageignore | 2 +-
DEVELOPERS | 3 --
package/Config.in.host | 3 --
package/go/Config.in.host | 4 ++
.../go-bootstrap-stage1/Config.in.host | 0
.../go-bootstrap-stage1.hash | 0
.../go-bootstrap-stage1.mk | 0
.../go-bootstrap-stage2/Config.in.host | 0
.../go-bootstrap-stage2.hash | 0
.../go-bootstrap-stage2.mk | 0
.../go-bootstrap-stage3/Config.in.host | 0
.../go-bootstrap-stage3.hash | 0
.../go-bootstrap-stage3.mk | 0
package/go/go.mk | 40 +-------------
...explicit-option-for-crosscompilation.patch | 0
...ldvcs-false-when-building-go-bootstr.patch | 0
package/go/{ => go}/go.hash | 0
package/go/go/go.mk | 53 +++++++++++++++++++
18 files changed, 60 insertions(+), 45 deletions(-)
rename package/{ => go}/go-bootstrap-stage1/Config.in.host (100%)
rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.hash (100%)
rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.mk (100%)
rename package/{ => go}/go-bootstrap-stage2/Config.in.host (100%)
rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.hash (100%)
rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.mk (100%)
rename package/{ => go}/go-bootstrap-stage3/Config.in.host (100%)
rename package/{ => go}/go-bootstrap-stage3/go-bootstrap-stage3.hash (100%)
rename package/{ => go}/go-bootstrap-stage3/go-bootstrap-stage3.mk (100%)
rename package/go/{ => go}/0001-build.go-explicit-option-for-crosscompilation.patch (100%)
rename package/go/{ => go}/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch (100%)
rename package/go/{ => go}/go.hash (100%)
create mode 100644 package/go/go/go.mk
diff --git a/.checkpackageignore b/.checkpackageignore
index 1b336ce7a3..b3eab26071 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -465,7 +465,7 @@ package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch lib_patch.U
package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch lib_patch.Upstream
package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_patch.Upstream
package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream
-package/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
+package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
diff --git a/DEVELOPERS b/DEVELOPERS
index 039b803d50..51fc4962c9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -603,9 +603,6 @@ F: package/docker-engine/
F: package/embiggen-disk/
F: package/fuse-overlayfs/
F: package/go/
-F: package/go-bootstrap-stage1/
-F: package/go-bootstrap-stage2/
-F: package/go-bootstrap-stage3/
F: package/gocryptfs/
F: package/mbpfan/
F: package/moby-buildkit/
diff --git a/package/Config.in.host b/package/Config.in.host
index 9543a22ffc..2c481cfae7 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -44,9 +44,6 @@ menu "Host utilities"
source "package/genpart/Config.in.host"
source "package/gnupg/Config.in.host"
source "package/go/Config.in.host"
- source "package/go-bootstrap-stage1/Config.in.host"
- source "package/go-bootstrap-stage2/Config.in.host"
- source "package/go-bootstrap-stage3/Config.in.host"
source "package/google-breakpad/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imagemagick/Config.in.host"
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index 0d89e875ad..7edf45850d 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -31,3 +31,7 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
bool
default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
+
+source "package/go/go-bootstrap-stage1/Config.in.host"
+source "package/go/go-bootstrap-stage2/Config.in.host"
+source "package/go/go-bootstrap-stage3/Config.in.host"
diff --git a/package/go-bootstrap-stage1/Config.in.host b/package/go/go-bootstrap-stage1/Config.in.host
similarity index 100%
rename from package/go-bootstrap-stage1/Config.in.host
rename to package/go/go-bootstrap-stage1/Config.in.host
diff --git a/package/go-bootstrap-stage1/go-bootstrap-stage1.hash b/package/go/go-bootstrap-stage1/go-bootstrap-stage1.hash
similarity index 100%
rename from package/go-bootstrap-stage1/go-bootstrap-stage1.hash
rename to package/go/go-bootstrap-stage1/go-bootstrap-stage1.hash
diff --git a/package/go-bootstrap-stage1/go-bootstrap-stage1.mk b/package/go/go-bootstrap-stage1/go-bootstrap-stage1.mk
similarity index 100%
rename from package/go-bootstrap-stage1/go-bootstrap-stage1.mk
rename to package/go/go-bootstrap-stage1/go-bootstrap-stage1.mk
diff --git a/package/go-bootstrap-stage2/Config.in.host b/package/go/go-bootstrap-stage2/Config.in.host
similarity index 100%
rename from package/go-bootstrap-stage2/Config.in.host
rename to package/go/go-bootstrap-stage2/Config.in.host
diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash b/package/go/go-bootstrap-stage2/go-bootstrap-stage2.hash
similarity index 100%
rename from package/go-bootstrap-stage2/go-bootstrap-stage2.hash
rename to package/go/go-bootstrap-stage2/go-bootstrap-stage2.hash
diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk b/package/go/go-bootstrap-stage2/go-bootstrap-stage2.mk
similarity index 100%
rename from package/go-bootstrap-stage2/go-bootstrap-stage2.mk
rename to package/go/go-bootstrap-stage2/go-bootstrap-stage2.mk
diff --git a/package/go-bootstrap-stage3/Config.in.host b/package/go/go-bootstrap-stage3/Config.in.host
similarity index 100%
rename from package/go-bootstrap-stage3/Config.in.host
rename to package/go/go-bootstrap-stage3/Config.in.host
diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.hash b/package/go/go-bootstrap-stage3/go-bootstrap-stage3.hash
similarity index 100%
rename from package/go-bootstrap-stage3/go-bootstrap-stage3.hash
rename to package/go/go-bootstrap-stage3/go-bootstrap-stage3.hash
diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.mk b/package/go/go-bootstrap-stage3/go-bootstrap-stage3.mk
similarity index 100%
rename from package/go-bootstrap-stage3/go-bootstrap-stage3.mk
rename to package/go/go-bootstrap-stage3/go-bootstrap-stage3.mk
diff --git a/package/go/go.mk b/package/go/go.mk
index 0e39ad9f8c..104a4a73fb 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -5,14 +5,7 @@
################################################################################
GO_VERSION = 1.22.2
-GO_SITE = https://storage.googleapis.com/golang
-GO_SOURCE = go$(GO_VERSION).src.tar.gz
-GO_LICENSE = BSD-3-Clause
-GO_LICENSE_FILES = LICENSE
-GO_CPE_ID_VENDOR = golang
-
-HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
HOST_GO_GOPATH = $(HOST_DIR)/share/go-path
HOST_GO_HOST_CACHE = $(HOST_DIR)/share/host-go-cache
HOST_GO_ROOT = $(HOST_DIR)/lib/go
@@ -96,15 +89,6 @@ else
HOST_GO_CGO_ENABLED = 0
endif
-HOST_GO_CROSS_ENV = \
- CC_FOR_TARGET="$(TARGET_CC)" \
- CXX_FOR_TARGET="$(TARGET_CXX)" \
- GOOS="linux" \
- GOARCH=$(GO_GOARCH) \
- $(if $(GO_GO386),GO386=$(GO_GO386)) \
- $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
- GO_ASSUME_CROSSCOMPILING=1
-
else # !BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
# host-go can still be used to build packages for the host. No need to set all
# the arch stuff since we will not be cross-compiling.
@@ -123,27 +107,7 @@ HOST_GO_HOST_ENV = \
CGO_CXXFLAGS="$(HOST_CXXFLAGS)" \
CGO_LDFLAGS="$(HOST_LDFLAGS)"
-# The go build system is not compatible with ccache, so use
-# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
-HOST_GO_MAKE_ENV = \
- GO111MODULE=off \
- GOCACHE=$(HOST_GO_HOST_CACHE) \
- GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
- GOROOT_FINAL=$(HOST_GO_ROOT) \
- GOROOT="$(@D)" \
- GOBIN="$(@D)/bin" \
- GOOS=linux \
- CC=$(HOSTCC_NOCCACHE) \
- CXX=$(HOSTCXX_NOCCACHE) \
- CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
- $(HOST_GO_CROSS_ENV)
-
-define HOST_GO_BUILD_CMDS
- cd $(@D)/src && \
- $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
-endef
-
-define HOST_GO_INSTALL_CMDS
+define GO_BINARIES_INSTALL
$(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_ROOT)/bin/go
$(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
@@ -165,4 +129,4 @@ define HOST_GO_INSTALL_CMDS
find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \;
endef
-$(eval $(host-generic-package))
+include $(sort $(wildcard package/go/*/*.mk))
diff --git a/package/go/0001-build.go-explicit-option-for-crosscompilation.patch b/package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
similarity index 100%
rename from package/go/0001-build.go-explicit-option-for-crosscompilation.patch
rename to package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
diff --git a/package/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch b/package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
similarity index 100%
rename from package/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
rename to package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
diff --git a/package/go/go.hash b/package/go/go/go.hash
similarity index 100%
rename from package/go/go.hash
rename to package/go/go/go.hash
diff --git a/package/go/go/go.mk b/package/go/go/go.mk
new file mode 100644
index 0000000000..c3c40922f4
--- /dev/null
+++ b/package/go/go/go.mk
@@ -0,0 +1,53 @@
+################################################################################
+#
+# go
+#
+################################################################################
+
+GO_SITE = https://storage.googleapis.com/golang
+GO_SOURCE = go$(GO_VERSION).src.tar.gz
+
+GO_LICENSE = BSD-3-Clause
+GO_LICENSE_FILES = LICENSE
+GO_CPE_ID_VENDOR = golang
+
+HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
+
+ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
+
+HOST_GO_CROSS_ENV = \
+ CC_FOR_TARGET="$(TARGET_CC)" \
+ CXX_FOR_TARGET="$(TARGET_CXX)" \
+ GOOS="linux" \
+ GOARCH=$(GO_GOARCH) \
+ $(if $(GO_GO386),GO386=$(GO_GO386)) \
+ $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
+ GO_ASSUME_CROSSCOMPILING=1
+
+endif
+
+# The go build system is not compatible with ccache, so use
+# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
+HOST_GO_MAKE_ENV = \
+ GO111MODULE=off \
+ GOCACHE=$(HOST_GO_HOST_CACHE) \
+ GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
+ GOROOT_FINAL=$(HOST_GO_ROOT) \
+ GOROOT="$(@D)" \
+ GOBIN="$(@D)/bin" \
+ GOOS=linux \
+ CC=$(HOSTCC_NOCCACHE) \
+ CXX=$(HOSTCXX_NOCCACHE) \
+ CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
+ $(HOST_GO_CROSS_ENV)
+
+define HOST_GO_BUILD_CMDS
+ cd $(@D)/src && \
+ $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
+endef
+
+define HOST_GO_INSTALL_CMDS
+ $(GO_BINARIES_INSTALL)
+endef
+
+$(eval $(host-generic-package))
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 2/6] package/go: new subdirectory for go variants
2024-04-15 16:22 ` [Buildroot] [PATCH v2 2/6] package/go: new subdirectory for go variants Thomas Perale via buildroot
@ 2024-06-01 15:41 ` Yann E. MORIN
0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:41 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Move every go compiler-related packages into a newly created
> package/go/ subdirectory.
>
> This subdirectory structure moves the GO_VERSION variable into the
> common package/go/go.mk file. In the next commits, host-go will be
> turned into a virtual-package and the common GO_VERSION force the
> providers to use the same Go compiler version.
> Common variables to all providers are kept in package/go/go.mk and
> package/go/Config.in.host.
> Also, the subdirectory structure forces the evaluation of the common
> GO_VERSION before the providers access it.
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to next, thanks.
Note that we had since bumped to go 1.22.3, so I did fix the conflict
when applying; please have a look and shout at me if I borked something.
Regards,
Yann E. MORIN.
> ---
> .checkpackageignore | 2 +-
> DEVELOPERS | 3 --
> package/Config.in.host | 3 --
> package/go/Config.in.host | 4 ++
> .../go-bootstrap-stage1/Config.in.host | 0
> .../go-bootstrap-stage1.hash | 0
> .../go-bootstrap-stage1.mk | 0
> .../go-bootstrap-stage2/Config.in.host | 0
> .../go-bootstrap-stage2.hash | 0
> .../go-bootstrap-stage2.mk | 0
> .../go-bootstrap-stage3/Config.in.host | 0
> .../go-bootstrap-stage3.hash | 0
> .../go-bootstrap-stage3.mk | 0
> package/go/go.mk | 40 +-------------
> ...explicit-option-for-crosscompilation.patch | 0
> ...ldvcs-false-when-building-go-bootstr.patch | 0
> package/go/{ => go}/go.hash | 0
> package/go/go/go.mk | 53 +++++++++++++++++++
> 18 files changed, 60 insertions(+), 45 deletions(-)
> rename package/{ => go}/go-bootstrap-stage1/Config.in.host (100%)
> rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.hash (100%)
> rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.mk (100%)
> rename package/{ => go}/go-bootstrap-stage2/Config.in.host (100%)
> rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.hash (100%)
> rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.mk (100%)
> rename package/{ => go}/go-bootstrap-stage3/Config.in.host (100%)
> rename package/{ => go}/go-bootstrap-stage3/go-bootstrap-stage3.hash (100%)
> rename package/{ => go}/go-bootstrap-stage3/go-bootstrap-stage3.mk (100%)
> rename package/go/{ => go}/0001-build.go-explicit-option-for-crosscompilation.patch (100%)
> rename package/go/{ => go}/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch (100%)
> rename package/go/{ => go}/go.hash (100%)
> create mode 100644 package/go/go/go.mk
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 1b336ce7a3..b3eab26071 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -465,7 +465,7 @@ package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch lib_patch.U
> package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch lib_patch.Upstream
> package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_patch.Upstream
> package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream
> -package/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
> +package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
> package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
> package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
> package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 039b803d50..51fc4962c9 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -603,9 +603,6 @@ F: package/docker-engine/
> F: package/embiggen-disk/
> F: package/fuse-overlayfs/
> F: package/go/
> -F: package/go-bootstrap-stage1/
> -F: package/go-bootstrap-stage2/
> -F: package/go-bootstrap-stage3/
> F: package/gocryptfs/
> F: package/mbpfan/
> F: package/moby-buildkit/
> diff --git a/package/Config.in.host b/package/Config.in.host
> index 9543a22ffc..2c481cfae7 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -44,9 +44,6 @@ menu "Host utilities"
> source "package/genpart/Config.in.host"
> source "package/gnupg/Config.in.host"
> source "package/go/Config.in.host"
> - source "package/go-bootstrap-stage1/Config.in.host"
> - source "package/go-bootstrap-stage2/Config.in.host"
> - source "package/go-bootstrap-stage3/Config.in.host"
> source "package/google-breakpad/Config.in.host"
> source "package/gptfdisk/Config.in.host"
> source "package/imagemagick/Config.in.host"
> diff --git a/package/go/Config.in.host b/package/go/Config.in.host
> index 0d89e875ad..7edf45850d 100644
> --- a/package/go/Config.in.host
> +++ b/package/go/Config.in.host
> @@ -31,3 +31,7 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> bool
> default y
> depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
> +
> +source "package/go/go-bootstrap-stage1/Config.in.host"
> +source "package/go/go-bootstrap-stage2/Config.in.host"
> +source "package/go/go-bootstrap-stage3/Config.in.host"
> diff --git a/package/go-bootstrap-stage1/Config.in.host b/package/go/go-bootstrap-stage1/Config.in.host
> similarity index 100%
> rename from package/go-bootstrap-stage1/Config.in.host
> rename to package/go/go-bootstrap-stage1/Config.in.host
> diff --git a/package/go-bootstrap-stage1/go-bootstrap-stage1.hash b/package/go/go-bootstrap-stage1/go-bootstrap-stage1.hash
> similarity index 100%
> rename from package/go-bootstrap-stage1/go-bootstrap-stage1.hash
> rename to package/go/go-bootstrap-stage1/go-bootstrap-stage1.hash
> diff --git a/package/go-bootstrap-stage1/go-bootstrap-stage1.mk b/package/go/go-bootstrap-stage1/go-bootstrap-stage1.mk
> similarity index 100%
> rename from package/go-bootstrap-stage1/go-bootstrap-stage1.mk
> rename to package/go/go-bootstrap-stage1/go-bootstrap-stage1.mk
> diff --git a/package/go-bootstrap-stage2/Config.in.host b/package/go/go-bootstrap-stage2/Config.in.host
> similarity index 100%
> rename from package/go-bootstrap-stage2/Config.in.host
> rename to package/go/go-bootstrap-stage2/Config.in.host
> diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash b/package/go/go-bootstrap-stage2/go-bootstrap-stage2.hash
> similarity index 100%
> rename from package/go-bootstrap-stage2/go-bootstrap-stage2.hash
> rename to package/go/go-bootstrap-stage2/go-bootstrap-stage2.hash
> diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk b/package/go/go-bootstrap-stage2/go-bootstrap-stage2.mk
> similarity index 100%
> rename from package/go-bootstrap-stage2/go-bootstrap-stage2.mk
> rename to package/go/go-bootstrap-stage2/go-bootstrap-stage2.mk
> diff --git a/package/go-bootstrap-stage3/Config.in.host b/package/go/go-bootstrap-stage3/Config.in.host
> similarity index 100%
> rename from package/go-bootstrap-stage3/Config.in.host
> rename to package/go/go-bootstrap-stage3/Config.in.host
> diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.hash b/package/go/go-bootstrap-stage3/go-bootstrap-stage3.hash
> similarity index 100%
> rename from package/go-bootstrap-stage3/go-bootstrap-stage3.hash
> rename to package/go/go-bootstrap-stage3/go-bootstrap-stage3.hash
> diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.mk b/package/go/go-bootstrap-stage3/go-bootstrap-stage3.mk
> similarity index 100%
> rename from package/go-bootstrap-stage3/go-bootstrap-stage3.mk
> rename to package/go/go-bootstrap-stage3/go-bootstrap-stage3.mk
> diff --git a/package/go/go.mk b/package/go/go.mk
> index 0e39ad9f8c..104a4a73fb 100644
> --- a/package/go/go.mk
> +++ b/package/go/go.mk
> @@ -5,14 +5,7 @@
> ################################################################################
>
> GO_VERSION = 1.22.2
> -GO_SITE = https://storage.googleapis.com/golang
> -GO_SOURCE = go$(GO_VERSION).src.tar.gz
>
> -GO_LICENSE = BSD-3-Clause
> -GO_LICENSE_FILES = LICENSE
> -GO_CPE_ID_VENDOR = golang
> -
> -HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
> HOST_GO_GOPATH = $(HOST_DIR)/share/go-path
> HOST_GO_HOST_CACHE = $(HOST_DIR)/share/host-go-cache
> HOST_GO_ROOT = $(HOST_DIR)/lib/go
> @@ -96,15 +89,6 @@ else
> HOST_GO_CGO_ENABLED = 0
> endif
>
> -HOST_GO_CROSS_ENV = \
> - CC_FOR_TARGET="$(TARGET_CC)" \
> - CXX_FOR_TARGET="$(TARGET_CXX)" \
> - GOOS="linux" \
> - GOARCH=$(GO_GOARCH) \
> - $(if $(GO_GO386),GO386=$(GO_GO386)) \
> - $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
> - GO_ASSUME_CROSSCOMPILING=1
> -
> else # !BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
> # host-go can still be used to build packages for the host. No need to set all
> # the arch stuff since we will not be cross-compiling.
> @@ -123,27 +107,7 @@ HOST_GO_HOST_ENV = \
> CGO_CXXFLAGS="$(HOST_CXXFLAGS)" \
> CGO_LDFLAGS="$(HOST_LDFLAGS)"
>
> -# The go build system is not compatible with ccache, so use
> -# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
> -HOST_GO_MAKE_ENV = \
> - GO111MODULE=off \
> - GOCACHE=$(HOST_GO_HOST_CACHE) \
> - GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
> - GOROOT_FINAL=$(HOST_GO_ROOT) \
> - GOROOT="$(@D)" \
> - GOBIN="$(@D)/bin" \
> - GOOS=linux \
> - CC=$(HOSTCC_NOCCACHE) \
> - CXX=$(HOSTCXX_NOCCACHE) \
> - CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
> - $(HOST_GO_CROSS_ENV)
> -
> -define HOST_GO_BUILD_CMDS
> - cd $(@D)/src && \
> - $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
> -endef
> -
> -define HOST_GO_INSTALL_CMDS
> +define GO_BINARIES_INSTALL
> $(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_ROOT)/bin/go
> $(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
>
> @@ -165,4 +129,4 @@ define HOST_GO_INSTALL_CMDS
> find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \;
> endef
>
> -$(eval $(host-generic-package))
> +include $(sort $(wildcard package/go/*/*.mk))
> diff --git a/package/go/0001-build.go-explicit-option-for-crosscompilation.patch b/package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
> similarity index 100%
> rename from package/go/0001-build.go-explicit-option-for-crosscompilation.patch
> rename to package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
> diff --git a/package/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch b/package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> similarity index 100%
> rename from package/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> rename to package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> diff --git a/package/go/go.hash b/package/go/go/go.hash
> similarity index 100%
> rename from package/go/go.hash
> rename to package/go/go/go.hash
> diff --git a/package/go/go/go.mk b/package/go/go/go.mk
> new file mode 100644
> index 0000000000..c3c40922f4
> --- /dev/null
> +++ b/package/go/go/go.mk
> @@ -0,0 +1,53 @@
> +################################################################################
> +#
> +# go
> +#
> +################################################################################
> +
> +GO_SITE = https://storage.googleapis.com/golang
> +GO_SOURCE = go$(GO_VERSION).src.tar.gz
> +
> +GO_LICENSE = BSD-3-Clause
> +GO_LICENSE_FILES = LICENSE
> +GO_CPE_ID_VENDOR = golang
> +
> +HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
> +
> +ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
> +
> +HOST_GO_CROSS_ENV = \
> + CC_FOR_TARGET="$(TARGET_CC)" \
> + CXX_FOR_TARGET="$(TARGET_CXX)" \
> + GOOS="linux" \
> + GOARCH=$(GO_GOARCH) \
> + $(if $(GO_GO386),GO386=$(GO_GO386)) \
> + $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
> + GO_ASSUME_CROSSCOMPILING=1
> +
> +endif
> +
> +# The go build system is not compatible with ccache, so use
> +# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
> +HOST_GO_MAKE_ENV = \
> + GO111MODULE=off \
> + GOCACHE=$(HOST_GO_HOST_CACHE) \
> + GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
> + GOROOT_FINAL=$(HOST_GO_ROOT) \
> + GOROOT="$(@D)" \
> + GOBIN="$(@D)/bin" \
> + GOOS=linux \
> + CC=$(HOSTCC_NOCCACHE) \
> + CXX=$(HOSTCXX_NOCCACHE) \
> + CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
> + $(HOST_GO_CROSS_ENV)
> +
> +define HOST_GO_BUILD_CMDS
> + cd $(@D)/src && \
> + $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
> +endef
> +
> +define HOST_GO_INSTALL_CMDS
> + $(GO_BINARIES_INSTALL)
> +endef
> +
> +$(eval $(host-generic-package))
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
2024-04-15 16:22 ` [Buildroot] [PATCH v2 1/6] DEVELOPERS: add Thomas Perale for 'go' Thomas Perale via buildroot
2024-04-15 16:22 ` [Buildroot] [PATCH v2 2/6] package/go: new subdirectory for go variants Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-06-01 15:41 ` Yann E. MORIN
2024-06-06 11:44 ` Yann E. MORIN
2024-04-15 16:22 ` [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package Thomas Perale via buildroot
` (3 subsequent siblings)
6 siblings, 2 replies; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
Makes every packages built by the Go compiler select a new variable
introduced in this patch: BR2_PACKAGE_HOST_GO.
In later commits Go compiler variant will be introduced (built from
source, pre-built binaries) and selecting BR2_PACKAGE_HOST_GO will
force to add host-go provider to the dependency list.
The same pattern is used for Rust packages.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
package/balena-engine/Config.in | 1 +
package/cni-plugins/Config.in | 1 +
package/containerd/Config.in | 1 +
package/crucible/Config.in | 1 +
package/delve/Config.in | 1 +
package/delve/Config.in.host | 1 +
package/docker-cli/Config.in | 1 +
package/docker-compose/Config.in | 1 +
package/docker-engine/Config.in | 1 +
package/embiggen-disk/Config.in | 1 +
package/flannel/Config.in | 1 +
package/gitlab-runner/Config.in | 1 +
package/go/Config.in.host | 5 +++++
package/gocryptfs/Config.in | 1 +
package/mender-artifact/Config.in.host | 1 +
package/mender-connect/Config.in | 1 +
package/mender/Config.in | 1 +
package/moby-buildkit/Config.in | 1 +
package/moby-buildkit/Config.in.host | 1 +
package/nerdctl/Config.in | 1 +
package/runc/Config.in | 1 +
package/runc/Config.in.host | 1 +
package/tinifier/Config.in | 1 +
package/wtfutil/Config.in | 1 +
24 files changed, 28 insertions(+)
diff --git a/package/balena-engine/Config.in b/package/balena-engine/Config.in
index 02f694515e..5966b33f58 100644
--- a/package/balena-engine/Config.in
+++ b/package/balena-engine/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_BALENA_ENGINE
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime
select BR2_PACKAGE_UTIL_LINUX # runtime
select BR2_PACKAGE_UTIL_LINUX_BINARIES # runtime
diff --git a/package/cni-plugins/Config.in b/package/cni-plugins/Config.in
index 25e6ff534d..6d4ca0a5b4 100644
--- a/package/cni-plugins/Config.in
+++ b/package/cni-plugins/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_CNI_PLUGINS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU
+ select BR2_PACKAGE_HOST_GO
help
Container Networking Interface plugins.
diff --git a/package/containerd/Config.in b/package/containerd/Config.in
index 2dd04b109c..f014c56e10 100644
--- a/package/containerd/Config.in
+++ b/package/containerd/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_CONTAINERD
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
depends on BR2_USE_MMU # util-linux
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
select BR2_PACKAGE_UTIL_LINUX # runtime dependency
select BR2_PACKAGE_UTIL_LINUX_BINARIES
diff --git a/package/crucible/Config.in b/package/crucible/Config.in
index b27eb31ae5..1e1b29c3df 100644
--- a/package/crucible/Config.in
+++ b/package/crucible/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_CRUCIBLE
bool "crucible"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
Crucible is a One-Time-Programmable (OTP) fusing tool for the
i.MX family.
diff --git a/package/delve/Config.in b/package/delve/Config.in
index 9428e4016a..288dc1ea15 100644
--- a/package/delve/Config.in
+++ b/package/delve/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_DELVE_ARCH_SUPPORTS
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
+ select BR2_PACKAGE_HOST_GO
config BR2_PACKAGE_DELVE
bool "delve"
diff --git a/package/delve/Config.in.host b/package/delve/Config.in.host
index dab5ca8914..0938ab0659 100644
--- a/package/delve/Config.in.host
+++ b/package/delve/Config.in.host
@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_DELVE
bool "host delve"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
Delve is a debugger for the Go programming language.
diff --git a/package/docker-cli/Config.in b/package/docker-cli/Config.in
index 6f187c9d22..52e7f7c871 100644
--- a/package/docker-cli/Config.in
+++ b/package/docker-cli/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_DOCKER_CLI
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
+ select BR2_PACKAGE_HOST_GO
help
Docker is a platform to build, ship,
and run applications as lightweight containers.
diff --git a/package/docker-compose/Config.in b/package/docker-compose/Config.in
index 59128f7a19..f3560e402b 100644
--- a/package/docker-compose/Config.in
+++ b/package/docker-compose/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_DOCKER_CLI
+ select BR2_PACKAGE_HOST_GO
help
Multi-container applications with the Docker CLI.
diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in
index d48ffe6484..49a002a647 100644
--- a/package/docker-engine/Config.in
+++ b/package/docker-engine/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_DOCKER_ENGINE
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_CONTAINERD # runtime dependency
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime dependency
select BR2_PACKAGE_LIBSECCOMP
help
diff --git a/package/embiggen-disk/Config.in b/package/embiggen-disk/Config.in
index 667d71c86e..c323fb1b6d 100644
--- a/package/embiggen-disk/Config.in
+++ b/package/embiggen-disk/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_EMBIGGEN_DISK
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_UTIL_LINUX # sfdisk
select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk
help
diff --git a/package/flannel/Config.in b/package/flannel/Config.in
index eb8d798f48..f37cfaa9cc 100644
--- a/package/flannel/Config.in
+++ b/package/flannel/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_FLANNEL
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
+ select BR2_PACKAGE_HOST_GO
help
Flannel is a virtual network that gives a subnet to each
host for use with container runtimes.
diff --git a/package/gitlab-runner/Config.in b/package/gitlab-runner/Config.in
index 4289613ab9..cfe8c941bc 100644
--- a/package/gitlab-runner/Config.in
+++ b/package/gitlab-runner/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_GITLAB_RUNNER
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_CA_CERTIFICATES # runtime
select BR2_PACKAGE_GIT # runtime
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBCURL # runtime
select BR2_PACKAGE_LIBCURL_CURL # runtime
select BR2_PACKAGE_LIBCURL_FORCE_TLS # runtime
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index 7edf45850d..e1833d0905 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -32,6 +32,11 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
+# Go packages should select BR2_PACKAGE_HOST_GO
+config BR2_PACKAGE_HOST_GO
+ bool
+ depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
source "package/go/go-bootstrap-stage3/Config.in.host"
diff --git a/package/gocryptfs/Config.in b/package/gocryptfs/Config.in
index 2630cafdcf..2c70b9b21b 100644
--- a/package/gocryptfs/Config.in
+++ b/package/gocryptfs/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_GOCRYPTFS
bool "gocryptfs"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_HOST_GO
help
gocryptfs is an encrypted FUSE overlay filesystem.
diff --git a/package/mender-artifact/Config.in.host b/package/mender-artifact/Config.in.host
index c7be0ed261..39353b23e7 100644
--- a/package/mender-artifact/Config.in.host
+++ b/package/mender-artifact/Config.in.host
@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MENDER_ARTIFACT
bool "host mender-artifact"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
The mender-artifact tool is a CLI implementation of the
Mender artifacts library.
diff --git a/package/mender-connect/Config.in b/package/mender-connect/Config.in
index 0845910880..d478e468c2 100644
--- a/package/mender-connect/Config.in
+++ b/package/mender-connect/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_MENDER_CONNECT
depends on BR2_USE_WCHAR # libglib2 -> gettext
depends on BR2_USE_MMU # dbus -> fork()
select BR2_PACKAGE_DBUS # runtime
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_MENDER # runtime
select BR2_PACKAGE_OPENSSL
diff --git a/package/mender/Config.in b/package/mender/Config.in
index 7d768cebec..4831548f76 100644
--- a/package/mender/Config.in
+++ b/package/mender/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_MENDER
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
+ select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4
diff --git a/package/moby-buildkit/Config.in b/package/moby-buildkit/Config.in
index 93c852bcdb..1a0b599097 100644
--- a/package/moby-buildkit/Config.in
+++ b/package/moby-buildkit/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_MOBY_BUILDKIT
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_USE_MMU
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
+ select BR2_PACKAGE_HOST_GO
help
BuildKit is a toolkit for converting source code to build
artifacts in an efficient, expressive and repeatable manner.
diff --git a/package/moby-buildkit/Config.in.host b/package/moby-buildkit/Config.in.host
index a3b18548f8..d4eb0d74c3 100644
--- a/package/moby-buildkit/Config.in.host
+++ b/package/moby-buildkit/Config.in.host
@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MOBY_BUILDKIT
bool "host moby-buildkit"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
BuildKit is a toolkit for converting source code to build
artifacts in an efficient expressive and repeatable manner.
diff --git a/package/nerdctl/Config.in b/package/nerdctl/Config.in
index 969b9bb40e..062b36ab85 100644
--- a/package/nerdctl/Config.in
+++ b/package/nerdctl/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_NERDCTL
depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CONTAINERD # runtime
+ select BR2_PACKAGE_HOST_GO
help
Docker-compatible CLI for containerd, controlling runc.
diff --git a/package/runc/Config.in b/package/runc/Config.in
index fe527b1954..73eac72527 100644
--- a/package/runc/Config.in
+++ b/package/runc/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_RUNC
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
+ select BR2_PACKAGE_HOST_GO
help
runC is a CLI tool for spawning and running containers
according to the OCI specification.
diff --git a/package/runc/Config.in.host b/package/runc/Config.in.host
index 4b2555e029..78193cb499 100644
--- a/package/runc/Config.in.host
+++ b/package/runc/Config.in.host
@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_RUNC
bool "host runc"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
runC is a CLI tool for spawning and running containers
according to the OCI specification.
diff --git a/package/tinifier/Config.in b/package/tinifier/Config.in
index fbadfe6bd9..eae8b8f499 100644
--- a/package/tinifier/Config.in
+++ b/package/tinifier/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_TINIFIER
bool "tinifier"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
CLI tool for images compressing
diff --git a/package/wtfutil/Config.in b/package/wtfutil/Config.in
index 8c3efcea5d..3fd8c41bab 100644
--- a/package/wtfutil/Config.in
+++ b/package/wtfutil/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_WTFUTIL
bool "wtfutil"
depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_GO
help
WTF is the personal information dashboard for your terminal.
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO
2024-04-15 16:22 ` [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO Thomas Perale via buildroot
@ 2024-06-01 15:41 ` Yann E. MORIN
2024-06-06 11:44 ` Yann E. MORIN
1 sibling, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:41 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Makes every packages built by the Go compiler select a new variable
> introduced in this patch: BR2_PACKAGE_HOST_GO.
> In later commits Go compiler variant will be introduced (built from
> source, pre-built binaries) and selecting BR2_PACKAGE_HOST_GO will
> force to add host-go provider to the dependency list.
>
> The same pattern is used for Rust packages.
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> package/balena-engine/Config.in | 1 +
> package/cni-plugins/Config.in | 1 +
> package/containerd/Config.in | 1 +
> package/crucible/Config.in | 1 +
> package/delve/Config.in | 1 +
> package/delve/Config.in.host | 1 +
> package/docker-cli/Config.in | 1 +
> package/docker-compose/Config.in | 1 +
> package/docker-engine/Config.in | 1 +
> package/embiggen-disk/Config.in | 1 +
> package/flannel/Config.in | 1 +
> package/gitlab-runner/Config.in | 1 +
> package/go/Config.in.host | 5 +++++
> package/gocryptfs/Config.in | 1 +
> package/mender-artifact/Config.in.host | 1 +
> package/mender-connect/Config.in | 1 +
> package/mender/Config.in | 1 +
> package/moby-buildkit/Config.in | 1 +
> package/moby-buildkit/Config.in.host | 1 +
> package/nerdctl/Config.in | 1 +
> package/runc/Config.in | 1 +
> package/runc/Config.in.host | 1 +
> package/tinifier/Config.in | 1 +
> package/wtfutil/Config.in | 1 +
> 24 files changed, 28 insertions(+)
>
> diff --git a/package/balena-engine/Config.in b/package/balena-engine/Config.in
> index 02f694515e..5966b33f58 100644
> --- a/package/balena-engine/Config.in
> +++ b/package/balena-engine/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_BALENA_ENGINE
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
> depends on BR2_USE_MMU # util-linux
> select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_IPTABLES # runtime
> select BR2_PACKAGE_UTIL_LINUX # runtime
> select BR2_PACKAGE_UTIL_LINUX_BINARIES # runtime
> diff --git a/package/cni-plugins/Config.in b/package/cni-plugins/Config.in
> index 25e6ff534d..6d4ca0a5b4 100644
> --- a/package/cni-plugins/Config.in
> +++ b/package/cni-plugins/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_CNI_PLUGINS
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
> depends on BR2_USE_MMU
> + select BR2_PACKAGE_HOST_GO
> help
> Container Networking Interface plugins.
>
> diff --git a/package/containerd/Config.in b/package/containerd/Config.in
> index 2dd04b109c..f014c56e10 100644
> --- a/package/containerd/Config.in
> +++ b/package/containerd/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_CONTAINERD
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
> depends on BR2_USE_MMU # util-linux
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
> select BR2_PACKAGE_UTIL_LINUX # runtime dependency
> select BR2_PACKAGE_UTIL_LINUX_BINARIES
> diff --git a/package/crucible/Config.in b/package/crucible/Config.in
> index b27eb31ae5..1e1b29c3df 100644
> --- a/package/crucible/Config.in
> +++ b/package/crucible/Config.in
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_CRUCIBLE
> bool "crucible"
> depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> Crucible is a One-Time-Programmable (OTP) fusing tool for the
> i.MX family.
> diff --git a/package/delve/Config.in b/package/delve/Config.in
> index 9428e4016a..288dc1ea15 100644
> --- a/package/delve/Config.in
> +++ b/package/delve/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_DELVE_ARCH_SUPPORTS
> 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
> + select BR2_PACKAGE_HOST_GO
>
> config BR2_PACKAGE_DELVE
> bool "delve"
> diff --git a/package/delve/Config.in.host b/package/delve/Config.in.host
> index dab5ca8914..0938ab0659 100644
> --- a/package/delve/Config.in.host
> +++ b/package/delve/Config.in.host
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_HOST_DELVE
> bool "host delve"
> depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> Delve is a debugger for the Go programming language.
>
> diff --git a/package/docker-cli/Config.in b/package/docker-cli/Config.in
> index 6f187c9d22..52e7f7c871 100644
> --- a/package/docker-cli/Config.in
> +++ b/package/docker-cli/Config.in
> @@ -3,6 +3,7 @@ config BR2_PACKAGE_DOCKER_CLI
> 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
> + select BR2_PACKAGE_HOST_GO
> help
> Docker is a platform to build, ship,
> and run applications as lightweight containers.
> diff --git a/package/docker-compose/Config.in b/package/docker-compose/Config.in
> index 59128f7a19..f3560e402b 100644
> --- a/package/docker-compose/Config.in
> +++ b/package/docker-compose/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE
> depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_PACKAGE_DOCKER_CLI
> + select BR2_PACKAGE_HOST_GO
> help
> Multi-container applications with the Docker CLI.
>
> diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in
> index d48ffe6484..49a002a647 100644
> --- a/package/docker-engine/Config.in
> +++ b/package/docker-engine/Config.in
> @@ -9,6 +9,7 @@ config BR2_PACKAGE_DOCKER_ENGINE
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp
> select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
> select BR2_PACKAGE_CONTAINERD # runtime dependency
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_IPTABLES # runtime dependency
> select BR2_PACKAGE_LIBSECCOMP
> help
> diff --git a/package/embiggen-disk/Config.in b/package/embiggen-disk/Config.in
> index 667d71c86e..c323fb1b6d 100644
> --- a/package/embiggen-disk/Config.in
> +++ b/package/embiggen-disk/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_EMBIGGEN_DISK
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
> depends on BR2_USE_MMU # util-linux
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_UTIL_LINUX # sfdisk
> select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk
> help
> diff --git a/package/flannel/Config.in b/package/flannel/Config.in
> index eb8d798f48..f37cfaa9cc 100644
> --- a/package/flannel/Config.in
> +++ b/package/flannel/Config.in
> @@ -8,6 +8,7 @@ config BR2_PACKAGE_FLANNEL
> 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
> + select BR2_PACKAGE_HOST_GO
> help
> Flannel is a virtual network that gives a subnet to each
> host for use with container runtimes.
> diff --git a/package/gitlab-runner/Config.in b/package/gitlab-runner/Config.in
> index 4289613ab9..cfe8c941bc 100644
> --- a/package/gitlab-runner/Config.in
> +++ b/package/gitlab-runner/Config.in
> @@ -9,6 +9,7 @@ config BR2_PACKAGE_GITLAB_RUNNER
> select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
> select BR2_PACKAGE_CA_CERTIFICATES # runtime
> select BR2_PACKAGE_GIT # runtime
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_LIBCURL # runtime
> select BR2_PACKAGE_LIBCURL_CURL # runtime
> select BR2_PACKAGE_LIBCURL_FORCE_TLS # runtime
> diff --git a/package/go/Config.in.host b/package/go/Config.in.host
> index 7edf45850d..e1833d0905 100644
> --- a/package/go/Config.in.host
> +++ b/package/go/Config.in.host
> @@ -32,6 +32,11 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> default y
> depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
>
> +# Go packages should select BR2_PACKAGE_HOST_GO
> +config BR2_PACKAGE_HOST_GO
> + bool
> + depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> +
> source "package/go/go-bootstrap-stage1/Config.in.host"
> source "package/go/go-bootstrap-stage2/Config.in.host"
> source "package/go/go-bootstrap-stage3/Config.in.host"
> diff --git a/package/gocryptfs/Config.in b/package/gocryptfs/Config.in
> index 2630cafdcf..2c70b9b21b 100644
> --- a/package/gocryptfs/Config.in
> +++ b/package/gocryptfs/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_GOCRYPTFS
> bool "gocryptfs"
> depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
> depends on BR2_TOOLCHAIN_HAS_THREADS
> + select BR2_PACKAGE_HOST_GO
> help
> gocryptfs is an encrypted FUSE overlay filesystem.
>
> diff --git a/package/mender-artifact/Config.in.host b/package/mender-artifact/Config.in.host
> index c7be0ed261..39353b23e7 100644
> --- a/package/mender-artifact/Config.in.host
> +++ b/package/mender-artifact/Config.in.host
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_HOST_MENDER_ARTIFACT
> bool "host mender-artifact"
> depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> The mender-artifact tool is a CLI implementation of the
> Mender artifacts library.
> diff --git a/package/mender-connect/Config.in b/package/mender-connect/Config.in
> index 0845910880..d478e468c2 100644
> --- a/package/mender-connect/Config.in
> +++ b/package/mender-connect/Config.in
> @@ -6,6 +6,7 @@ config BR2_PACKAGE_MENDER_CONNECT
> depends on BR2_USE_WCHAR # libglib2 -> gettext
> depends on BR2_USE_MMU # dbus -> fork()
> select BR2_PACKAGE_DBUS # runtime
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_LIBGLIB2
> select BR2_PACKAGE_MENDER # runtime
> select BR2_PACKAGE_OPENSSL
> diff --git a/package/mender/Config.in b/package/mender/Config.in
> index 7d768cebec..4831548f76 100644
> --- a/package/mender/Config.in
> +++ b/package/mender/Config.in
> @@ -3,6 +3,7 @@ config BR2_PACKAGE_MENDER
> 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
> + select BR2_PACKAGE_HOST_GO
> select BR2_PACKAGE_OPENSSL
> select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4
> diff --git a/package/moby-buildkit/Config.in b/package/moby-buildkit/Config.in
> index 93c852bcdb..1a0b599097 100644
> --- a/package/moby-buildkit/Config.in
> +++ b/package/moby-buildkit/Config.in
> @@ -6,6 +6,7 @@ config BR2_PACKAGE_MOBY_BUILDKIT
> depends on !BR2_TOOLCHAIN_USES_UCLIBC
> depends on BR2_USE_MMU
> select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
> + select BR2_PACKAGE_HOST_GO
> help
> BuildKit is a toolkit for converting source code to build
> artifacts in an efficient, expressive and repeatable manner.
> diff --git a/package/moby-buildkit/Config.in.host b/package/moby-buildkit/Config.in.host
> index a3b18548f8..d4eb0d74c3 100644
> --- a/package/moby-buildkit/Config.in.host
> +++ b/package/moby-buildkit/Config.in.host
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_HOST_MOBY_BUILDKIT
> bool "host moby-buildkit"
> depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> BuildKit is a toolkit for converting source code to build
> artifacts in an efficient expressive and repeatable manner.
> diff --git a/package/nerdctl/Config.in b/package/nerdctl/Config.in
> index 969b9bb40e..062b36ab85 100644
> --- a/package/nerdctl/Config.in
> +++ b/package/nerdctl/Config.in
> @@ -6,6 +6,7 @@ config BR2_PACKAGE_NERDCTL
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd
> depends on BR2_USE_MMU # util-linux
> select BR2_PACKAGE_CONTAINERD # runtime
> + select BR2_PACKAGE_HOST_GO
> help
> Docker-compatible CLI for containerd, controlling runc.
>
> diff --git a/package/runc/Config.in b/package/runc/Config.in
> index fe527b1954..73eac72527 100644
> --- a/package/runc/Config.in
> +++ b/package/runc/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_RUNC
> depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
> + select BR2_PACKAGE_HOST_GO
> help
> runC is a CLI tool for spawning and running containers
> according to the OCI specification.
> diff --git a/package/runc/Config.in.host b/package/runc/Config.in.host
> index 4b2555e029..78193cb499 100644
> --- a/package/runc/Config.in.host
> +++ b/package/runc/Config.in.host
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_HOST_RUNC
> bool "host runc"
> depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> runC is a CLI tool for spawning and running containers
> according to the OCI specification.
> diff --git a/package/tinifier/Config.in b/package/tinifier/Config.in
> index fbadfe6bd9..eae8b8f499 100644
> --- a/package/tinifier/Config.in
> +++ b/package/tinifier/Config.in
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_TINIFIER
> bool "tinifier"
> depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> CLI tool for images compressing
>
> diff --git a/package/wtfutil/Config.in b/package/wtfutil/Config.in
> index 8c3efcea5d..3fd8c41bab 100644
> --- a/package/wtfutil/Config.in
> +++ b/package/wtfutil/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_WTFUTIL
> bool "wtfutil"
> depends on BR2_USE_MMU # fork()
> depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
> + select BR2_PACKAGE_HOST_GO
> help
> WTF is the personal information dashboard for your terminal.
>
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO
2024-04-15 16:22 ` [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO Thomas Perale via buildroot
2024-06-01 15:41 ` Yann E. MORIN
@ 2024-06-06 11:44 ` Yann E. MORIN
1 sibling, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-06 11:44 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Makes every packages built by the Go compiler select a new variable
> introduced in this patch: BR2_PACKAGE_HOST_GO.
> In later commits Go compiler variant will be introduced (built from
> source, pre-built binaries) and selecting BR2_PACKAGE_HOST_GO will
> force to add host-go provider to the dependency list.
[--SNIP--]
> diff --git a/package/delve/Config.in b/package/delve/Config.in
> index 9428e4016a..288dc1ea15 100644
> --- a/package/delve/Config.in
> +++ b/package/delve/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_DELVE_ARCH_SUPPORTS
> 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
> + select BR2_PACKAGE_HOST_GO
>
> config BR2_PACKAGE_DELVE
> bool "delve"
I missed that the 'select' was added to the _ARCH_SUPPORTS symbol, not
to the main symbol. That means that hos-go (and all the bootstraps
before it) are built as soon as the target is supported be delve, even
if devle is not itself enabled.
I've sent a fixup commit that moves the seelct to the main symbol
instead:
https://gitlab.com/buildroot.org/buildroot/-/commit/f820d41f0a7479bd43b72dcc4f70b978e5d0ed70
I looked at the other packages, and I could not spot any issue. Could
you please have a second look on your side, please?
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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
` (2 preceding siblings ...)
2024-04-15 16:22 ` [Buildroot] [PATCH v2 3/6] package/pkg-golang: select BR2_PACKAGE_HOST_GO Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-06-01 15:42 ` Yann E. MORIN
2024-04-15 16:22 ` [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider Thomas Perale via buildroot
` (2 subsequent siblings)
6 siblings, 1 reply; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
Turns host-go into a virtual package, with a single providers:
- host-go-src, which builds host-go from source based on the same logic
that was previously used in package/go/go/go.mk, now moved to
package/go/go-src/go-src.mk to remove any ambiguity on the role of
the package.
In later commits, we'll add host-go-bin a prebuilt binary host go compiler
as another provider.
A similar solution is proposed for host-rust.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
.checkpackageignore | 2 +-
package/go/Config.in.host | 24 +++++++++++++++++
...explicit-option-for-crosscompilation.patch | 0
...ldvcs-false-when-building-go-bootstr.patch | 0
package/go/{go/go.hash => go-src/go-src.hash} | 0
package/go/{go/go.mk => go-src/go-src.mk} | 27 ++++++++++---------
package/go/go.mk | 2 ++
7 files changed, 41 insertions(+), 14 deletions(-)
rename package/go/{go => go-src}/0001-build.go-explicit-option-for-crosscompilation.patch (100%)
rename package/go/{go => go-src}/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch (100%)
rename package/go/{go/go.hash => go-src/go-src.hash} (100%)
rename package/go/{go/go.mk => go-src/go-src.mk} (66%)
diff --git a/.checkpackageignore b/.checkpackageignore
index b3eab26071..69681bfeaa 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -465,7 +465,7 @@ package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch lib_patch.U
package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch lib_patch.Upstream
package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_patch.Upstream
package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream
-package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
+package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index e1833d0905..483393f8e4 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -37,6 +37,30 @@ config BR2_PACKAGE_HOST_GO
bool
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+if BR2_PACKAGE_HOST_GO
+
+choice
+ prompt "Go compiler variant"
+ default BR2_PACKAGE_HOST_GO_SRC
+ help
+ Select a Go compiler variant.
+
+ Default to 'host-go-src'.
+
+config BR2_PACKAGE_HOST_GO_SRC
+ bool "host go (source)"
+ help
+ This package will build the go compiler for the host.
+
+endchoice
+
+config BR2_PACKAGE_PROVIDES_HOST_GO
+ string
+ # Default to host-go-src
+ default "host-go-src" if BR2_PACKAGE_HOST_GO_SRC
+
+endif
+
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
source "package/go/go-bootstrap-stage3/Config.in.host"
diff --git a/package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch b/package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch
similarity index 100%
rename from package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
rename to package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch
diff --git a/package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch b/package/go/go-src/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
similarity index 100%
rename from package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
rename to package/go/go-src/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
diff --git a/package/go/go/go.hash b/package/go/go-src/go-src.hash
similarity index 100%
rename from package/go/go/go.hash
rename to package/go/go-src/go-src.hash
diff --git a/package/go/go/go.mk b/package/go/go-src/go-src.mk
similarity index 66%
rename from package/go/go/go.mk
rename to package/go/go-src/go-src.mk
index c3c40922f4..1e061e20bc 100644
--- a/package/go/go/go.mk
+++ b/package/go/go-src/go-src.mk
@@ -1,21 +1,22 @@
################################################################################
#
-# go
+# go-src
#
################################################################################
-GO_SITE = https://storage.googleapis.com/golang
-GO_SOURCE = go$(GO_VERSION).src.tar.gz
+GO_SRC_SITE = https://storage.googleapis.com/golang
+GO_SRC_SOURCE = go$(GO_VERSION).src.tar.gz
-GO_LICENSE = BSD-3-Clause
-GO_LICENSE_FILES = LICENSE
-GO_CPE_ID_VENDOR = golang
+GO_SRC_LICENSE = BSD-3-Clause
+GO_SRC_LICENSE_FILES = LICENSE
+GO_SRC_CPE_ID_VENDOR = golang
-HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
+HOST_GO_SRC_PROVIDES = host-go
+HOST_GO_SRC_DEPENDENCIES = host-go-bootstrap-stage3
ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
-HOST_GO_CROSS_ENV = \
+HOST_GO_SRC_CROSS_ENV = \
CC_FOR_TARGET="$(TARGET_CC)" \
CXX_FOR_TARGET="$(TARGET_CXX)" \
GOOS="linux" \
@@ -28,7 +29,7 @@ endif
# The go build system is not compatible with ccache, so use
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
-HOST_GO_MAKE_ENV = \
+HOST_GO_SRC_MAKE_ENV = \
GO111MODULE=off \
GOCACHE=$(HOST_GO_HOST_CACHE) \
GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
@@ -39,14 +40,14 @@ HOST_GO_MAKE_ENV = \
CC=$(HOSTCC_NOCCACHE) \
CXX=$(HOSTCXX_NOCCACHE) \
CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
- $(HOST_GO_CROSS_ENV)
+ $(HOST_GO_SRC_CROSS_ENV)
-define HOST_GO_BUILD_CMDS
+define HOST_GO_SRC_BUILD_CMDS
cd $(@D)/src && \
- $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
+ $(HOST_GO_SRC_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
endef
-define HOST_GO_INSTALL_CMDS
+define HOST_GO_SRC_INSTALL_CMDS
$(GO_BINARIES_INSTALL)
endef
diff --git a/package/go/go.mk b/package/go/go.mk
index 104a4a73fb..21cdb29f8f 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -129,4 +129,6 @@ define GO_BINARIES_INSTALL
find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \;
endef
+$(eval $(host-virtual-package))
+
include $(sort $(wildcard package/go/*/*.mk))
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package
2024-04-15 16:22 ` [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package Thomas Perale via buildroot
@ 2024-06-01 15:42 ` Yann E. MORIN
0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:42 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Turns host-go into a virtual package, with a single providers:
>
> - host-go-src, which builds host-go from source based on the same logic
> that was previously used in package/go/go/go.mk, now moved to
> package/go/go-src/go-src.mk to remove any ambiguity on the role of
> the package.
>
> In later commits, we'll add host-go-bin a prebuilt binary host go compiler
> as another provider.
>
> A similar solution is proposed for host-rust.
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> .checkpackageignore | 2 +-
> package/go/Config.in.host | 24 +++++++++++++++++
> ...explicit-option-for-crosscompilation.patch | 0
> ...ldvcs-false-when-building-go-bootstr.patch | 0
> package/go/{go/go.hash => go-src/go-src.hash} | 0
> package/go/{go/go.mk => go-src/go-src.mk} | 27 ++++++++++---------
> package/go/go.mk | 2 ++
> 7 files changed, 41 insertions(+), 14 deletions(-)
> rename package/go/{go => go-src}/0001-build.go-explicit-option-for-crosscompilation.patch (100%)
> rename package/go/{go => go-src}/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch (100%)
> rename package/go/{go/go.hash => go-src/go-src.hash} (100%)
> rename package/go/{go/go.mk => go-src/go-src.mk} (66%)
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index b3eab26071..69681bfeaa 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -465,7 +465,7 @@ package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch lib_patch.U
> package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch lib_patch.Upstream
> package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_patch.Upstream
> package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream
> -package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
> +package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
> package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
> package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
> package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
> diff --git a/package/go/Config.in.host b/package/go/Config.in.host
> index e1833d0905..483393f8e4 100644
> --- a/package/go/Config.in.host
> +++ b/package/go/Config.in.host
> @@ -37,6 +37,30 @@ config BR2_PACKAGE_HOST_GO
> bool
> depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
>
> +if BR2_PACKAGE_HOST_GO
> +
> +choice
> + prompt "Go compiler variant"
> + default BR2_PACKAGE_HOST_GO_SRC
> + help
> + Select a Go compiler variant.
> +
> + Default to 'host-go-src'.
> +
> +config BR2_PACKAGE_HOST_GO_SRC
> + bool "host go (source)"
> + help
> + This package will build the go compiler for the host.
> +
> +endchoice
> +
> +config BR2_PACKAGE_PROVIDES_HOST_GO
> + string
> + # Default to host-go-src
> + default "host-go-src" if BR2_PACKAGE_HOST_GO_SRC
> +
> +endif
> +
> source "package/go/go-bootstrap-stage1/Config.in.host"
> source "package/go/go-bootstrap-stage2/Config.in.host"
> source "package/go/go-bootstrap-stage3/Config.in.host"
> diff --git a/package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch b/package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch
> similarity index 100%
> rename from package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
> rename to package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch
> diff --git a/package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch b/package/go/go-src/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> similarity index 100%
> rename from package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> rename to package/go/go-src/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
> diff --git a/package/go/go/go.hash b/package/go/go-src/go-src.hash
> similarity index 100%
> rename from package/go/go/go.hash
> rename to package/go/go-src/go-src.hash
> diff --git a/package/go/go/go.mk b/package/go/go-src/go-src.mk
> similarity index 66%
> rename from package/go/go/go.mk
> rename to package/go/go-src/go-src.mk
> index c3c40922f4..1e061e20bc 100644
> --- a/package/go/go/go.mk
> +++ b/package/go/go-src/go-src.mk
> @@ -1,21 +1,22 @@
> ################################################################################
> #
> -# go
> +# go-src
> #
> ################################################################################
>
> -GO_SITE = https://storage.googleapis.com/golang
> -GO_SOURCE = go$(GO_VERSION).src.tar.gz
> +GO_SRC_SITE = https://storage.googleapis.com/golang
> +GO_SRC_SOURCE = go$(GO_VERSION).src.tar.gz
>
> -GO_LICENSE = BSD-3-Clause
> -GO_LICENSE_FILES = LICENSE
> -GO_CPE_ID_VENDOR = golang
> +GO_SRC_LICENSE = BSD-3-Clause
> +GO_SRC_LICENSE_FILES = LICENSE
> +GO_SRC_CPE_ID_VENDOR = golang
>
> -HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3
> +HOST_GO_SRC_PROVIDES = host-go
> +HOST_GO_SRC_DEPENDENCIES = host-go-bootstrap-stage3
>
> ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
>
> -HOST_GO_CROSS_ENV = \
> +HOST_GO_SRC_CROSS_ENV = \
> CC_FOR_TARGET="$(TARGET_CC)" \
> CXX_FOR_TARGET="$(TARGET_CXX)" \
> GOOS="linux" \
> @@ -28,7 +29,7 @@ endif
>
> # The go build system is not compatible with ccache, so use
> # HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
> -HOST_GO_MAKE_ENV = \
> +HOST_GO_SRC_MAKE_ENV = \
> GO111MODULE=off \
> GOCACHE=$(HOST_GO_HOST_CACHE) \
> GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \
> @@ -39,14 +40,14 @@ HOST_GO_MAKE_ENV = \
> CC=$(HOSTCC_NOCCACHE) \
> CXX=$(HOSTCXX_NOCCACHE) \
> CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
> - $(HOST_GO_CROSS_ENV)
> + $(HOST_GO_SRC_CROSS_ENV)
>
> -define HOST_GO_BUILD_CMDS
> +define HOST_GO_SRC_BUILD_CMDS
> cd $(@D)/src && \
> - $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
> + $(HOST_GO_SRC_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
> endef
>
> -define HOST_GO_INSTALL_CMDS
> +define HOST_GO_SRC_INSTALL_CMDS
> $(GO_BINARIES_INSTALL)
> endef
>
> diff --git a/package/go/go.mk b/package/go/go.mk
> index 104a4a73fb..21cdb29f8f 100644
> --- a/package/go/go.mk
> +++ b/package/go/go.mk
> @@ -129,4 +129,6 @@ define GO_BINARIES_INSTALL
> find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \;
> endef
>
> +$(eval $(host-virtual-package))
> +
> include $(sort $(wildcard package/go/*/*.mk))
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
` (3 preceding siblings ...)
2024-04-15 16:22 ` [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-06-01 15:51 ` Yann E. MORIN
2024-04-15 16:22 ` [Buildroot] [PATCH v2 6/6] support/testing: add tests for Go providers Thomas Perale via buildroot
2024-06-01 15:54 ` [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Yann E. MORIN
6 siblings, 1 reply; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
This package provides a pre-built version for the host-go virtual
package introduced in the previous commits:
- host-go-bin installs a pre-built version of the Go compiler.
By default, host-go remains built from sources to keep the same
behavior as the former version.
The menuconfig entry for host-go is updated to expose the host-go-bin
provider. The dependencies are set as such as if host-go-src does not
support the host architecture, it will automatically fall back to
host-go-bin and vice versa.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
package/go/Config.in.host | 14 ++++++++++++--
package/go/go-bin/Config.in.host | 14 ++++++++++++++
package/go/go-bin/go-bin.hash | 8 ++++++++
package/go/go-bin/go-bin.mk | 19 +++++++++++++++++++
4 files changed, 53 insertions(+), 2 deletions(-)
create mode 100644 package/go/go-bin/Config.in.host
create mode 100644 package/go/go-bin/go-bin.hash
create mode 100644 package/go/go-bin/go-bin.mk
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index 483393f8e4..7055e9f28a 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -30,7 +30,7 @@ config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
bool
default y
- depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS || BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
# Go packages should select BR2_PACKAGE_HOST_GO
config BR2_PACKAGE_HOST_GO
@@ -41,7 +41,8 @@ if BR2_PACKAGE_HOST_GO
choice
prompt "Go compiler variant"
- default BR2_PACKAGE_HOST_GO_SRC
+ default BR2_PACKAGE_HOST_GO_SRC if BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
+ default BR2_PACKAGE_HOST_GO_BIN if BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
help
Select a Go compiler variant.
@@ -49,18 +50,27 @@ choice
config BR2_PACKAGE_HOST_GO_SRC
bool "host go (source)"
+ depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
help
This package will build the go compiler for the host.
+config BR2_PACKAGE_HOST_GO_BIN
+ bool "host go (pre-built)"
+ depends on BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
+ help
+ This package will install pre-built versions of the compiler
+
endchoice
config BR2_PACKAGE_PROVIDES_HOST_GO
string
# Default to host-go-src
default "host-go-src" if BR2_PACKAGE_HOST_GO_SRC
+ default "host-go-bin" if BR2_PACKAGE_HOST_GO_BIN
endif
+source "package/go/go-bin/Config.in.host"
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
source "package/go/go-bootstrap-stage3/Config.in.host"
diff --git a/package/go/go-bin/Config.in.host b/package/go/go-bin/Config.in.host
new file mode 100644
index 0000000000..b259afa197
--- /dev/null
+++ b/package/go/go-bin/Config.in.host
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH
+ string "Translate the HOSTARCH into the architecture name used by the Go compiler"
+ default armv6l if BR2_HOSTARCH = "arm"
+ default arm64 if BR2_HOSTARCH = "aarch64"
+ default ppc64le if BR2_HOSTARCH = "powerpc64le"
+ default s390x if BR2_HOSTARCH = "s390x"
+ default 386 if BR2_HOSTARCH = "x86"
+ default amd64 if BR2_HOSTARCH = "x86_64"
+ default ""
+
+config BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
+ bool
+ default y
+ depends on BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH != ""
diff --git a/package/go/go-bin/go-bin.hash b/package/go/go-bin/go-bin.hash
new file mode 100644
index 0000000000..298503c156
--- /dev/null
+++ b/package/go/go-bin/go-bin.hash
@@ -0,0 +1,8 @@
+# sha256 checksum from https://go.dev/dl/
+sha256 586d9eb7fe0489ab297ad80dd06414997df487c5cf536c490ffeaa8d8f1807a7 go1.22.2.linux-386.tar.gz
+sha256 5901c52b7a78002aeff14a21f93e0f064f74ce1360fce51c6ee68cd471216a17 go1.22.2.linux-amd64.tar.gz
+sha256 36e720b2d564980c162a48c7e97da2e407dfcc4239e1e58d98082dfa2486a0c1 go1.22.2.linux-arm64.tar.gz
+sha256 9243dfafde06e1efe24d59df6701818e6786b4adfdf1191098050d6d023c5369 go1.22.2.linux-armv6l.tar.gz
+sha256 32ea3dfef75d6a4d42a28a315148ba54c4f6f9a8dc93a522d421d13df0e6c3b7 go1.22.2.linux-ppc64le.tar.gz
+sha256 2b39019481c28c560d65e9811a478ae10e3ef765e0f59af362031d386a71bfef go1.22.2.linux-s390x.tar.gz
+sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
diff --git a/package/go/go-bin/go-bin.mk b/package/go/go-bin/go-bin.mk
new file mode 100644
index 0000000000..6c5c1b6485
--- /dev/null
+++ b/package/go/go-bin/go-bin.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# go-bin
+#
+################################################################################
+
+GO_BIN_SITE = https://go.dev/dl
+GO_BIN_LICENSE = BSD-3-Clause
+GO_BIN_LICENSE_FILES = LICENSE
+
+HOST_GO_BIN_PROVIDES = host-go
+
+HOST_GO_BIN_SOURCE = go$(GO_VERSION).linux-$(call qstrip, $(BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH)).tar.gz
+
+define HOST_GO_BIN_INSTALL_CMDS
+ $(GO_BINARIES_INSTALL)
+endef
+
+$(eval $(host-generic-package))
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-04-15 16:22 ` [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider Thomas Perale via buildroot
@ 2024-06-01 15:51 ` Yann E. MORIN
2024-06-14 4:07 ` Christian Stewart via buildroot
0 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:51 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> This package provides a pre-built version for the host-go virtual
> package introduced in the previous commits:
>
> - host-go-bin installs a pre-built version of the Go compiler.
>
> By default, host-go remains built from sources to keep the same
> behavior as the former version.
>
> The menuconfig entry for host-go is updated to expose the host-go-bin
> provider. The dependencies are set as such as if host-go-src does not
> support the host architecture, it will automatically fall back to
> host-go-bin and vice versa.
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
I eventually did not apply this one, because the runtime test you
intorduced in the following commit does not work:
$ ./support/testing/run-tests -o $(pwd)/run-tests -d ~/src/ -k -t 2 -j22 tests.package.test_go
17:30:47 TestGoSource Starting
17:30:47 TestGoBin Starting
17:30:48 TestGoSource Building
17:30:48 TestGoBin Building
17:32:34 TestGoBin Building done
17:32:40 TestGoBin Cleaning up
F17:35:38 TestGoSource Building done
17:35:44 TestGoSource Cleaning up
.
======================================================================
FAIL: test_run (tests.package.test_go.TestGoBin.test_run)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/ymorin/dev/buildroot/buildroot/next/support/testing/tests/package/test_go.py", line 27, in test_run
self.assertRunOk("tinifier -h")
File "/home/ymorin/dev/buildroot/buildroot/next/support/testing/infra/basetest.py", line 89, in assertRunOk
self.assertEqual(
AssertionError: 132 != 0 :
Failed to run: tinifier -h
output was:
Illegal instruction
----------------------------------------------------------------------
Ran 2 tests in 296.303s
FAILED (failures=1)
I had however did a few changes, that you can probably carry on your
next iteration, see below...
> ---
[--SNIP--]
> diff --git a/package/go/go-bin/Config.in.host b/package/go/go-bin/Config.in.host
> new file mode 100644
> index 0000000000..b259afa197
> --- /dev/null
> +++ b/package/go/go-bin/Config.in.host
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH
> + string "Translate the HOSTARCH into the architecture name used by the Go compiler"
> + default armv6l if BR2_HOSTARCH = "arm"
> + default arm64 if BR2_HOSTARCH = "aarch64"
> + default ppc64le if BR2_HOSTARCH = "powerpc64le"
> + default s390x if BR2_HOSTARCH = "s390x"
> + default 386 if BR2_HOSTARCH = "x86"
> + default amd64 if BR2_HOSTARCH = "x86_64"
> + default ""
'default' for strings must be strings, e.g.:
default "armv6l" if BR2_HOSTARCH = "arm"
Also, no need for an empty default, i.e. no need for:
default ""
[--SNIP--]
> diff --git a/package/go/go-bin/go-bin.hash b/package/go/go-bin/go-bin.hash
> new file mode 100644
> index 0000000000..298503c156
> --- /dev/null
> +++ b/package/go/go-bin/go-bin.hash
> @@ -0,0 +1,8 @@
> +# sha256 checksum from https://go.dev/dl/
> +sha256 586d9eb7fe0489ab297ad80dd06414997df487c5cf536c490ffeaa8d8f1807a7 go1.22.2.linux-386.tar.gz
> +sha256 5901c52b7a78002aeff14a21f93e0f064f74ce1360fce51c6ee68cd471216a17 go1.22.2.linux-amd64.tar.gz
> +sha256 36e720b2d564980c162a48c7e97da2e407dfcc4239e1e58d98082dfa2486a0c1 go1.22.2.linux-arm64.tar.gz
> +sha256 9243dfafde06e1efe24d59df6701818e6786b4adfdf1191098050d6d023c5369 go1.22.2.linux-armv6l.tar.gz
> +sha256 32ea3dfef75d6a4d42a28a315148ba54c4f6f9a8dc93a522d421d13df0e6c3b7 go1.22.2.linux-ppc64le.tar.gz
> +sha256 2b39019481c28c560d65e9811a478ae10e3ef765e0f59af362031d386a71bfef go1.22.2.linux-s390x.tar.gz
I had to update all those hashes:
sha256 fefba30bb0d3dd1909823ee38c9f1930c3dc5337a2ac4701c2277a329a386b57 go1.22.3.linux-386.tar.gz
sha256 8920ea521bad8f6b7bc377b4824982e011c19af27df88a815e3586ea895f1b36 go1.22.3.linux-amd64.tar.gz
sha256 6c33e52a5b26e7aa021b94475587fce80043a727a54ceb0eee2f9fc160646434 go1.22.3.linux-arm64.tar.gz
sha256 f2bacad20cd2b96f23a86d4826525d42b229fd431cc6d0dec61ff3bc448ef46e go1.22.3.linux-armv6l.tar.gz
sha256 04b7b05283de30dd2da20bf3114b2e22cc727938aed3148babaf35cc951051ac go1.22.3.linux-ppc64le.tar.gz
sha256 2aba796417a69be5f3ed489076bac79c1c02b36e29422712f9f3bf51da9cf2d4 go1.22.3.linux-s390x.tar.gz
> +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
> diff --git a/package/go/go-bin/go-bin.mk b/package/go/go-bin/go-bin.mk
> new file mode 100644
> index 0000000000..6c5c1b6485
> --- /dev/null
> +++ b/package/go/go-bin/go-bin.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# go-bin
> +#
> +################################################################################
> +
> +GO_BIN_SITE = https://go.dev/dl
Note that we do not always use the same _SITE for all the various go
packages, but as far as I could see, https://go.dev/dl has all the
source archives, so maybe we should use that for all the go packages?
> +GO_BIN_LICENSE = BSD-3-Clause
> +GO_BIN_LICENSE_FILES = LICENSE
I also added:
HOST_GO_BIN_ACTUAL_SOURCE_TARBALL = go$(GO_VERSION).src.tar.gz
and the corresonding hash:
sha256 80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68 go1.22.3.src.tar.gz
Note that, as https://go.dev/dl does have the source tarball, I did not
need to specify HOST_GO_BIN_ACTUAL_SOURCE_SITE
Regards,
Yann E. MORIN.
> +HOST_GO_BIN_PROVIDES = host-go
> +
> +HOST_GO_BIN_SOURCE = go$(GO_VERSION).linux-$(call qstrip, $(BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH)).tar.gz
> +
> +define HOST_GO_BIN_INSTALL_CMDS
> + $(GO_BINARIES_INSTALL)
> +endef
> +
> +$(eval $(host-generic-package))
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-06-01 15:51 ` Yann E. MORIN
@ 2024-06-14 4:07 ` Christian Stewart via buildroot
2024-06-14 5:44 ` Yann E. MORIN
2024-08-19 21:22 ` Yann E. MORIN
0 siblings, 2 replies; 22+ messages in thread
From: Christian Stewart via buildroot @ 2024-06-14 4:07 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: buildroot, Thomas Perale, Thomas Perale
Hi Yann,
On Sat, Jun 1, 2024 at 8:51 AM Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>
> [--SNIP--]
>
> Note that we do not always use the same _SITE for all the various go
> packages, but as far as I could see, https://go.dev/dl has all the
> source archives, so maybe we should use that for all the go packages?
>
> > +GO_BIN_LICENSE = BSD-3-Clause
> > +GO_BIN_LICENSE_FILES = LICENSE
>
> I also added:
>
> HOST_GO_BIN_ACTUAL_SOURCE_TAR
BALL = go$(GO_VERSION).src.tar.gz
>
> and the corresonding hash:
>
> sha256 80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68 go1.22.3.src.tar.gz
>
> Note that, as https://go.dev/dl does have the source tarball, I did not
> need to specify HOST_GO_BIN_ACTUAL_SOURCE_SITE
Do you have the modified version of this patch posted somewhere so I can test?
Thanks,
Christian Stewart
PS: Sent from wrong email previously, but christian@cjs.zip is also me.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-06-14 4:07 ` Christian Stewart via buildroot
@ 2024-06-14 5:44 ` Yann E. MORIN
2024-06-15 7:20 ` Yann E. MORIN
2024-08-19 21:22 ` Yann E. MORIN
1 sibling, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-14 5:44 UTC (permalink / raw)
To: Christian Stewart; +Cc: Thomas Perale, Thomas Perale, buildroot
On 2024-06-13 21:07 -0700, Christian Stewart via buildroot spake thusly:
[--SNIP--]
> Do you have the modified version of this patch posted somewhere so I can test?
Not anymore. I will dig in my rfeflog if I can get it, but that will
have to wait until ~16:00UTC.
Thanks for the help! :-)
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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-06-14 5:44 ` Yann E. MORIN
@ 2024-06-15 7:20 ` Yann E. MORIN
0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-15 7:20 UTC (permalink / raw)
To: Christian Stewart; +Cc: buildroot, Thomas Perale, Thomas Perale
Christian, All,
On 2024-06-14 07:44 +0200, Yann E. MORIN spake thusly:
> On 2024-06-13 21:07 -0700, Christian Stewart via buildroot spake thusly:
> [--SNIP--]
> > Do you have the modified version of this patch posted somewhere so I can test?
> Not anymore. I will dig in my rfeflog if I can get it, but that will
> have to wait until ~16:00UTC.
Here are the two patches;
https://paste.debian.net/plain/1320319 package/go/go-bin: new host-go provider
https://paste.debian.net/plain/1320320 support/testing: add tests for Go providers
Thanks!
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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider
2024-06-14 4:07 ` Christian Stewart via buildroot
2024-06-14 5:44 ` Yann E. MORIN
@ 2024-08-19 21:22 ` Yann E. MORIN
1 sibling, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-08-19 21:22 UTC (permalink / raw)
To: Christian Stewart; +Cc: Thomas Perale, Thomas Perale, buildroot
Christian, All,
Reviving this oldish thread...
On 2024-06-13 21:07 -0700, Christian Stewart via buildroot spake thusly:
> Do you have the modified version of this patch posted somewhere so I can test?
Did you eventually had time to look at this host-go-bin issue?
For reference, here is the issue I encountered:
https://lore.kernel.org/buildroot/ZltDc6AXn_CC83Gy@landeda/
And here are the two patches to be applied on top of master to reproduce
what I locally had:
https://paste.debian.net/plain/1320319 package/go/go-bin: new host-go provider
https://paste.debian.net/plain/1320320 support/testing: add tests for Go providers
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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v2 6/6] support/testing: add tests for Go providers
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
` (4 preceding siblings ...)
2024-04-15 16:22 ` [Buildroot] [PATCH v2 5/6] package/go/go-bin: new host-go provider Thomas Perale via buildroot
@ 2024-04-15 16:22 ` Thomas Perale via buildroot
2024-06-01 15:51 ` Yann E. MORIN
2024-06-01 15:54 ` [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Yann E. MORIN
6 siblings, 1 reply; 22+ messages in thread
From: Thomas Perale via buildroot @ 2024-04-15 16:22 UTC (permalink / raw)
To: buildroot; +Cc: Christian Stewart, Yann E . MORIN, Thomas Perale
Test the two providers of host-go to build a Go package.
- TestGoBin tests host-go-bin
- TestGoSource tests host-go-src
The tests consist of building and installing a Go package in the root
file system of an ARM vexpress QEMU system.
The tests pass if the program runs on the target.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
support/testing/tests/package/test_go.py | 41 ++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 support/testing/tests/package/test_go.py
diff --git a/support/testing/tests/package/test_go.py b/support/testing/tests/package/test_go.py
new file mode 100644
index 0000000000..305f8aeb3b
--- /dev/null
+++ b/support/testing/tests/package/test_go.py
@@ -0,0 +1,41 @@
+import os
+
+import infra.basetest
+
+
+class TestGoBase(infra.basetest.BRTest):
+
+ def login(self):
+ cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
+ self.emulator.boot(arch="armv5",
+ kernel="builtin",
+ options=["-initrd", cpio_file])
+ self.emulator.login()
+
+
+class TestGoBin(TestGoBase):
+ config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
+ """
+ BR2_TARGET_ROOTFS_CPIO=y
+ BR2_PACKAGE_HOST_GO=y
+ BR2_PACKAGE_HOST_GO_BIN=y
+ BR2_PACKAGE_TINIFIER=y
+ """
+
+ def test_run(self):
+ self.login()
+ self.assertRunOk("tinifier -h")
+
+
+class TestGoSource(TestGoBase):
+ config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
+ """
+ BR2_TARGET_ROOTFS_CPIO=y
+ BR2_PACKAGE_HOST_GO=y
+ BR2_PACKAGE_HOST_GO_SRC=y
+ BR2_PACKAGE_TINIFIER=y
+ """
+
+ def test_run(self):
+ self.login()
+ self.assertRunOk("tinifier -h")
--
2.44.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [Buildroot] [PATCH v2 6/6] support/testing: add tests for Go providers
2024-04-15 16:22 ` [Buildroot] [PATCH v2 6/6] support/testing: add tests for Go providers Thomas Perale via buildroot
@ 2024-06-01 15:51 ` Yann E. MORIN
0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:51 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> Test the two providers of host-go to build a Go package.
>
> - TestGoBin tests host-go-bin
> - TestGoSource tests host-go-src
Since I did not apply the go-bin package, I dropped the corresponding
test.
> The tests consist of building and installing a Go package in the root
> file system of an ARM vexpress QEMU system.
> The tests pass if the program runs on the target.
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> support/testing/tests/package/test_go.py | 41 ++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 support/testing/tests/package/test_go.py
>
> diff --git a/support/testing/tests/package/test_go.py b/support/testing/tests/package/test_go.py
> new file mode 100644
> index 0000000000..305f8aeb3b
> --- /dev/null
> +++ b/support/testing/tests/package/test_go.py
> @@ -0,0 +1,41 @@
> +import os
> +
> +import infra.basetest
> +
> +
> +class TestGoBase(infra.basetest.BRTest):
> +
> + def login(self):
> + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
> + self.emulator.boot(arch="armv5",
> + kernel="builtin",
> + options=["-initrd", cpio_file])
> + self.emulator.login()
> +
> +
> +class TestGoBin(TestGoBase):
> + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
> + """
> + BR2_TARGET_ROOTFS_CPIO=y
> + BR2_PACKAGE_HOST_GO=y
> + BR2_PACKAGE_HOST_GO_BIN=y
> + BR2_PACKAGE_TINIFIER=y
> + """
> +
> + def test_run(self):
> + self.login()
> + self.assertRunOk("tinifier -h")
> +
> +
> +class TestGoSource(TestGoBase):
> + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
> + """
> + BR2_TARGET_ROOTFS_CPIO=y
> + BR2_PACKAGE_HOST_GO=y
> + BR2_PACKAGE_HOST_GO_SRC=y
> + BR2_PACKAGE_TINIFIER=y
> + """
> +
> + def test_run(self):
> + self.login()
> + self.assertRunOk("tinifier -h")
> --
> 2.44.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler
2024-04-15 16:22 [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Thomas Perale via buildroot
` (5 preceding siblings ...)
2024-04-15 16:22 ` [Buildroot] [PATCH v2 6/6] support/testing: add tests for Go providers Thomas Perale via buildroot
@ 2024-06-01 15:54 ` Yann E. MORIN
6 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2024-06-01 15:54 UTC (permalink / raw)
To: Thomas Perale; +Cc: Christian Stewart, Thomas Perale, buildroot
Thomas, All,
On 2024-04-15 18:22 +0200, Thomas Perale via buildroot spake thusly:
> This patch adds support for a pre-built version of the Go compiler that
> doesn't require users to go through the different compilation stages of
> the Go compiler and speeds up the overall build time.
[--SNIP--]
> Thomas Perale (6):
> DEVELOPERS: add Thomas Perale for 'go'
> package/go: new subdirectory for go variants
> package/pkg-golang: select BR2_PACKAGE_HOST_GO
> package/go: make host package a virtual package
> package/go/go-bin: new host-go provider
> support/testing: add tests for Go providers
I ended up applying most of the series to next, except for the actual
go-bin package, as the runtime test fails (see my reply to the
corresponding patch).
Still, I applied the rest, so that it is easier for you to rework/fix
the go-bin package.
Thanks for an otherwise good series!
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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 22+ messages in thread