[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/18: gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
From: |
guix-commits |
Subject: |
03/18: gnu: gcc-4.7: On powerpc64le, fix /lib64 references. |
Date: |
Wed, 24 Mar 2021 02:25:10 -0400 (EDT) |
marusich pushed a commit to branch master
in repository guix.
commit cac88b28b836e714b7b7e4c41b5e36a12df58925
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 | 38 +++++++++++++++++++++++++++++++-------
1 file changed, 31 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4d5aaa7..3ea8695 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -3,13 +3,14 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus
<rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner
<efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Efraim Flashner
<efraim@flashner.co.il>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; 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,14 @@ where the OS part is overloaded to denote a specific
ABI---into GCC
~a"
libc line))))
+ ;; TODO: Make this unconditional in core-updates.
+ ,@(if (target-powerpc?)
+ `((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\\[\\] =.*;")
@@ -598,12 +607,27 @@ 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
+ ;; TODO: Use the target-powerpc arm for everyone.
+ ,(if (target-powerpc?)
+ `(modify-phases %standard-phases
+ ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
+ (add-before 'chdir '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)))
+ `(alist-cons-before 'configure 'chdir
+ (lambda _
+ (chdir "libstdc++-v3")
+ #t)
+ %standard-phases))
+
#:configure-flags `("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
- branch master updated (dc68018 -> 65c46e7), guix-commits, 2021/03/24
- 01/18: gnu: bootstrap: Add support for powerpc64le-linux., guix-commits, 2021/03/24
- 05/18: gnu: gcc-boot0: Enable 128-bit long double for POWER9., guix-commits, 2021/03/24
- 08/18: gnu: bdb-4.8: Fix configure on powerpc64le-linux., guix-commits, 2021/03/24
- 09/18: gnu: guile-avahi: Fix compilation on powerpc64le-linux., guix-commits, 2021/03/24
- 02/18: utils: Add target-powerpc? procedure., guix-commits, 2021/03/24
- 10/18: gnu: texlive-bin: Fix compilation on powerpc64le*., guix-commits, 2021/03/24
- 11/18: gnu: texlive-latex-base: Fix compilation on powerpc64le*., guix-commits, 2021/03/24
- 13/18: Add powerpc64le-linux as a supported Guix architecture., guix-commits, 2021/03/24
- 18/18: gnu: sed: Make it build on SELinux-enabled kernels., guix-commits, 2021/03/24
- 03/18: gnu: gcc-4.7: On powerpc64le, fix /lib64 references.,
guix-commits <=
- 04/18: gnu: glibc: Fix ldd path on powerpc*., guix-commits, 2021/03/24
- 06/18: gnu: binutils-final: Provide bash for binary on powerpc-linux., guix-commits, 2021/03/24
- 07/18: gnu: binutils-final: Support more Power architectures., guix-commits, 2021/03/24
- 12/18: gnu: libelf: Fix compilation for powerpc64le-linux., guix-commits, 2021/03/24
- 15/18: syscalls: Fix RNDADDTOENTCNT on powerpc64le-linux., guix-commits, 2021/03/24
- 14/18: syscalls: Fix clone on powerpc64le-linux., guix-commits, 2021/03/24
- 16/18: ci: %cross-targets: Add powerpc64le-linux-gnu., guix-commits, 2021/03/24
- 17/18: utils: Fix target-64bit? on powerpc64le-linux., guix-commits, 2021/03/24