me
/
guix
Archived
1
0
Fork 0

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.
master
Efraim Flashner 2023-04-05 15:36:21 +03:00 committed by Maxim Cournoyer
parent 4e9c9a63cc
commit 8a17609dd0
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 21 additions and 23 deletions

View File

@ -864,29 +864,27 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(substitute-keyword-arguments (package-arguments go-1.17) (substitute-keyword-arguments (package-arguments go-1.17)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(delete 'adjust-test-suite) ;; See the platforms using this phase in go-1.17.
,@(if (or (target-arm?) (target-ppc64le?)) (replace 'patch-gcc:lib
'((replace 'patch-gcc:lib (lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys) (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")))
(let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))) ;; Add libgcc to runpath
;; Add libgcc to runpath (substitute* "src/cmd/link/internal/ld/lib.go"
(substitute* "src/cmd/link/internal/ld/lib.go" (("!rpath.set") "true"))
(("!rpath.set") "true")) (substitute* "src/cmd/go/internal/work/gccgo.go"
(substitute* "src/cmd/go/internal/work/gccgo.go" (("cgoldflags := \\[\\]string\\{\\}")
(("cgoldflags := \\[\\]string\\{\\}") (string-append "cgoldflags := []string{"
(string-append "cgoldflags := []string{" "\"-Wl,-rpath=" gcclib "\""
"\"-Wl,-rpath=" gcclib "\"" "}"))
"}")) (("\"-lgcc_s\", ")
(("\"-lgcc_s\", ") (string-append
(string-append "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
"\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) (substitute* "src/cmd/go/internal/work/gc.go"
(substitute* "src/cmd/go/internal/work/gc.go" (("ldflags, err := setextld\\(ldflags, compiler\\)")
(("ldflags, err := setextld\\(ldflags, compiler\\)") (string-append
(string-append "ldflags, err := setextld(ldflags, compiler)\n"
"ldflags, err := setextld(ldflags, compiler)\n" "ldflags = append(ldflags, \"-r\")\n"
"ldflags = append(ldflags, \"-r\")\n" "ldflags = append(ldflags, \"" gcclib "\")\n"))))))))))))
"ldflags = append(ldflags, \"" gcclib "\")\n")))))))
'())))))))
(define-public go-1.19 (define-public go-1.19
(package (package