summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
committerJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
commitef4e4c9a2ccc1678182fa6e4409fff13c669fd14 (patch)
treed1f097787a69fa3a7089f26ecfed8b5c267883db /gnu/packages/gcc.scm
parent42c448ee6e13d165807d83e8c48941bead4847c1 (diff)
parent7b0863f07a113caef26fea13909bd97d250b629e (diff)
Merge branch 'master' into mesa-updates
Change-Id: I46ca25bea98d25150877421c6d5161752afabb25
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index e352cff5f9..a8b74a3632 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1182,6 +1182,21 @@ provides the GNU compiler for the Go programming language.")
(substitute-keyword-arguments (package-arguments gccgo)
((#:phases phases)
#~(modify-phases #$phases
+ #$@(if (version>=? (package-version gccgo) "12.0")
+ #~((add-after 'unpack 'adjust-libgo-dependencies
+ (lambda _
+ (substitute* "Makefile.in"
+ ;; libgo.la depends on libbacktrace.la but the
+ ;; current dependency rules don't have libbacktrace
+ ;; building early enough for libgo. When built
+ ;; with more than 1 core this issue doesn't appear.
+ ;; see commit 5fee5ec362f7a243f459e6378fd49dfc89dc9fb5.
+ (("all-target-libgo: maybe-all-target-libffi")
+ (string-append
+ "all-target-libgo: maybe-all-target-libbacktrace\n"
+ "all-target-libgo: maybe-all-target-libffi\n"
+ "all-target-libgo: maybe-all-target-libatomic"))))))
+ #~())
(add-after 'install 'wrap-go-with-tool-path
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))