commit: 172dace11bba89beb9a2b225603fdc42893b60f3
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 2 17:26:17 2026 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Feb 2 17:26:30 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=172dace1
dev-lang/go: add 1.24.12, 1.25.6
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
dev-lang/go/Manifest | 2 +
dev-lang/go/go-1.24.12.ebuild | 129 +++++++++++++++++++++++++++++++++++++++++
dev-lang/go/go-1.25.6.ebuild | 131 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 262 insertions(+)
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index d9f56e3f467b..deec5096bbe4 100644
--- a/dev-lang/go/Manifest
+++ b/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/dev-lang/go/go-1.24.12.ebuild b/dev-lang/go/go-1.24.12.ebuild
new file mode 100644
index 000000000000..b6ef5dddba99
--- /dev/null
+++ b/dev-lang/go/go-1.24.12.ebuild
@@ -0,0 +1,129 @@
+# 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"
+
+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/dev-lang/go/go-1.25.6.ebuild b/dev-lang/go/go-1.25.6.ebuild
new file mode 100644
index 000000000000..bbf75b8b8d67
--- /dev/null
+++ b/dev-lang/go/go-1.25.6.ebuild
@@ -0,0 +1,131 @@
+# 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"
+
+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
+}