diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest deleted file mode 100644 index c60c7d9..0000000 --- a/dev-lang/go/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST go1.24.13.src.tar.gz 30802752 BLAKE2B 6aa0121c5aa7cceb78342cc36f15149968792b1eaaff387edd9ca2876eecd09986daa850afa4b18807afa3bef5dd6257f3fd49be6c82056a02f689c779c54ba7 SHA512 049de4ea4be669853b2c567f1d93a4e0607815ebb57c2ca0c4802134a3613ef489b77434c83ab01e2a257b3eb4ee651b167b98ffb84d38b957d62ae933ebb243 -DIST go1.25.7.src.tar.gz 31990868 BLAKE2B bf643197964eb9e35f791d84fd9ed71b0de4c31629a4645c3fb4e05d7aec8a3241d594a035a8dbb6254fddd0bcc1e760c0a884ae2616ed54f5daf397b52c62fb SHA512 054fdb8219d18a7942c524d8acc3c942d0a7b8f1c01b96184fa79017b6548533798f5f48cc78f7ecfb70da504c5c66569377a35d517a0e3184c32fe84c9ee0b6 diff --git a/dev-lang/go/files/go-1.24-dont-force-gold-arm.patch b/dev-lang/go/files/go-1.24-dont-force-gold-arm.patch deleted file mode 100644 index 4869b38..0000000 --- a/dev-lang/go/files/go-1.24-dont-force-gold-arm.patch +++ /dev/null @@ -1,55 +0,0 @@ -Don't default to -fuse-ld=gold on arm64. The gold linker is deprecated in -GNU Binutils and the referenced bfd bug which led to this default being -added is long-fixed. - -https://src.fedoraproject.org/rpms/golang/raw/rawhide/f/0006-Default-to-ld.bfd-on-ARM64.patch -https://bugs.gentoo.org/893956 -https://github.com/golang/go/issues/22040 -https://github.com/golang/go/pull/49748 -https://sourceware.org/PR19962 - -From 46ec67413008607e2150e3395668e54e538c5b6b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Wed, 19 Jun 2024 10:18:58 +0200 -Subject: [PATCH] Default to ld.bfd on ARM64 - ---- - src/cmd/link/internal/ld/lib.go | 20 +++++++------------- - 1 file changed, 7 insertions(+), 13 deletions(-) - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index eab74dc328..b401f58727 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1620,22 +1620,16 @@ func (ctxt *Link) hostlink() { - } - - if ctxt.Arch.InFamily(sys.ARM64) && buildcfg.GOOS == "linux" { -- // On ARM64, the GNU linker will fail with -- // -znocopyreloc if it thinks a COPY relocation is -- // required. Switch to gold. -- // https://sourceware.org/bugzilla/show_bug.cgi?id=19962 -- // https://go.dev/issue/22040 -- altLinker = "gold" -- -- // If gold is not installed, gcc will silently switch -- // back to ld.bfd. So we parse the version information -- // and provide a useful error if gold is missing. -+ // Use ld.bfd as the default linker -+ altLinker = "bfd" -+ -+ // Provide a useful error if ld.bfd is missing - name, args := flagExtld[0], flagExtld[1:] -- args = append(args, "-fuse-ld=gold", "-Wl,--version") -+ args = append(args, "-fuse-ld=bfd", "-Wl,--version") - cmd := exec.Command(name, args...) - if out, err := cmd.CombinedOutput(); err == nil { -- if !bytes.Contains(out, []byte("GNU gold")) { -- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) -+ if !bytes.Contains(out, []byte("GNU ld")) { -+ log.Fatalf("ARM64 external linker must be ld.bfd, but is not: %s", out) - } - } - } --- -2.45.1 diff --git a/dev-lang/go/files/go-1.24-skip-gdb-tests.patch b/dev-lang/go/files/go-1.24-skip-gdb-tests.patch deleted file mode 100644 index 4984835..0000000 --- a/dev-lang/go/files/go-1.24-skip-gdb-tests.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/runtime/runtime-gdb_test.go b/src/runtime/runtime-gdb_test.go -index 9c54d68949..d4eada51af 100644 ---- a/src/runtime/runtime-gdb_test.go -+++ b/src/runtime/runtime-gdb_test.go -@@ -55,6 +55,7 @@ func checkGdbEnvironment(t *testing.T) { - case "plan9": - t.Skip("there is no gdb on Plan 9") - } -+ t.Skip("gdb tests do not work under gentoo portage") - } - - func checkGdbVersion(t *testing.T) { diff --git a/dev-lang/go/files/go-1.25-no-dwarf5.patch b/dev-lang/go/files/go-1.25-no-dwarf5.patch deleted file mode 100644 index 72c2bab..0000000 --- a/dev-lang/go/files/go-1.25-no-dwarf5.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/go.env b/go.env -index 6ff2b921d4..e8959a72c7 100644 ---- a/go.env -+++ b/go.env -@@ -2,6 +2,10 @@ - # Values set by 'go env -w' and written to the user's go/env file override these. - # The environment overrides everything else. - -+#This can be removed when debugedit is fixed to support dwarf5 -+# https://sourceware.org/bugzilla/show_bug.cgi?id=33204 -+GOEXPERIMENT=nodwarf5 -+ - # Use the Go module mirror and checksum database by default. - # See https://proxy.golang.org for details. - GOPROXY=https://proxy.golang.org,direct diff --git a/dev-lang/go/files/go-1.25-strip-top-level-const.patch b/dev-lang/go/files/go-1.25-strip-top-level-const.patch deleted file mode 100644 index 1531263..0000000 --- a/dev-lang/go/files/go-1.25-strip-top-level-const.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 7a6e3f07acfd822aa1d62f1c715125e30d67d089 Mon Sep 17 00:00:00 2001 -From: Ian Lance Taylor -Date: Mon, 03 Nov 2025 15:54:39 -0800 -Subject: [PATCH] cmd/cgo: strip top-level const qualifier from argument frame struct - -Otherwise we can't assign to it. - -Fixes #75751 - -Change-Id: Iba680db672297bca1a1d1a33912b80863da66a08 ---- - -diff --git a/src/cmd/cgo/internal/test/test.go b/src/cmd/cgo/internal/test/test.go -index 9626407..e83e367 100644 ---- a/src/cmd/cgo/internal/test/test.go -+++ b/src/cmd/cgo/internal/test/test.go -@@ -953,6 +953,12 @@ - } issue69086struct; - static int issue690861(issue69086struct* p) { p->b = 1234; return p->c; } - static int issue690862(unsigned long ul1, unsigned long ul2, unsigned int u, issue69086struct s) { return (int)(s.b); } -+ -+char issue75751v = 1; -+char * const issue75751p = &issue75751v; -+#define issue75751m issue75751p -+char * const volatile issue75751p2 = &issue75751v; -+#define issue75751m2 issue75751p2 - */ - import "C" - -@@ -2396,3 +2402,8 @@ - t.Errorf("call: got %d, want 1234", got) - } - } -+ -+// Issue 75751: no runtime test, just make sure it compiles. -+func test75751() int { -+ return int(*C.issue75751m) + int(*C.issue75751m2) -+} -diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go -index 394e766..05d9dcf 100644 ---- a/src/cmd/cgo/out.go -+++ b/src/cmd/cgo/out.go -@@ -457,6 +457,33 @@ - // Also assumes that gc convention is to word-align the - // input and output parameters. - func (p *Package) structType(n *Name) (string, int64) { -+ // It's possible for us to see a type with a top-level const here, -+ // which will give us an unusable struct type. See #75751. -+ // The top-level const will always appear as a final qualifier, -+ // constructed by typeConv.loadType in the dwarf.QualType case. -+ // The top-level const is meaningless here and can simply be removed. -+ stripConst := func(s string) string { -+ i := strings.LastIndex(s, "const") -+ if i == -1 { -+ return s -+ } -+ -+ // A top-level const can only be followed by other qualifiers. -+ if r, ok := strings.CutSuffix(s, "const"); ok { -+ return r -+ } -+ -+ for _, f := range strings.Fields(s[i:]) { -+ switch f { -+ case "const", "restrict", "volatile": -+ default: -+ return s -+ } -+ } -+ -+ return strings.TrimSpace(s[:i]) + strings.TrimSpace(s[i+len("const"):]) -+ } -+ - var buf strings.Builder - fmt.Fprint(&buf, "struct {\n") - off := int64(0) -@@ -468,7 +495,7 @@ - } - c := t.Typedef - if c == "" { -- c = t.C.String() -+ c = stripConst(t.C.String()) - } - fmt.Fprintf(&buf, "\t\t%s p%d;\n", c, i) - off += t.Size -@@ -484,7 +511,7 @@ - fmt.Fprintf(&buf, "\t\tchar __pad%d[%d];\n", off, pad) - off += pad - } -- fmt.Fprintf(&buf, "\t\t%s r;\n", t.C) -+ fmt.Fprintf(&buf, "\t\t%s r;\n", stripConst(t.C.String())) - off += t.Size - } - if off%p.PtrSize != 0 { diff --git a/dev-lang/go/files/go-never-download-newer-toolchains.patch b/dev-lang/go/files/go-never-download-newer-toolchains.patch deleted file mode 100644 index 74e85f8..0000000 --- a/dev-lang/go/files/go-never-download-newer-toolchains.patch +++ /dev/null @@ -1,13 +0,0 @@ -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.24.13.ebuild b/dev-lang/go/go-1.24.13.ebuild deleted file mode 100644 index ba024c4..0000000 --- a/dev-lang/go/go-1.24.13.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# 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/dev-lang/go/go-1.25.7.ebuild b/dev-lang/go/go-1.25.7.ebuild deleted file mode 100644 index 8655037..0000000 --- a/dev-lang/go/go-1.25.7.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# 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/dev-lang/go/metadata.xml b/dev-lang/go/metadata.xml deleted file mode 100644 index 5e00214..0000000 --- a/dev-lang/go/metadata.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - williamh@gentoo.org - William Hubbs - - - Go is a new systems programming language developed at google by - Rob Pike. It has garbage collection, coroutines, communication - channels and a clean syntax. - - - cpe:/a:golang:go - golang/go - -