summaryrefslogtreecommitdiff
path: root/dev-lang/go
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-11 03:33:50 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-11 03:33:50 +0100
commit9b97cf60d2411c33c1b2170b730b345ea9995002 (patch)
tree20f1731a35de056eaa5e40343e8aa59e6d1cc564 /dev-lang/go
parent9cb92979365e38a8c7ac40e7fd7475b99fe1e7ba (diff)
gentoo auto-resync : 11:08:2023 - 03:33:50
Diffstat (limited to 'dev-lang/go')
-rw-r--r--dev-lang/go/Manifest9
-rw-r--r--dev-lang/go/files/go-never-download-newer-toolchains.patch13
-rw-r--r--dev-lang/go/go-1.19.12.ebuild208
-rw-r--r--dev-lang/go/go-1.21.0.ebuild (renamed from dev-lang/go/go-1.19.10.ebuild)25
-rw-r--r--dev-lang/go/go-9999.ebuild13
5 files changed, 40 insertions, 228 deletions
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 2af2e1060516..2585b2a229a2 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,11 +1,10 @@
+AUX go-never-download-newer-toolchains.patch 368 BLAKE2B 0c90f46492af80622f430b2d506b143f3b553b5276085f78f41b93fee8219745179038302462603b5b1677554d92911eb4865084d0488aaa4c71ae1abc307f71 SHA512 b5acf97ccf96c6a353fcb7bd97113c38562defd82338828124fcc72c71334feda9c4e839d2aae5b66b809bc8a692eac96396c54a478e17a7ffd8d2c68fea95e6
AUX go-sets.conf 313 BLAKE2B 03e94776e317d34b72bfb8385b8b0dfa6a599a6086e4d0c9214e7b49293768947c21d9afb323ffcc7fd85ba0af72d9cb243dbb571eee9eb81de9400fd5f5e79c SHA512 7d01b98bc8d1b609183682dd942bd4c9fa757a98243c7de3cf6c497c7bc20b8cdbe59dd669ce4bb11f914a0e9b6d100e65cea2dffd99f38be50b18e0ecf66315
-DIST go1.19.10.src.tar.gz 26563069 BLAKE2B 2aec01a67ba3e61f83b635bdf830bf6407342bd877b84367f268560cbb691291825622c4035db99f86ca7ae2153fd11f3f800ab7a90089da7624a531e189f374 SHA512 e8e7d1118d0c409d692ebb406f0e6807781dfd8f7dbe8b03be145e3fc287cde967fde387a216eb9996366508f4e61954cd131cd33f85b652bfd223e37bf41a67
-DIST go1.19.12.src.tar.gz 26575152 BLAKE2B 27f7053922e9329f0a3365c6623a7df1a0ef3383cc8fc5f5dac7f74415a558924fa930ae0c5010986573efa877f571ebe3b1835e916a9d927d7121555f2361c6 SHA512 15488e6f9ce86a4ca5650bb9df7845abb11ada0d11fb9a1b048f8c1f7047ad677b45e6c4026eff41c81a14adaa1bf78826f8e81000e7083dbbb6055a31b894e1
DIST go1.20.5.src.tar.gz 26192951 BLAKE2B 13ab06a45a7b13eb5cf8886594343bc169df3c4ff0062ac89c0997283686563edccb7d39423457947f945782bef418ab1a1f3b8712aa8817a8f4c61b54e8574c SHA512 94cecb366cd9d9722b53e52ea3b0a5715a9e9dc21da0273dd3db9354557f71b9501b018125ef073dacc2e59125335f436cea1151cd8df0d60e2ad513f841905c
DIST go1.20.7.src.tar.gz 26192928 BLAKE2B 89a1b2bde472c22534e63585cd8fcff6076a16a7f1d15e90ec5cf5277225ae3bf53805531b256d0090cb170ed7e1bd1ed494cffcf5b3777f435bbb3591906612 SHA512 c3dae709d0db8ab32a68bda2d260ffe86ee77c703bdbf34eefd0e1f745dd0aa04e3d17833877e7f06aa066686da501a85361591e510a341affc0244dde2b9946
-EBUILD go-1.19.10.ebuild 5233 BLAKE2B 86b49ba0ccc71624134e67f3e97db2b58460835459080228ccaa6a6b043123bc4592cf8ac180d8e67eebfe0b6aaef0bd48c5e9358246099c20668181301b7842 SHA512 10577e3953f04e5998acce259355643455dab7e67bd42efa5fbc4d2aeb91d0807acdb3c59813f2d69acb853e7f6d6d2fcb3cb72e2ec9834dec5ccc6f6a50a7ba
-EBUILD go-1.19.12.ebuild 5235 BLAKE2B feec7ff92b8e32271235bd796c71f78f52e3c90c754d85496742564b4ff0b37fcf21fdf692f097c4298b36e5a3932349dace9ea3e1e91e4f6e632484ee2fb75c SHA512 63f5f1ae9a0f26e400d847df01ca9dad27dfa937e027b826098b63fc83e89665565e1308e7832eab2bd6e04eacf49d8704d2af2b2624db6b7782784d86957cad
+DIST go1.21.0.src.tar.gz 26942359 BLAKE2B ba04a8b20d4ea35cd6f32e5975a347c9359b9e9d2bf77196afb50b6f527d69623cdc7900c74abe5315e53589e0be20aef5eb4a5faa0efa836ed22db12d041203 SHA512 da629fee156de6abbc5195f746e2fe4172a31b97eccd3871283c60452e81ac740533cc28ca68762ebc0ce48fb791dc527d3b7ebe7e1aee0f0b68868de736ed42
EBUILD go-1.20.5.ebuild 5233 BLAKE2B 86b49ba0ccc71624134e67f3e97db2b58460835459080228ccaa6a6b043123bc4592cf8ac180d8e67eebfe0b6aaef0bd48c5e9358246099c20668181301b7842 SHA512 10577e3953f04e5998acce259355643455dab7e67bd42efa5fbc4d2aeb91d0807acdb3c59813f2d69acb853e7f6d6d2fcb3cb72e2ec9834dec5ccc6f6a50a7ba
EBUILD go-1.20.7.ebuild 5387 BLAKE2B dd5ab008bfa013637657123ff661eb49013aef219a0ea4d2ae1ab004a880b788f3a70c9f5ed8bb61dc19b6c2742452beff3148c6dad1fb1514ddac45cc6c4ca5 SHA512 76445badfa0da69c9c635ca6d3ce1a72cc830c2e8aa2903f31a6f75ddad412c799097c0b976f237aa3d480d23f9c5aa39a4ad8a696ee9397ec68eec8eb9111e7
-EBUILD go-9999.ebuild 5390 BLAKE2B 2602168f932b6725e2deff77d4c398d923fec3c688c3a0972236c537c78402c9d4c0d8387a9972c470365978b0e283bde24834c2f190626e5f9996b54a78c501 SHA512 e85fd9152873a57641b328c8acf303da144e16555053db1935d7b6f057e3393ed9a9de073cd1aa274f534b66bd59ef170a965037cea6ac873e6d7d9889204b0f
+EBUILD go-1.21.0.ebuild 5271 BLAKE2B 35ccee875f857c6eff53f8a89b950e7c67194b7b67469b271b7096ff217d640d7ef4b5368e13b844517d5a10ec8addce01ec4cfbf50bfd93ebcb7073a14b64f6 SHA512 13cd678e3ccff6f0d9db63436ac98579f79bfc327e992efc9f67f5ef4039bfe7f580943e17acb23af2a1116a1834b5ebbefad49100467f28802aad31c4a21fce
+EBUILD go-9999.ebuild 5271 BLAKE2B 35ccee875f857c6eff53f8a89b950e7c67194b7b67469b271b7096ff217d640d7ef4b5368e13b844517d5a10ec8addce01ec4cfbf50bfd93ebcb7073a14b64f6 SHA512 13cd678e3ccff6f0d9db63436ac98579f79bfc327e992efc9f67f5ef4039bfe7f580943e17acb23af2a1116a1834b5ebbefad49100467f28802aad31c4a21fce
MISC metadata.xml 590 BLAKE2B 56da63bdc350df5c6ef3b511a386627f4020f655027ca88da6a83ecb09581d3c3055c836eb8fe98a383412b3d431a77a9935ad753fe2d8392afa37cd613c15b0 SHA512 5d78adbae30c3a805194567bbb1af2ad59b78487819e7841a040d2a4d5db02f5b5d1d58f7cfc7a37f39e5e9bcf332dda4d336456e33e36c33caef792ac45d48b
diff --git a/dev-lang/go/files/go-never-download-newer-toolchains.patch b/dev-lang/go/files/go-never-download-newer-toolchains.patch
new file mode 100644
index 000000000000..74e85f80b63a
--- /dev/null
+++ b/dev-lang/go/files/go-never-download-newer-toolchains.patch
@@ -0,0 +1,13 @@
+diff --git a/go.env b/go.env
+index 6ff2b921d4..1112a19c9b 100644
+--- a/go.env
++++ b/go.env
+@@ -7,6 +7,6 @@
+ GOPROXY=https://proxy.golang.org,direct
+ GOSUMDB=sum.golang.org
+
+-# Automatically download newer toolchains as directed by go.mod files.
++# Never download newer toolchains.
+ # See https://go.dev/doc/toolchain for details.
+-GOTOOLCHAIN=auto
++GOTOOLCHAIN=local
diff --git a/dev-lang/go/go-1.19.12.ebuild b/dev-lang/go/go-1.19.12.ebuild
deleted file mode 100644
index 5fb93c0e9487..000000000000
--- a/dev-lang/go/go-1.19.12.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-
-MY_PV=${PV/_/}
-
-inherit toolchain-funcs
-
-case ${PV} in
-*9999*)
- EGIT_REPO_URI="https://github.com/golang/go.git"
- inherit git-r3
- ;;
-*)
- SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
- S="${WORKDIR}"/go
- case ${PV} in
- *_beta*|*_rc*) ;;
- *)
- KEYWORDS="-* amd64 arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- ;;
- esac
-esac
-
-DESCRIPTION="A concurrent garbage collected and typesafe programming language"
-HOMEPAGE="https://go.dev"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2"
-
-RDEPEND="
-arm? ( sys-devel/binutils[gold] )
-arm64? ( sys-devel/binutils[gold] )"
-BDEPEND="|| (
- dev-lang/go
- dev-lang/go-bootstrap )"
-
-# 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='.*'
-
-# Do not strip this package. Stripping is unsupported upstream and may
-# fail.
-RESTRICT+=" strip"
-
-DOCS=(
- CONTRIBUTING.md
- PATENTS
- README.md
- SECURITY.md
-)
-
-go_arch() {
- # By chance most portage arch names match Go
- local tc_arch=$(tc-arch $@)
- case "${tc_arch}" in
- x86) echo 386;;
- x64-*) echo amd64;;
- loong) echo loong64;;
- mips) if use abi_mips_o32; then
- [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
- elif use abi_mips_n64; then
- [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
- fi ;;
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
- riscv) echo riscv64 ;;
- s390) echo s390x ;;
- *) echo "${tc_arch}";;
- esac
-}
-
-go_arm() {
- case "${1:-${CHOST}}" in
- armv5*) echo 5;;
- armv6*) echo 6;;
- armv7*) echo 7;;
- *)
- die "unknown GOARM for ${1:-${CHOST}}"
- ;;
- esac
-}
-
-go_os() {
- case "${1:-${CHOST}}" in
- *-linux*) echo linux;;
- *-darwin*) echo darwin;;
- *-freebsd*) echo freebsd;;
- *-netbsd*) echo netbsd;;
- *-openbsd*) echo openbsd;;
- *-solaris*) echo solaris;;
- *-cygwin*|*-interix*|*-winnt*)
- echo windows
- ;;
- *)
- die "unknown GOOS for ${1:-${CHOST}}"
- ;;
- esac
-}
-
-go_tuple() {
- echo "$(go_os $@)_$(go_arch $@)"
-}
-
-go_cross_compile() {
- [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
-}
-
-src_compile() {
- if has_version -b dev-lang/go; then
- export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
- elif has_version -b dev-lang/go-bootstrap; 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
-
- export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
- export GOROOT="${PWD}"
- export GOBIN="${GOROOT}/bin"
-
- # Go's build script does not use BUILD/HOST/TARGET consistently. :(
- export GOHOSTARCH=$(go_arch ${CBUILD})
- export GOHOSTOS=$(go_os ${CBUILD})
- export CC=$(tc-getBUILD_CC)
-
- export GOARCH=$(go_arch)
- export GOOS=$(go_os)
- export CC_FOR_TARGET=$(tc-getCC)
- export CXX_FOR_TARGET=$(tc-getCXX)
- use arm && export GOARM=$(go_arm)
- use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
-
- cd src
- bash -x ./make.bash || die "build failed"
-}
-
-src_test() {
- go_cross_compile && return 0
-
- cd src
-
- # https://github.com/golang/go/issues/42005
- rm cmd/link/internal/ld/fallocate_test.go || true
-
- PATH="${GOBIN}:${PATH}" \
- ./run.bash -no-rebuild || die "tests failed"
- cd ..
- rm -fr pkg/*_race || die
- rm -fr pkg/obj/go-build || die
-}
-
-src_install() {
- # There is a known issue which requires the source tree to be installed [1].
- # Once this is fixed, we can consider using the doc use flag to control
- # installing the doc and src directories.
- # The use of cp is deliberate in order to retain permissions
- # [1] https://golang.org/issue/2775
- dodir /usr/lib/go
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
- einstalldocs
-
- # testdata directories are not needed on the installed system
- rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
-
- 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
-
- # install the @golang-rebuild set for Portage
- insinto /usr/share/portage/config/sets
- newins "${FILESDIR}"/go-sets.conf go.conf
-}
-
-pkg_postinst() {
- [[ -z ${REPLACING_VERSIONS} ]] && return
- elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
- elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
- elog "due to the static linking nature of go."
- elog "If this is not done, the packages compiled with the older"
- elog "version of the compiler will not be updated until they are"
- elog "updated individually, which could mean they will have"
- elog "vulnerabilities."
- elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
- elog "See https://bugs.gentoo.org/752153 for more info"
-}
diff --git a/dev-lang/go/go-1.19.10.ebuild b/dev-lang/go/go-1.21.0.ebuild
index b6862ea87040..68b33c5e0315 100644
--- a/dev-lang/go/go-1.19.10.ebuild
+++ b/dev-lang/go/go-1.21.0.ebuild
@@ -6,6 +6,8 @@ EAPI=7
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
+# See "Bootstrap" in release notes
+GO_BOOTSTRAP_MIN=1.17.13
MY_PV=${PV/_/}
inherit toolchain-funcs
@@ -21,7 +23,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
- KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
;;
esac
esac
@@ -37,8 +39,8 @@ RDEPEND="
arm? ( sys-devel/binutils[gold] )
arm64? ( sys-devel/binutils[gold] )"
BDEPEND="|| (
- dev-lang/go
- dev-lang/go-bootstrap )"
+ >=dev-lang/go-${GO_BOOTSTRAP_MIN}
+ >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
# the *.syso files have writable/executable stacks
QA_EXECSTACK='*.syso'
@@ -119,10 +121,14 @@ go_cross_compile() {
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
}
+PATCHES=(
+ "${FILESDIR}"/go-never-download-newer-toolchains.patch
+)
+
src_compile() {
- if has_version -b dev-lang/go; then
+ 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; then
+ 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"
@@ -165,15 +171,14 @@ src_test() {
}
src_install() {
- # There is a known issue which requires the source tree to be installed [1].
- # Once this is fixed, we can consider using the doc use flag to control
- # installing the doc and src directories.
- # The use of cp is deliberate in order to retain permissions
- # [1] https://golang.org/issue/2775
dodir /usr/lib/go
+ # The use of cp is deliberate in order to retain permissions
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
einstalldocs
+ insinto /usr/lib/go
+doins go.env VERSION
+
# testdata directories are not needed on the installed system
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index ee74dcbc30da..68b33c5e0315 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -121,6 +121,10 @@ go_cross_compile() {
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
}
+PATCHES=(
+ "${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"
@@ -167,15 +171,14 @@ src_test() {
}
src_install() {
- # There is a known issue which requires the source tree to be installed [1].
- # Once this is fixed, we can consider using the doc use flag to control
- # installing the doc and src directories.
- # The use of cp is deliberate in order to retain permissions
- # [1] https://golang.org/issue/2775
dodir /usr/lib/go
+ # The use of cp is deliberate in order to retain permissions
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
einstalldocs
+ insinto /usr/lib/go
+doins go.env VERSION
+
# testdata directories are not needed on the installed system
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)