All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.