Subject: [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds.

From: Marius Bakke <[email-masked]>
Date: Sat, 6 Oct 2018 15:16:34 +0200

* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Adjust the libcc1
build scripts instead of copying libcc1.so from %BOOT0-INPUTS.
---
 gnu/packages/commencement.scm | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index c4f112578..5bfd314c6 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1810,13 +1810,18 @@ exec " gcc "/bin/" program
                       #t)))
                 ,(match (%current-system)
                    ((or "i686-linux" "x86_64-linux")
-                    '(add-after 'build 'libtool-workaround
-                      (lambda _
-                        ;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libcc1.so.0.0.0 /gnu/store/8qf47i99nxz9jvrmq5va0g3q1yvs3x74-gcc-cross-boot0-5.5.0-lib/lib/./libcc1.so.0.0.0
-                        ;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory
-                        (system* "touch"
-                                 "libcc1/.libs/libcc1.so.0.0.0"
-                                 "libcc1/.libs/libcc1plugin.so.0.0.0"))))
+                    '(add-before 'configure 'fix-libcc1
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        ;; libcc1.so NEEDs libgcc_s.so, so provide one here
+                        ;; to placate the 'validate-runpath' phase.
+                        (substitute* "libcc1/Makefile.in"
+                          (("la_LDFLAGS =")
+                           (string-append "la_LDFLAGS = -Wl,-rpath="
+                                          (assoc-ref inputs "gcc") "/lib")))
+                        ;; XXX: "g++ -v" is broken (see also libstdc++ above).
+                        (substitute* "libcc1/configure"
+                          (("g\\+\\+ -v") "true"))
+                        #t)))
                    (_ identity))
                 (add-after 'install 'symlink-libgcc_eh
                   (lambda* (#:key outputs #:allow-other-keys)
-- 
2.19.0