repo/gentoo:master commit in: dev-lang/go/
"Sam James" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786753121.c45cbced5d30bb660923ee14e58ef5d871653658.sam@gentoo> |
commit: c45cbced5d30bb660923ee14e58ef5d871653658
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 15 00:11:34 2026 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 15 00:18:41 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c45cbced
dev-lang/go: add 1.26.6
Bug: https://bugs.gentoo.org/980862
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/go/Manifest | 1 +
dev-lang/go/go-1.26.6.ebuild | 151 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 152 insertions(+)
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index b932307dc4cc..3ead1564a7e9 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -13,3 +13,4 @@ DIST go1.26.2.src.tar.gz 34120738 BLAKE2B 86586f1d5e9d27e235219110023f8005388c50
DIST go1.26.3.src.tar.gz 34119059 BLAKE2B 985d0739d18c5dac0fc9f661006449dc20e76a157a9974a7dcfba2c43ec3c92c5ca3b785795af101e1b2df2b4d57349ea9ee2ca3b0c56d9df400686b0118329b SHA512 9c673a9ec7783a345b6294984486a5c76ba52de3eb72c95cbd68626312d100c50adb7a3ed15c93d1dc9ce9969b0f6fb4b86c87771118091cc7b0297afaf74fec
DIST go1.26.4.src.tar.gz 34118246 BLAKE2B 6a9da2e9b876f52f8f35754ff6640eb5b26c17478a4aad52f8ad4f2b28d12dc74ec8665d0b8c4f77aca3e6332c86c05a5159a9e89684e3c3dc25c16da251bd1f SHA512 adacc6a34ad239d98277acd2ac8da867110da0b184dbbafb82e8a06d2b7fd23434f878a8a8cd550172c21bd31ac6391d01a0bd095c9f5c1250be66b459c8de88
DIST go1.26.5.src.tar.gz 34140216 BLAKE2B 0903273e37d73ef81e5c88f108f345d21f829aef6cfc5af0c63cc41584ce822912b8e90a989b37dad74debc90d70a9eea99621a043af56003fa9622e96bcb49d SHA512 1c1ff7bc002438e77c968155b077c51df87935d1a1a214c8750e748abe3af5cf83769eae5cfe85ca1b12a0e6fa4a0dfe4344b1023f037f206dad328607bba9f7
+DIST go1.26.6.src.tar.gz 34151057 BLAKE2B 1f67f6f99c3c067388a714f1721eb24d52acf94adece1cded75df3b6c1045b0f2826cfb3edc05b5f1e1db8e17cca0289a69c8aeb8abb2cf244954c5983e6116d SHA512 73325ff6e1ed60228a4c409baf2fc592f41c10f77d86207d3e98d8ca764ec43249c453ac70997dd3990ccbd11efa872bbfcdb6623e0a67b7dfd7ab4cf4dfe1e8
diff --git a/dev-lang/go/go-1.26.6.ebuild b/dev-lang/go/go-1.26.6.ebuild
new file mode 100644
index 000000000000..452231977fd8
--- /dev/null
+++ b/dev-lang/go/go-1.26.6.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+# See "Bootstrap" in release notes
+GO_BOOTSTRAP_MIN=1.24.6
+MY_PV=${PV/_/}
+
+inherit flag-o-matic 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.25-no-dwarf5.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
+
+ if tc-is-gcc ; then
+ # XXX: Hack for checking ICE (bug #912152, gcc PR113204)
+ #
+ # For either USE=debug or an unreleased compiler, non-default
+ # checking will trigger.
+ if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then
+ rm src/cmd/link/cgo_test.go || die
+ fi
+
+ # bug #929219
+ replace-flags -g3 -g
+ replace-flags -ggdb3 -ggdb
+ 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 || die
+
+ # remove bad test because of ebuild toolchain environment
+ rm -v cmd/go/testdata/script/autocgo.txt || die
+
+ 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
+}