From ae931521a4ae026a18542daefed68f7f8e4d75b6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 2 Mar 2026 07:24:05 +0000 Subject: [PATCH] dev-lang/go: Sync with Gentoo It's from Gentoo commit c77b9c1188474c82c8ec6aeed59d8a3008fd2d6b. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/go/Manifest | 2 + ...go-1.24.11.ebuild => go-1.24.11-r1.ebuild} | 6 +- .../dev-lang/go/go-1.24.12-r1.ebuild | 133 +++++++++++++++++ .../{go-1.25.5.ebuild => go-1.25.5-r1.ebuild} | 6 +- .../dev-lang/go/go-1.25.6-r1.ebuild | 135 ++++++++++++++++++ .../portage-stable/dev-lang/go/go-9999.ebuild | 6 +- 6 files changed, 285 insertions(+), 3 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/go/{go-1.24.11.ebuild => go-1.24.11-r1.ebuild} (94%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/go/{go-1.25.5.ebuild => go-1.25.5-r1.ebuild} (95%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.6-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest index d9f56e3f46..deec5096bb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest @@ -1,2 +1,4 @@ DIST go1.24.11.src.tar.gz 30801851 BLAKE2B 04463c4a238b0303df88ad2d7670bdb208deced4f38c9bfc2b98ec04cc2e182a03fcf029334481507efa766b17e81c92bac9d63fc93948f94ee2b2c8adff40b4 SHA512 9344039d231e50b63f52acbdd6cf2f483a4052d95b5fcc3e8a6d8fde80f0195f66ac5588302809ff0425de4d7c6b428ae842ec33b468c7020873acedbdea16ef +DIST go1.24.12.src.tar.gz 30803950 BLAKE2B b3f7d2f1392d3337e6645c4fa53e2e53c4258aa9ecf12b38a10305d172f0c2172d98d273dd030c17f82df17fa3cd5ec464986836261ffdb3324e8f97b2f2b437 SHA512 2de51c56f7ca04003b16d0fecc4cb35a3c5a42bd54f4da1f1e49d45b702d7a872057756d389f2283b4f7283fb33f0618465e231a6333b7cb6cfff98f67b2454e DIST go1.25.5.src.tar.gz 31983405 BLAKE2B b6349931e6174b1b11c00360fb7a3040a80f3d3d463894b29393a464548398bad37be685923c725eb8a3fb71d42849254319102c833418f81eca477f52579222 SHA512 97ec368521253bce610e1e3a6f10460f4a38eba440289553a40ab27afcdf2bb9b426d150ffaa3be8db50e84a00a4eb723a631ebc4f39168bc133bf7b2f1ccf66 +DIST go1.25.6.src.tar.gz 31987986 BLAKE2B f9937808018f058d0f50fd0c0c1fa8f5a0f25d983a477e158e310d46dea30e33f3e0ea3d97ab550b6e5ed8d9f3b5354e76923b539ddb16a081f42e24fd3e4cfc SHA512 214b2d82b5322d544e80d7202db9169c24e5f097338f2d0e6d34189bd5bde9e7c1656f06611062c78a156181f03956181971b346172fc14617726bfece5e61e9 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11-r1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11-r1.ebuild index 8e2a906df1..9c64792aec 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.11-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -49,6 +49,10 @@ QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" QA_PREBUILT="*" QA_PRESTRIPPED="*.syso" +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + DOCS=( CONTRIBUTING.md PATENTS diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild new file mode 100644 index 0000000000..ba024c432e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.12-r1.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.22.12 +MY_PV=${PV/_/} + +inherit go-env toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + ;; +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://go.dev" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cpu_flags_x86_sse2" + +BDEPEND="|| ( + >=dev-lang/go-${GO_BOOTSTRAP_MIN} + >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" + +# the *.syso files have writable/executable stacks +QA_EXECSTACK='*.syso' + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# This package triggers "unrecognized elf file(s)" notices on riscv. +# https://bugs.gentoo.org/794046 +QA_PREBUILT="*" +QA_PRESTRIPPED="*.syso" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +DOCS=( + CONTRIBUTING.md + PATENTS + README.md + SECURITY.md +) + +go_tuple() { + echo "$(go-env_goos $@)_$(go-env_goarch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +PATCHES=( + "${FILESDIR}"/go-1.24-skip-gdb-tests.patch + "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch + "${FILESDIR}"/go-never-download-newer-toolchains.patch +) + +src_compile() { + if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild -k || die "tests failed" +} + +src_install() { + dodir /usr/lib/go + # The use of cp is deliberate in order to retain permissions + cp -R . "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5-r1.ebuild index 21b21ffb02..208dee89db 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.5-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -49,6 +49,10 @@ QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" QA_PREBUILT="*" QA_PRESTRIPPED="*.syso" +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + DOCS=( CONTRIBUTING.md PATENTS diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.6-r1.ebuild new file mode 100644 index 0000000000..8655037fb5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.6-r1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.22.12 +MY_PV=${PV/_/} + +inherit go-env toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + ;; +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://go.dev" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cpu_flags_x86_sse2" + +BDEPEND="|| ( + >=dev-lang/go-${GO_BOOTSTRAP_MIN} + >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" + +# the *.syso files have writable/executable stacks +QA_EXECSTACK='*.syso' + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# This package triggers "unrecognized elf file(s)" notices on riscv. +# https://bugs.gentoo.org/794046 +QA_PREBUILT="*" +QA_PRESTRIPPED="*.syso" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +DOCS=( + CONTRIBUTING.md + PATENTS + README.md + SECURITY.md +) + +go_tuple() { + echo "$(go-env_goos $@)_$(go-env_goarch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +PATCHES=( + "${FILESDIR}"/go-1.24-skip-gdb-tests.patch + "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch + "${FILESDIR}"/go-1.25-no-dwarf5.patch + "${FILESDIR}"/go-1.25-strip-top-level-const.patch + "${FILESDIR}"/go-never-download-newer-toolchains.patch +) + +src_compile() { + if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild -k || die "tests failed" +} + +src_install() { + dodir /usr/lib/go + # The use of cp is deliberate in order to retain permissions + cp -R . "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild index 8931e941a3..8a70623142 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -49,6 +49,10 @@ QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" QA_PREBUILT="*" QA_PRESTRIPPED="*.syso" +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + DOCS=( CONTRIBUTING.md PATENTS