guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/23: gnu: gcc-4.7: On powerpc64le, fix /lib64 references.


From: guix-commits
Subject: 06/23: gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
Date: Thu, 11 Mar 2021 02:04:59 -0500 (EST)

marusich pushed a commit to branch wip-ppc64le
in repository guix.

commit 458022fb6973c5377bc50a96c9d957aab6124328
Author: Chris Marusich <cmmarusich@gmail.com>
AuthorDate: Sat Feb 6 16:29:40 2021 -0800

    gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
    
    Fixes: <https://bugs.gnu.org/46253>.
    
    * gnu/packages/gcc.scm (gcc-4.7)[#:phases][pre-configure]: When the
    gcc/config/rs6000 directory exists, replace "/lib64" with "/lib" in all 
files
    within it.  Note that this fix will be picked up by any package that re-uses
    the pre-configure phase from gcc-4.7 (e.g., all the usual gcc packages).
    (make-libstdc++)[#:phases][fix-rs6000-libdir]: New phase, which does the 
same
    as above.  It was necessary to duplicate the fix here because make-libstdc++
    does not re-use the pre-configure phase from gcc-4.7.
---
 gnu/packages/gcc.scm | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 9b2a555..1615be0 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
 ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
 ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -273,6 +274,11 @@ where the OS part is overloaded to denote a specific 
ABI---into GCC
 ~a"
                                libc line))))
 
+                  (when (file-exists? "gcc/config/rs6000")
+                    ;; Force powerpc libdir to be /lib and not /lib64
+                    (substitute* (find-files "gcc/config/rs6000")
+                      (("/lib64") "/lib")))
+
                   ;; Don't retain a dependency on the build-time sed.
                   (substitute* "fixincludes/fixincl.x"
                     (("static char const sed_cmd_z\\[\\] =.*;")
@@ -589,12 +595,19 @@ using compilers other than GCC."
     (name "libstdc++")
     (arguments
      `(#:out-of-source? #t
-       #:phases (alist-cons-before
-                 'configure 'chdir
-                 (lambda _
-                   (chdir "libstdc++-v3")
-                   #t)
-                 %standard-phases)
+       #:phases
+       (modify-phases %standard-phases
+         ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
+         (add-before 'configure 'fix-rs6000-libdir
+           (lambda _
+             (when (file-exists? "gcc/config/rs6000")
+               (substitute* (find-files "gcc/config/rs6000")
+                 (("/lib64") "/lib")))
+             #t))
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "libstdc++-v3")
+             #t)))
        #:configure-flags `("--disable-libstdcxx-pch"
                            ,(string-append "--with-gxx-include-dir="
                                            (assoc-ref %outputs "out")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]