summaryrefslogtreecommitdiff
path: root/dev-lang/go/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-23 23:40:53 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-23 23:40:53 +0000
commit8a550e596cf7df735383fc2a2c3b79c51ac0a589 (patch)
tree1c39f7a858fc4a0ee160071ea66cc99c59e30e85 /dev-lang/go/files
parent9aeefa0bd7e7604816f3ce08002112f9965176c3 (diff)
gentoo auto-resync : 23:02:2024 - 23:40:53
Diffstat (limited to 'dev-lang/go/files')
-rwxr-xr-xdev-lang/go/files/make-go-bootstraps55
1 files changed, 55 insertions, 0 deletions
diff --git a/dev-lang/go/files/make-go-bootstraps b/dev-lang/go/files/make-go-bootstraps
new file mode 100755
index 000000000000..a929fd988377
--- /dev/null
+++ b/dev-lang/go/files/make-go-bootstraps
@@ -0,0 +1,55 @@
+#!/bin/bash
+set -e
+
+# This creates go bootstrap tarballs for the version of go currently
+# installed on your system.
+# It should be run as part of bumping dev-lang/go when a newer version
+# of go is required for bootstrapping.
+# Make sure the version of go required for bootstrapping is installed
+# then run this script.
+# The script will output the location where the bootstrap tarballs are
+# stored.
+# Next, update the GO_BV variable in the new version of the dev-lang/go
+# ebuild to the version in the bootstrap tarballs file name.
+
+go_tuples=(
+ darwin-amd64
+ darwin-arm64
+ linux-386
+ linux-amd64
+ linux-arm
+ linux-arm64
+ linux-loong64
+ linux-mips
+ linux-mipsle
+ linux-mips64
+ linux-mips64le
+ linux-ppc64
+ linux-ppc64le
+ linux-riscv64
+ linux-s390x
+ solaris-amd64
+)
+
+go_version=$(go version)
+go_version=${go_version##*go}
+go_version=${go_version%% *}
+build_path=$(mktemp -d /tmp/go-bootstraps-XXXXXX)
+pushd "${build_path}"
+git clone https://github.com/golang/go.git
+cd go
+git checkout go"${go_version}"
+cd src
+for tuple in ${go_tuples[@]}; do
+ printf "Building go version %s bootstrap tarball for %s\n" "${go_version}" "${tuple}"
+ GOOS=${tuple%%-*} GOARCH=${tuple##*-} ./bootstrap.bash
+ rm -fr ../../go-${tuple}-bootstrap
+done
+cd ../..
+rm -fr go
+for f in *tbz; do
+ mv "${f}" "${f/go/go-${go_version}}"
+ done
+popd
+mv "${build_path}" "${build_path%-*}"
+printf "The bootstrap tarballs are stored in %s\n" "${build_path%-*}"