Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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