gnu: go-1.18: Adjust patch-gcclib phase.

* gnu/packages/golang.scm (go-1.18)[arguments]: Adjust the custom
'patch-gcc:lib phase for changes in the source code.
This commit is contained in:
Efraim Flashner 2023-04-05 15:36:21 +03:00 committed by Maxim Cournoyer
parent fd9a1d9347
commit df97343775
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -851,7 +851,32 @@ (define-public go-1.18
(file-name (git-file-name name version))
(sha256
(base32
"0ph3ajfq5q8j3nd91pfb25pm21aiphc58zf7fwis0h3a6nqbdyq9"))))))
"0ph3ajfq5q8j3nd91pfb25pm21aiphc58zf7fwis0h3a6nqbdyq9"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.17)
((#:phases phases)
`(modify-phases ,phases
;; See the platforms using this phase in go-1.17.
(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"))))))))))))
(define-public go-1.19
(package