guix_mirror_bot pushed a commit to branch go-team
in repository guix.
commit 8b940b1c62aaead38302f5922e35b1ae9eabbd17
Author: Efraim Flashner <[email protected]>
AuthorDate: Fri Aug 22 19:57:00 2025 +0300
gnu: go-1.20: Inherit from go-1.17.
* gnu/packages/golang.scm (go-1.20)[inherit]: Inherit from go-1.17.
[arguments]: Add phases previously inherited from go-1.19.
[properties]: New field.
Change-Id: Iccf53655323d58fff52a9f987cb71ed94b896abb
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/golang.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 47 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ce24567c17..caa4bcc319 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -597,7 +597,7 @@ in the style of communicating sequential processes
(@dfn{CSP}).")
(define-public go-1.20
(package
- (inherit go-1.19)
+ (inherit go-1.17)
(name "go")
(version "1.20.14")
(source (origin
@@ -610,7 +610,7 @@ in the style of communicating sequential processes
(@dfn{CSP}).")
(base32
"1aqhc23705q76dca3g0fzq98kxkhyq628s0811qgzgz4wmngsjfm"))))
(arguments
- (substitute-keyword-arguments (package-arguments go-1.19)
+ (substitute-keyword-arguments (package-arguments go-1.17)
((#:parallel-tests? _ #t)
(not (target-riscv64?)))
;; TODO: Disable the test(s) in misc/cgo/test/cgo_test.go
@@ -620,6 +620,45 @@ in the style of communicating sequential processes
(@dfn{CSP}).")
(not (target-riscv64?))))
((#:phases phases)
#~(modify-phases #$phases
+ (delete 'adjust-test-suite)
+ (replace 'patch-gcc:lib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib")
"/lib")))
+ ;; Add libgcc to runpath
+ (substitute* "src/cmd/link/internal/ld/lib.go"
+ (("!rpath.set") "true"))
+ (substitute* "src/cmd/go/internal/work/gccgo.go"
+ (("cgoldflags := \\[\\]string\\{\\}")
+ (string-append "cgoldflags := []string{"
+ "\"-Wl,-rpath=" gcclib "\""
+ "}"))
+ (("\"-lgcc_s\", ")
+ (string-append
+ "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
+ (substitute* "src/cmd/go/internal/work/gc.go"
+ (("ldflags, err := setextld\\(ldflags, compiler\\)")
+ (string-append
+ "ldflags, err := setextld(ldflags, compiler)\n"
+ "ldflags = append(ldflags, \"-r\")\n"
+ "ldflags = append(ldflags, \"" gcclib "\")\n"))))))
+ ;; These are recurring test failures, depending on having a new
+ ;; enough version of gccgo. gccgo-12.2 fails with go-1.19.7.
+ ;; https://github.com/golang/go/issues/22224
+ ;; https://github.com/golang/go/issues/25324
+ (add-after 'unpack 'skip-TestGoPathShlibGccgo-tests
+ (lambda _
+ (substitute* "misc/cgo/testshared/shared_test.go"
+ (("TestGoPathShlibGccgo.*" all)
+ (string-append all "\n
t.Skip(\"golang.org/issue/22224\")\n"))
+ (("TestTwoGopathShlibsGccgo.*" all)
+ (string-append all "\n
t.Skip(\"golang.org/issue/22224\")\n")))))
+ (replace 'install-doc-files
+ (lambda _
+ (for-each (lambda (file)
+ (install-file file (string-append
+ #$output "/share/doc/go")))
+ '("CONTRIBUTING.md" "PATENTS" "README.md"
+ "SECURITY.md"))))
(add-after 'disable-failing-tests 'disable-more-tests
(lambda _
;; Unclear why this test fails on x86_64.
@@ -674,7 +713,12 @@ in the style of communicating sequential processes
(@dfn{CSP}).")
;; We continue to use gccgo-12 since it provides go-1.18.
(if (member (%current-system) (package-supported-systems go-1.4))
(alist-replace "go" (list go-1.17) (package-native-inputs go-1.17))
- (package-native-inputs go-1.17)))))
+ (package-native-inputs go-1.17)))
+ (properties
+ `((compiler-cpu-architectures
+ ("armhf" ,@%go-1.17-arm-micro-architectures)
+ ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
+ ("x86_64" ,@%go-1.18-x86_64-micro-architectures))))))
(define-public go-1.21
(package