From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Perale <thomas.perale@essensium.com>
Cc: Christian Stewart <christian@paral.in>,
Thomas Perale <thomas.perale@mind.be>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v2 4/6] package/go: make host package a virtual package
Date: Sat, 1 Jun 2024 17:42:50 +0200 [thread overview]
Message-ID: <ZltBejK6FEumKQXB@landeda> (raw)
In-Reply-To: <20240415162229.1357491-5-thomas.perale@mind.be>
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
next prev parent reply other threads:[~2024-06-01 15:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
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:44 ` Yann E. MORIN
2024-04-15 17:38 ` Thomas Perale via buildroot
2024-04-15 20:20 ` 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
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
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
2024-06-01 15:42 ` Yann E. MORIN [this message]
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
2024-06-14 5:44 ` Yann E. MORIN
2024-06-15 7:20 ` Yann E. MORIN
2024-08-19 21:22 ` 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:51 ` Yann E. MORIN
2024-06-01 15:54 ` [Buildroot] [PATCH v2 0/6] support for a pre-built Go compiler Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZltBejK6FEumKQXB@landeda \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=christian@paral.in \
--cc=thomas.perale@essensium.com \
--cc=thomas.perale@mind.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox