From b20b624b0244ba9bec832b5c466cda07a94b06ce Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 1 Jan 2024 08:35:53 +0200 Subject: gnu: gccgo-12: Fix building with 1 core. * gnu/packages/gcc.scm (make-gccgo)[arguments]: When building gccgo-12 or higher add a phase to build libbacktrace before libgo. Change-Id: I9bb225b58ffa439f9461e4126f51ab453683efbe --- gnu/packages/gcc.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gnu/packages/gcc.scm') 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")) -- cgit v1.2.3